Bug Summary

File:build-analysis/src/clients/lib/python/xmmsapi.c
Location:line 39195, column 115
Description:Value stored to '__pyx_filename' is never read

Annotated Source Code

1/* Generated by Cython 0.20.1post0 (Debian 0.20.1+git90-g0e6e38e-1ubuntu2) on Thu Mar 3 07:35:45 2016 */
2
3#define PY_SSIZE_T_CLEAN
4#ifndef CYTHON_USE_PYLONG_INTERNALS0
5#ifdef PYLONG_BITS_IN_DIGIT30
6#define CYTHON_USE_PYLONG_INTERNALS0 0
7#else
8#include "pyconfig.h"
9#ifdef PYLONG_BITS_IN_DIGIT30
10#define CYTHON_USE_PYLONG_INTERNALS0 1
11#else
12#define CYTHON_USE_PYLONG_INTERNALS0 0
13#endif
14#endif
15#endif
16#include "Python.h"
17#ifndef Py_PYTHON_H
18 #error Python headers needed to compile C extensions, please install development version of Python.
19#elif PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
< 0x02040000
20 #error Cython requires Python 2.4+.
21#else
22#define CYTHON_ABI"0_20_1post0" "0_20_1post0"
23#include <stddef.h> /* For offsetof */
24#ifndef offsetof
25#define offsetof(type, member)__builtin_offsetof(type, member) ( (size_t) & ((type*)0) -> member )
26#endif
27#if !defined(WIN32) && !defined(MS_WINDOWS)
28 #ifndef __stdcall
29 #define __stdcall
30 #endif
31 #ifndef __cdecl
32 #define __cdecl
33 #endif
34 #ifndef __fastcall
35 #define __fastcall
36 #endif
37#endif
38#ifndef DL_IMPORT
39 #define DL_IMPORT(t)t t
40#endif
41#ifndef DL_EXPORT
42 #define DL_EXPORT(t)t t
43#endif
44#ifndef PY_LONG_LONGlong long
45 #define PY_LONG_LONGlong long LONG_LONG
46#endif
47#ifndef Py_HUGE_VAL(__builtin_huge_val())
48 #define Py_HUGE_VAL(__builtin_huge_val()) HUGE_VAL(__builtin_huge_val())
49#endif
50#ifdef PYPY_VERSION
51#define CYTHON_COMPILING_IN_PYPY0 1
52#define CYTHON_COMPILING_IN_CPYTHON1 0
53#else
54#define CYTHON_COMPILING_IN_PYPY0 0
55#define CYTHON_COMPILING_IN_CPYTHON1 1
56#endif
57#if CYTHON_COMPILING_IN_PYPY0
58#define Py_OptimizeFlag 0
59#endif
60#if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
< 0x02050000
61 typedef int Py_ssize_t;
62 #define PY_SSIZE_T_MAX((Py_ssize_t)(((size_t)-1)>>1)) INT_MAX2147483647
63 #define PY_SSIZE_T_MIN(-((Py_ssize_t)(((size_t)-1)>>1))-1) INT_MIN(-2147483647 -1)
64 #define PY_FORMAT_SIZE_T"z" ""
65 #define CYTHON_FORMAT_SSIZE_T"z" ""
66 #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
67 #define PyInt_AsSsize_t(o) __Pyx_PyInt_As_int(o)
68 #define PyNumber_Index(o) ((PyNumber_Check(o) && !PyFloat_Check(o)((((PyObject*)(o))->ob_type) == (&PyFloat_Type) || PyType_IsSubtype
((((PyObject*)(o))->ob_type), (&PyFloat_Type)))
) ? PyNumber_Int(o) : \
69 (PyErr_Format(PyExc_TypeError, \
70 "expected index value, got %.200s", Py_TYPE(o)(((PyObject*)(o))->ob_type)->tp_name), \
71 (PyObject*)0))
72 #define __Pyx_PyIndex_Check(o)((o)->ob_type->tp_as_number != ((void*)0) && ((
((o)->ob_type)->tp_flags & ((1L<<17))) != 0) &&
(o)->ob_type->tp_as_number->nb_index != ((void*)0))
(PyNumber_Check(o) && !PyFloat_Check(o)((((PyObject*)(o))->ob_type) == (&PyFloat_Type) || PyType_IsSubtype
((((PyObject*)(o))->ob_type), (&PyFloat_Type)))
&& \
73 !PyComplex_Check(o)((((PyObject*)(o))->ob_type) == (&PyComplex_Type) || PyType_IsSubtype
((((PyObject*)(o))->ob_type), (&PyComplex_Type)))
)
74 #define PyIndex_Check __Pyx_PyIndex_CheckPyIndex_Check
75 #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)PyErr_WarnEx(category, message, 1)
76 #define __PYX_BUILD_PY_SSIZE_T"n" "i"
77#else
78 #define __PYX_BUILD_PY_SSIZE_T"n" "n"
79 #define CYTHON_FORMAT_SSIZE_T"z" "z"
80 #define __Pyx_PyIndex_CheckPyIndex_Check PyIndex_Check
81#endif
82#if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
< 0x02060000
83 #define Py_REFCNT(ob)(((PyObject*)(ob))->ob_refcnt) (((PyObject*)(ob))->ob_refcnt)
84 #define Py_TYPE(ob)(((PyObject*)(ob))->ob_type) (((PyObject*)(ob))->ob_type)
85 #define Py_SIZE(ob)(((PyVarObject*)(ob))->ob_size) (((PyVarObject*)(ob))->ob_size)
86 #define PyVarObject_HEAD_INIT(type, size)1, type, size, \
87 PyObject_HEAD_INIT(type)1, type, size,
88 #define PyType_Modified(t)
89 typedef struct {
90 void *buf;
91 PyObject *obj;
92 Py_ssize_t len;
93 Py_ssize_t itemsize;
94 int readonly;
95 int ndim;
96 char *format;
97 Py_ssize_t *shape;
98 Py_ssize_t *strides;
99 Py_ssize_t *suboffsets;
100 void *internal;
101 } Py_buffer;
102 #define PyBUF_SIMPLE0 0
103 #define PyBUF_WRITABLE0x0001 0x0001
104 #define PyBUF_FORMAT0x0004 0x0004
105 #define PyBUF_ND0x0008 0x0008
106 #define PyBUF_STRIDES(0x0010 | 0x0008) (0x0010 | PyBUF_ND0x0008)
107 #define PyBUF_C_CONTIGUOUS(0x0020 | (0x0010 | 0x0008)) (0x0020 | PyBUF_STRIDES(0x0010 | 0x0008))
108 #define PyBUF_F_CONTIGUOUS(0x0040 | (0x0010 | 0x0008)) (0x0040 | PyBUF_STRIDES(0x0010 | 0x0008))
109 #define PyBUF_ANY_CONTIGUOUS(0x0080 | (0x0010 | 0x0008)) (0x0080 | PyBUF_STRIDES(0x0010 | 0x0008))
110 #define PyBUF_INDIRECT(0x0100 | (0x0010 | 0x0008)) (0x0100 | PyBUF_STRIDES(0x0010 | 0x0008))
111 #define PyBUF_RECORDS((0x0010 | 0x0008) | 0x0001 | 0x0004) (PyBUF_STRIDES(0x0010 | 0x0008) | PyBUF_FORMAT0x0004 | PyBUF_WRITABLE0x0001)
112 #define PyBUF_FULL((0x0100 | (0x0010 | 0x0008)) | 0x0001 | 0x0004) (PyBUF_INDIRECT(0x0100 | (0x0010 | 0x0008)) | PyBUF_FORMAT0x0004 | PyBUF_WRITABLE0x0001)
113 typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
114 typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
115#endif
116#if PY_MAJOR_VERSION2 < 3
117 #define __Pyx_BUILTIN_MODULE_NAME"__builtin__" "__builtin__"
118 #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline
, lnos)
\
119 PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
120 #define __Pyx_DefaultClassTypePyClass_Type PyClass_Type
121#else
122 #define __Pyx_BUILTIN_MODULE_NAME"__builtin__" "builtins"
123 #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline
, lnos)
\
124 PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
125 #define __Pyx_DefaultClassTypePyClass_Type PyType_Type
126#endif
127#if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
< 0x02060000
128 #define PyUnicode_FromStringPyUnicodeUCS4_FromString(s) PyUnicode_DecodePyUnicodeUCS4_Decode(s, strlen(s), "UTF-8", "strict")
129#endif
130#if PY_MAJOR_VERSION2 >= 3
131 #define Py_TPFLAGS_CHECKTYPES(1L<<4) 0
132 #define Py_TPFLAGS_HAVE_INDEX(1L<<17) 0
133#endif
134#if (PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
< 0x02060000) || (PY_MAJOR_VERSION2 >= 3)
135 #define Py_TPFLAGS_HAVE_NEWBUFFER(1L<<21) 0
136#endif
137#if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
< 0x02060000
138 #define Py_TPFLAGS_HAVE_VERSION_TAG(1L<<18) 0
139#endif
140#if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
< 0x02060000 && !defined(Py_TPFLAGS_IS_ABSTRACT(1L<<20))
141 #define Py_TPFLAGS_IS_ABSTRACT(1L<<20) 0
142#endif
143#if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
< 0x030400a1 && !defined(Py_TPFLAGS_HAVE_FINALIZE0)
144 #define Py_TPFLAGS_HAVE_FINALIZE0 0
145#endif
146#if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
> 0x03030000 && defined(PyUnicode_KIND)
147 #define CYTHON_PEP393_ENABLED0 1
148 #define __Pyx_PyUnicode_READY(op)(0) (likely(PyUnicode_IS_READY(op))__builtin_expect(!!(PyUnicode_IS_READY(op)), 1) ? \
149 0 : _PyUnicode_Ready((PyObject *)(op)))
150 #define __Pyx_PyUnicode_GET_LENGTH(u)(((PyUnicodeObject *)(u))->length) PyUnicode_GET_LENGTH(u)
151 #define __Pyx_PyUnicode_READ_CHAR(u, i)((Py_UCS4)((((PyUnicodeObject *)(u))->str)[i])) PyUnicode_READ_CHAR(u, i)
152 #define __Pyx_PyUnicode_KIND(u)(sizeof(Py_UNICODE)) PyUnicode_KIND(u)
153 #define __Pyx_PyUnicode_DATA(u)((void*)(((PyUnicodeObject *)(u))->str)) PyUnicode_DATA(u)
154 #define __Pyx_PyUnicode_READ(k, d, i)((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) PyUnicode_READ(k, d, i)
155#else
156 #define CYTHON_PEP393_ENABLED0 0
157 #define __Pyx_PyUnicode_READY(op)(0) (0)
158 #define __Pyx_PyUnicode_GET_LENGTH(u)(((PyUnicodeObject *)(u))->length) PyUnicode_GET_SIZE(u)(((PyUnicodeObject *)(u))->length)
159 #define __Pyx_PyUnicode_READ_CHAR(u, i)((Py_UCS4)((((PyUnicodeObject *)(u))->str)[i])) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)(((PyUnicodeObject *)(u))->str)[i]))
160 #define __Pyx_PyUnicode_KIND(u)(sizeof(Py_UNICODE)) (sizeof(Py_UNICODE))
161 #define __Pyx_PyUnicode_DATA(u)((void*)(((PyUnicodeObject *)(u))->str)) ((void*)PyUnicode_AS_UNICODE(u)(((PyUnicodeObject *)(u))->str))
162 #define __Pyx_PyUnicode_READ(k, d, i)((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
163#endif
164#if CYTHON_COMPILING_IN_PYPY0
165 #define __Pyx_PyUnicode_Concat(a, b)PyUnicodeUCS4_Concat(a, b) PyNumber_Add(a, b)
166 #define __Pyx_PyUnicode_ConcatSafe(a, b)((__builtin_expect(!!((a) == (&_Py_NoneStruct)), 0) || __builtin_expect
(!!((b) == (&_Py_NoneStruct)), 0)) ? PyNumber_Add(a, b) :
PyUnicodeUCS4_Concat(a, b))
PyNumber_Add(a, b)
167#else
168 #define __Pyx_PyUnicode_Concat(a, b)PyUnicodeUCS4_Concat(a, b) PyUnicode_ConcatPyUnicodeUCS4_Concat(a, b)
169 #define __Pyx_PyUnicode_ConcatSafe(a, b)((__builtin_expect(!!((a) == (&_Py_NoneStruct)), 0) || __builtin_expect
(!!((b) == (&_Py_NoneStruct)), 0)) ? PyNumber_Add(a, b) :
PyUnicodeUCS4_Concat(a, b))
((unlikely((a) == Py_None)__builtin_expect(!!((a) == (&_Py_NoneStruct)), 0) || unlikely((b) == Py_None)__builtin_expect(!!((b) == (&_Py_NoneStruct)), 0)) ? \
170 PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)PyUnicodeUCS4_Concat(a, b))
171#endif
172#define __Pyx_PyString_FormatSafe(a, b)((__builtin_expect(!!((a) == (&_Py_NoneStruct)), 0)) ? PyNumber_Remainder
(a, b) : PyString_Format(a, b))
((unlikely((a) == Py_None)__builtin_expect(!!((a) == (&_Py_NoneStruct)), 0)) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)PyString_Format(a, b))
173#define __Pyx_PyUnicode_FormatSafe(a, b)((__builtin_expect(!!((a) == (&_Py_NoneStruct)), 0)) ? PyNumber_Remainder
(a, b) : PyUnicodeUCS4_Format(a, b))
((unlikely((a) == Py_None)__builtin_expect(!!((a) == (&_Py_NoneStruct)), 0)) ? PyNumber_Remainder(a, b) : PyUnicode_FormatPyUnicodeUCS4_Format(a, b))
174#if PY_MAJOR_VERSION2 >= 3
175 #define __Pyx_PyString_Format(a, b)PyString_Format(a, b) PyUnicode_FormatPyUnicodeUCS4_Format(a, b)
176#else
177 #define __Pyx_PyString_Format(a, b)PyString_Format(a, b) PyString_Format(a, b)
178#endif
179#if PY_MAJOR_VERSION2 >= 3
180 #define PyBaseString_Type PyUnicode_Type
181 #define PyStringObject PyUnicodeObject
182 #define PyString_Type PyUnicode_Type
183 #define PyString_Check PyUnicode_Check
184 #define PyString_CheckExact PyUnicode_CheckExact
185#endif
186#if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
< 0x02060000
187 #define PyBytesObjectPyStringObject PyStringObject
188 #define PyBytes_TypePyString_Type PyString_Type
189 #define PyBytes_CheckPyString_Check PyString_Check
190 #define PyBytes_CheckExactPyString_CheckExact PyString_CheckExact
191 #define PyBytes_FromStringPyString_FromString PyString_FromString
192 #define PyBytes_FromStringAndSizePyString_FromStringAndSize PyString_FromStringAndSize
193 #define PyBytes_FromFormatPyString_FromFormat PyString_FromFormat
194 #define PyBytes_DecodeEscapePyString_DecodeEscape PyString_DecodeEscape
195 #define PyBytes_AsStringPyString_AsString PyString_AsString
196 #define PyBytes_AsStringAndSizePyString_AsStringAndSize PyString_AsStringAndSize
197 #define PyBytes_SizePyString_Size PyString_Size
198 #define PyBytes_AS_STRINGPyString_AS_STRING PyString_AS_STRING
199 #define PyBytes_GET_SIZEPyString_GET_SIZE PyString_GET_SIZE
200 #define PyBytes_ReprPyString_Repr PyString_Repr
201 #define PyBytes_ConcatPyString_Concat PyString_Concat
202 #define PyBytes_ConcatAndDelPyString_ConcatAndDel PyString_ConcatAndDel
203#endif
204#if PY_MAJOR_VERSION2 >= 3
205 #define __Pyx_PyBaseString_Check(obj)(((((PyObject*)(obj))->ob_type) == &PyString_Type) || (
(((PyObject*)(obj))->ob_type) == &PyUnicode_Type) || (
(((((PyObject*)(obj))->ob_type))->tp_flags & ((1L<<
27))) != 0) || ((((((PyObject*)(obj))->ob_type))->tp_flags
& ((1L<<28))) != 0))
PyUnicode_Check(obj)((((((PyObject*)(obj))->ob_type))->tp_flags & ((1L<<
28))) != 0)
206 #define __Pyx_PyBaseString_CheckExact(obj)(((((PyObject*)(obj))->ob_type) == &PyString_Type) || (
(((PyObject*)(obj))->ob_type) == &PyUnicode_Type))
PyUnicode_CheckExact(obj)((((PyObject*)(obj))->ob_type) == &PyUnicode_Type)
207#else
208 #define __Pyx_PyBaseString_Check(obj)(((((PyObject*)(obj))->ob_type) == &PyString_Type) || (
(((PyObject*)(obj))->ob_type) == &PyUnicode_Type) || (
(((((PyObject*)(obj))->ob_type))->tp_flags & ((1L<<
27))) != 0) || ((((((PyObject*)(obj))->ob_type))->tp_flags
& ((1L<<28))) != 0))
(PyString_CheckExact(obj)((((PyObject*)(obj))->ob_type) == &PyString_Type) || PyUnicode_CheckExact(obj)((((PyObject*)(obj))->ob_type) == &PyUnicode_Type) || \
209 PyString_Check(obj)((((((PyObject*)(obj))->ob_type))->tp_flags & ((1L<<
27))) != 0)
|| PyUnicode_Check(obj)((((((PyObject*)(obj))->ob_type))->tp_flags & ((1L<<
28))) != 0)
)
210 #define __Pyx_PyBaseString_CheckExact(obj)(((((PyObject*)(obj))->ob_type) == &PyString_Type) || (
(((PyObject*)(obj))->ob_type) == &PyUnicode_Type))
(PyString_CheckExact(obj)((((PyObject*)(obj))->ob_type) == &PyString_Type) || PyUnicode_CheckExact(obj)((((PyObject*)(obj))->ob_type) == &PyUnicode_Type))
211#endif
212#if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
< 0x02060000
213 #define PySet_Check(obj)((((PyObject*)(obj))->ob_type) == &PySet_Type || PyType_IsSubtype
((((PyObject*)(obj))->ob_type), &PySet_Type))
PyObject_TypeCheck(obj, &PySet_Type)((((PyObject*)(obj))->ob_type) == (&PySet_Type) || PyType_IsSubtype
((((PyObject*)(obj))->ob_type), (&PySet_Type)))
214 #define PyFrozenSet_Check(obj)((((PyObject*)(obj))->ob_type) == &PyFrozenSet_Type ||
PyType_IsSubtype((((PyObject*)(obj))->ob_type), &PyFrozenSet_Type
))
PyObject_TypeCheck(obj, &PyFrozenSet_Type)((((PyObject*)(obj))->ob_type) == (&PyFrozenSet_Type) ||
PyType_IsSubtype((((PyObject*)(obj))->ob_type), (&PyFrozenSet_Type
)))
215#endif
216#ifndef PySet_CheckExact
217 #define PySet_CheckExact(obj)((((PyObject*)(obj))->ob_type) == &PySet_Type) (Py_TYPE(obj)(((PyObject*)(obj))->ob_type) == &PySet_Type)
218#endif
219#define __Pyx_TypeCheck(obj, type)((((PyObject*)(obj))->ob_type) == ((PyTypeObject *)type) ||
PyType_IsSubtype((((PyObject*)(obj))->ob_type), ((PyTypeObject
*)type)))
PyObject_TypeCheck(obj, (PyTypeObject *)type)((((PyObject*)(obj))->ob_type) == ((PyTypeObject *)type) ||
PyType_IsSubtype((((PyObject*)(obj))->ob_type), ((PyTypeObject
*)type)))
220#if PY_MAJOR_VERSION2 >= 3
221 #define PyIntObject PyLongObject
222 #define PyInt_Type PyLong_Type
223 #define PyInt_Check(op)((((op)->ob_type)->tp_flags & ((1L<<23))) != 0
)
PyLong_Check(op)((((((PyObject*)(op))->ob_type))->tp_flags & ((1L<<
24))) != 0)
224 #define PyInt_CheckExact(op)((op)->ob_type == &PyInt_Type) PyLong_CheckExact(op)((((PyObject*)(op))->ob_type) == &PyLong_Type)
225 #define PyInt_FromString PyLong_FromString
226 #define PyInt_FromUnicode PyLong_FromUnicode
227 #define PyInt_FromLong PyLong_FromLong
228 #define PyInt_FromSize_t PyLong_FromSize_t
229 #define PyInt_FromSsize_t PyLong_FromSsize_t
230 #define PyInt_AsLong PyLong_AsLong
231 #define PyInt_AS_LONG PyLong_AS_LONG
232 #define PyInt_AsSsize_t PyLong_AsSsize_t
233 #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask
234 #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
235 #define PyNumber_Int PyNumber_Long
236#endif
237#if PY_MAJOR_VERSION2 >= 3
238 #define PyBoolObject PyLongObject
239#endif
240#if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
< 0x030200A4
241 typedef long Py_hash_t;
242 #define __Pyx_PyInt_FromHash_tPyInt_FromLong PyInt_FromLong
243 #define __Pyx_PyInt_AsHash_tPyInt_AsLong PyInt_AsLong
244#else
245 #define __Pyx_PyInt_FromHash_tPyInt_FromLong PyInt_FromSsize_t
246 #define __Pyx_PyInt_AsHash_tPyInt_AsLong PyInt_AsSsize_t
247#endif
248#if (PY_MAJOR_VERSION2 < 3) || (PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x03010300)
249 #define __Pyx_PySequence_GetSlice(obj, a, b)PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
250 #define __Pyx_PySequence_SetSlice(obj, a, b, value)PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
251 #define __Pyx_PySequence_DelSlice(obj, a, b)PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
252#else
253 #define __Pyx_PySequence_GetSlice(obj, a, b)PySequence_GetSlice(obj, a, b) (unlikely(!(obj))__builtin_expect(!!(!(obj)), 0) ? \
254 (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
255 (likely((obj)->ob_type->tp_as_mapping)__builtin_expect(!!((obj)->ob_type->tp_as_mapping), 1) ? (PySequence_GetSlice(obj, a, b)) : \
256 (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
257 #define __Pyx_PySequence_SetSlice(obj, a, b, value)PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj))__builtin_expect(!!(!(obj)), 0) ? \
258 (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
259 (likely((obj)->ob_type->tp_as_mapping)__builtin_expect(!!((obj)->ob_type->tp_as_mapping), 1) ? (PySequence_SetSlice(obj, a, b, value)) : \
260 (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
261 #define __Pyx_PySequence_DelSlice(obj, a, b)PySequence_DelSlice(obj, a, b) (unlikely(!(obj))__builtin_expect(!!(!(obj)), 0) ? \
262 (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
263 (likely((obj)->ob_type->tp_as_mapping)__builtin_expect(!!((obj)->ob_type->tp_as_mapping), 1) ? (PySequence_DelSlice(obj, a, b)) : \
264 (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
265#endif
266#if PY_MAJOR_VERSION2 >= 3
267 #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
268#endif
269#if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
< 0x02050000
270 #define __Pyx_GetAttrString(o,n)PyObject_GetAttrString((o),(n)) PyObject_GetAttrString((o),((char *)(n)))
271 #define __Pyx_SetAttrString(o,n,a)PyObject_SetAttrString((o),(n),(a)) PyObject_SetAttrString((o),((char *)(n)),(a))
272 #define __Pyx_DelAttrString(o,n)PyObject_SetAttrString(((o)),((n)),((void*)0)) PyObject_DelAttrString((o),((char *)(n)))PyObject_SetAttrString(((o)),(((char *)(n))),((void*)0))
273#else
274 #define __Pyx_GetAttrString(o,n)PyObject_GetAttrString((o),(n)) PyObject_GetAttrString((o),(n))
275 #define __Pyx_SetAttrString(o,n,a)PyObject_SetAttrString((o),(n),(a)) PyObject_SetAttrString((o),(n),(a))
276 #define __Pyx_DelAttrString(o,n)PyObject_SetAttrString(((o)),((n)),((void*)0)) PyObject_DelAttrString((o),(n))PyObject_SetAttrString(((o)),((n)),((void*)0))
277#endif
278#if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
< 0x02050000
279 #define __Pyx_NAMESTR(n)(n) ((char *)(n))
280 #define __Pyx_DOCSTR(n)(n) ((char *)(n))
281#else
282 #define __Pyx_NAMESTR(n)(n) (n)
283 #define __Pyx_DOCSTR(n)(n) (n)
284#endif
285#ifndef CYTHON_INLINE__inline__
286 #if defined(__GNUC__4)
287 #define CYTHON_INLINE__inline__ __inline__
288 #elif defined(_MSC_VER)
289 #define CYTHON_INLINE__inline__ __inline
290 #elif defined (__STDC_VERSION__201112L) && __STDC_VERSION__201112L >= 199901L
291 #define CYTHON_INLINE__inline__ inline
292 #else
293 #define CYTHON_INLINE__inline__
294 #endif
295#endif
296#ifndef CYTHON_RESTRICT__restrict__
297 #if defined(__GNUC__4)
298 #define CYTHON_RESTRICT__restrict__ __restrict__
299 #elif defined(_MSC_VER) && _MSC_VER >= 1400
300 #define CYTHON_RESTRICT__restrict__ __restrict
301 #elif defined (__STDC_VERSION__201112L) && __STDC_VERSION__201112L >= 199901L
302 #define CYTHON_RESTRICT__restrict__ restrict
303 #else
304 #define CYTHON_RESTRICT__restrict__
305 #endif
306#endif
307#ifdef NAN(__builtin_nanf (""))
308#define __PYX_NAN()((float) (__builtin_nanf (""))) ((float) NAN(__builtin_nanf ("")))
309#else
310static CYTHON_INLINE__inline__ float __PYX_NAN()((float) (__builtin_nanf (""))) {
311 /* Initialize NaN. The sign is irrelevant, an exponent with all bits 1 and
312 a nonzero mantissa means NaN. If the first bit in the mantissa is 1, it is
313 a quiet NaN. */
314 float value;
315 memset(&value, 0xFF, sizeof(value));
316 return value;
317}
318#endif
319#ifdef __cplusplus
320template<typename T>
321void __Pyx_call_destructor(T* x) {
322 x->~T();
323}
324#endif
325
326
327#if PY_MAJOR_VERSION2 >= 3
328 #define __Pyx_PyNumber_Divide(x,y)PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y)
329 #define __Pyx_PyNumber_InPlaceDivide(x,y)PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y)
330#else
331 #define __Pyx_PyNumber_Divide(x,y)PyNumber_Divide(x,y) PyNumber_Divide(x,y)
332 #define __Pyx_PyNumber_InPlaceDivide(x,y)PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y)
333#endif
334
335#ifndef __PYX_EXTERN_Cextern
336 #ifdef __cplusplus
337 #define __PYX_EXTERN_Cextern extern "C"
338 #else
339 #define __PYX_EXTERN_Cextern extern
340 #endif
341#endif
342
343#if defined(WIN32) || defined(MS_WINDOWS)
344#define _USE_MATH_DEFINES
345#endif
346#include <math.h>
347#define __PYX_HAVE__xmmsapi
348#define __PYX_HAVE_API__xmmsapi
349#include "xmmsc/xmmsv.h"
350#include "stdint.h"
351#include "xmmsc/xmmsc_idnumbers.h"
352#include "xmmsc/xmmsv_c2c.h"
353#include "xmmsc/xmmsv_service.h"
354#include "xmmsclient/xmmsclient.h"
355#include "xmmsc/xmmsc_util.h"
356#include "xmmsc/xmmsc_visualization.h"
357#include "string.h"
358#ifdef _OPENMP
359#include <omp.h>
360#endif /* _OPENMP */
361
362#ifdef PYREX_WITHOUT_ASSERTIONS
363#define CYTHON_WITHOUT_ASSERTIONS
364#endif
365
366#ifndef CYTHON_UNUSED__attribute__ ((__unused__))
367# if defined(__GNUC__4)
368# if !(defined(__cplusplus)) || (__GNUC__4 > 3 || (__GNUC__4 == 3 && __GNUC_MINOR__2 >= 4))
369# define CYTHON_UNUSED__attribute__ ((__unused__)) __attribute__ ((__unused__))
370# else
371# define CYTHON_UNUSED__attribute__ ((__unused__))
372# endif
373# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
374# define CYTHON_UNUSED__attribute__ ((__unused__)) __attribute__ ((__unused__))
375# else
376# define CYTHON_UNUSED__attribute__ ((__unused__))
377# endif
378#endif
379typedef struct {PyObject **p; char *s; const Py_ssize_t n; const char* encoding;
380 const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/
381
382#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII0 0
383#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT0 0
384#define __PYX_DEFAULT_STRING_ENCODING"" ""
385#define __Pyx_PyObject_FromStringPyString_FromString __Pyx_PyBytes_FromStringPyString_FromString
386#define __Pyx_PyObject_FromStringAndSizePyString_FromStringAndSize __Pyx_PyBytes_FromStringAndSizePyString_FromStringAndSize
387#define __Pyx_fits_Py_ssize_t(v, type, is_signed)( (sizeof(type) < sizeof(Py_ssize_t)) || (sizeof(type) >
sizeof(Py_ssize_t) && __builtin_expect(!!(v < (type
)((Py_ssize_t)(((size_t)-1)>>1)) || v == (type)((Py_ssize_t
)(((size_t)-1)>>1))), 1) && (!is_signed || __builtin_expect
(!!(v > (type)(-((Py_ssize_t)(((size_t)-1)>>1))-1) ||
v == (type)(-((Py_ssize_t)(((size_t)-1)>>1))-1)), 1)))
|| (sizeof(type) == sizeof(Py_ssize_t) && (is_signed
|| __builtin_expect(!!(v < (type)((Py_ssize_t)(((size_t)-
1)>>1)) || v == (type)((Py_ssize_t)(((size_t)-1)>>
1))), 1))) )
( \
388 (sizeof(type) < sizeof(Py_ssize_t)) || \
389 (sizeof(type) > sizeof(Py_ssize_t) && \
390 likely(v < (type)PY_SSIZE_T_MAX || \__builtin_expect(!!(v < (type)((Py_ssize_t)(((size_t)-1)>>
1)) || v == (type)((Py_ssize_t)(((size_t)-1)>>1))), 1)
391 v == (type)PY_SSIZE_T_MAX)__builtin_expect(!!(v < (type)((Py_ssize_t)(((size_t)-1)>>
1)) || v == (type)((Py_ssize_t)(((size_t)-1)>>1))), 1)
&& \
392 (!is_signed || likely(v > (type)PY_SSIZE_T_MIN || \__builtin_expect(!!(v > (type)(-((Py_ssize_t)(((size_t)-1)
>>1))-1) || v == (type)(-((Py_ssize_t)(((size_t)-1)>>
1))-1)), 1)
393 v == (type)PY_SSIZE_T_MIN)__builtin_expect(!!(v > (type)(-((Py_ssize_t)(((size_t)-1)
>>1))-1) || v == (type)(-((Py_ssize_t)(((size_t)-1)>>
1))-1)), 1)
)) || \
394 (sizeof(type) == sizeof(Py_ssize_t) && \
395 (is_signed || likely(v < (type)PY_SSIZE_T_MAX || \__builtin_expect(!!(v < (type)((Py_ssize_t)(((size_t)-1)>>
1)) || v == (type)((Py_ssize_t)(((size_t)-1)>>1))), 1)
396 v == (type)PY_SSIZE_T_MAX)__builtin_expect(!!(v < (type)((Py_ssize_t)(((size_t)-1)>>
1)) || v == (type)((Py_ssize_t)(((size_t)-1)>>1))), 1)
)) )
397static CYTHON_INLINE__inline__ char* __Pyx_PyObject_AsString(PyObject*);
398static CYTHON_INLINE__inline__ char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
399#define __Pyx_PyByteArray_FromString(s)PyByteArray_FromStringAndSize((const char*)s, strlen((const char
*)s))
PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
400#define __Pyx_PyByteArray_FromStringAndSize(s, l)PyByteArray_FromStringAndSize((const char*)s, l) PyByteArray_FromStringAndSize((const char*)s, l)
401#define __Pyx_PyBytes_FromStringPyString_FromString PyBytes_FromStringPyString_FromString
402#define __Pyx_PyBytes_FromStringAndSizePyString_FromStringAndSize PyBytes_FromStringAndSizePyString_FromStringAndSize
403static CYTHON_INLINE__inline__ PyObject* __Pyx_PyUnicode_FromString(const char*);
404#if PY_MAJOR_VERSION2 < 3
405 #define __Pyx_PyStr_FromStringPyString_FromString __Pyx_PyBytes_FromStringPyString_FromString
406 #define __Pyx_PyStr_FromStringAndSizePyString_FromStringAndSize __Pyx_PyBytes_FromStringAndSizePyString_FromStringAndSize
407#else
408 #define __Pyx_PyStr_FromStringPyString_FromString __Pyx_PyUnicode_FromString
409 #define __Pyx_PyStr_FromStringAndSizePyString_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
410#endif
411#define __Pyx_PyObject_AsSString(s)((signed char*) __Pyx_PyObject_AsString(s)) ((signed char*) __Pyx_PyObject_AsString(s))
412#define __Pyx_PyObject_AsUString(s)((unsigned char*) __Pyx_PyObject_AsString(s)) ((unsigned char*) __Pyx_PyObject_AsString(s))
413#define __Pyx_PyObject_FromUString(s)PyString_FromString((const char*)s) __Pyx_PyObject_FromStringPyString_FromString((const char*)s)
414#define __Pyx_PyBytes_FromUString(s)PyString_FromString((const char*)s) __Pyx_PyBytes_FromStringPyString_FromString((const char*)s)
415#define __Pyx_PyByteArray_FromUString(s)PyByteArray_FromStringAndSize((const char*)(const char*)s, strlen
((const char*)(const char*)s))
__Pyx_PyByteArray_FromString((const char*)s)PyByteArray_FromStringAndSize((const char*)(const char*)s, strlen
((const char*)(const char*)s))
416#define __Pyx_PyStr_FromUString(s)PyString_FromString((const char*)s) __Pyx_PyStr_FromStringPyString_FromString((const char*)s)
417#define __Pyx_PyUnicode_FromUString(s)__Pyx_PyUnicode_FromString((const char*)s) __Pyx_PyUnicode_FromString((const char*)s)
418#if PY_MAJOR_VERSION2 < 3
419static CYTHON_INLINE__inline__ size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u)
420{
421 const Py_UNICODE *u_end = u;
422 while (*u_end++) ;
423 return u_end - u - 1;
424}
425#else
426#define __Pyx_Py_UNICODE_strlen Py_UNICODE_strlen
427#endif
428#define __Pyx_PyUnicode_FromUnicode(u)PyUnicodeUCS4_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u)) PyUnicode_FromUnicodePyUnicodeUCS4_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u))
429#define __Pyx_PyUnicode_FromUnicodeAndLengthPyUnicodeUCS4_FromUnicode PyUnicode_FromUnicodePyUnicodeUCS4_FromUnicode
430#define __Pyx_PyUnicode_AsUnicodePyUnicodeUCS4_AsUnicode PyUnicode_AsUnicodePyUnicodeUCS4_AsUnicode
431#define __Pyx_Owned_Py_None(b)(( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++), (&
_Py_NoneStruct))
(Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++), Py_None(&_Py_NoneStruct))
432#define __Pyx_PyBool_FromLong(b)((b) ? (( ((PyObject*)(((PyObject *) &_Py_TrueStruct)))->
ob_refcnt++), ((PyObject *) &_Py_TrueStruct)) : (( ((PyObject
*)(((PyObject *) &_Py_ZeroStruct)))->ob_refcnt++), ((PyObject
*) &_Py_ZeroStruct)))
((b) ? (Py_INCREF(Py_True)( ((PyObject*)(((PyObject *) &_Py_TrueStruct)))->ob_refcnt
++)
, Py_True((PyObject *) &_Py_TrueStruct)) : (Py_INCREF(Py_False)( ((PyObject*)(((PyObject *) &_Py_ZeroStruct)))->ob_refcnt
++)
, Py_False((PyObject *) &_Py_ZeroStruct)))
433static CYTHON_INLINE__inline__ int __Pyx_PyObject_IsTrue(PyObject*);
434static CYTHON_INLINE__inline__ PyObject* __Pyx_PyNumber_Int(PyObject* x);
435static CYTHON_INLINE__inline__ Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
436static CYTHON_INLINE__inline__ PyObject * __Pyx_PyInt_FromSize_t(size_t);
437#if CYTHON_COMPILING_IN_CPYTHON1
438#define __pyx_PyFloat_AsDouble(x)(((((PyObject*)(x))->ob_type) == &PyFloat_Type) ? (((PyFloatObject
*)(x))->ob_fval) : PyFloat_AsDouble(x))
(PyFloat_CheckExact(x)((((PyObject*)(x))->ob_type) == &PyFloat_Type) ? PyFloat_AS_DOUBLE(x)(((PyFloatObject *)(x))->ob_fval) : PyFloat_AsDouble(x))
439#else
440#define __pyx_PyFloat_AsDouble(x)(((((PyObject*)(x))->ob_type) == &PyFloat_Type) ? (((PyFloatObject
*)(x))->ob_fval) : PyFloat_AsDouble(x))
PyFloat_AsDouble(x)
441#endif
442#define __pyx_PyFloat_AsFloat(x)((float) (((((PyObject*)(x))->ob_type) == &PyFloat_Type
) ? (((PyFloatObject *)(x))->ob_fval) : PyFloat_AsDouble(x
)))
((float) __pyx_PyFloat_AsDouble(x)(((((PyObject*)(x))->ob_type) == &PyFloat_Type) ? (((PyFloatObject
*)(x))->ob_fval) : PyFloat_AsDouble(x))
)
443#if PY_MAJOR_VERSION2 < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII0
444static int __Pyx_sys_getdefaultencoding_not_ascii;
445static int __Pyx_init_sys_getdefaultencoding_params(void) {
446 PyObject* sys = NULL((void*)0);
447 PyObject* default_encoding = NULL((void*)0);
448 PyObject* ascii_chars_u = NULL((void*)0);
449 PyObject* ascii_chars_b = NULL((void*)0);
450 sys = PyImport_ImportModule("sys");
451 if (sys == NULL((void*)0)) goto bad;
452 default_encoding = PyObject_CallMethod_PyObject_CallMethod_SizeT(sys, (char*) (const char*) "getdefaultencoding", NULL((void*)0));
453 if (default_encoding == NULL((void*)0)) goto bad;
454 if (strcmp(PyBytes_AsStringPyString_AsString(default_encoding), "ascii") == 0) {
455 __Pyx_sys_getdefaultencoding_not_ascii = 0;
456 } else {
457 const char* default_encoding_c = PyBytes_AS_STRING(default_encoding)(((PyStringObject *)(default_encoding))->ob_sval);
458 char ascii_chars[128];
459 int c;
460 for (c = 0; c < 128; c++) {
461 ascii_chars[c] = c;
462 }
463 __Pyx_sys_getdefaultencoding_not_ascii = 1;
464 ascii_chars_u = PyUnicode_DecodeASCIIPyUnicodeUCS4_DecodeASCII(ascii_chars, 128, NULL((void*)0));
465 if (ascii_chars_u == NULL((void*)0)) goto bad;
466 ascii_chars_b = PyUnicode_AsEncodedStringPyUnicodeUCS4_AsEncodedString(ascii_chars_u, default_encoding_c, NULL((void*)0));
467 if (ascii_chars_b == NULL((void*)0) || strncmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b)(((PyStringObject *)(ascii_chars_b))->ob_sval), 128) != 0) {
468 PyErr_Format(
469 PyExc_ValueError,
470 "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.",
471 default_encoding_c);
472 goto bad;
473 }
474 }
475 Py_XDECREF(sys)do { if ((sys) == ((void*)0)) ; else do { if ( --((PyObject*)
(sys))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(sys)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(sys)))); } while (0); } while (0)
;
476 Py_XDECREF(default_encoding)do { if ((default_encoding) == ((void*)0)) ; else do { if ( --
((PyObject*)(default_encoding))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(default_encoding)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(default_encoding)))); }
while (0); } while (0)
;
477 Py_XDECREF(ascii_chars_u)do { if ((ascii_chars_u) == ((void*)0)) ; else do { if ( --((
PyObject*)(ascii_chars_u))->ob_refcnt != 0) ; else ( (*(((
PyObject*)((PyObject *)(ascii_chars_u)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(ascii_chars_u)))); } while (0); }
while (0)
;
478 Py_XDECREF(ascii_chars_b)do { if ((ascii_chars_b) == ((void*)0)) ; else do { if ( --((
PyObject*)(ascii_chars_b))->ob_refcnt != 0) ; else ( (*(((
PyObject*)((PyObject *)(ascii_chars_b)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(ascii_chars_b)))); } while (0); }
while (0)
;
479 return 0;
480bad:
481 Py_XDECREF(sys)do { if ((sys) == ((void*)0)) ; else do { if ( --((PyObject*)
(sys))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(sys)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(sys)))); } while (0); } while (0)
;
482 Py_XDECREF(default_encoding)do { if ((default_encoding) == ((void*)0)) ; else do { if ( --
((PyObject*)(default_encoding))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(default_encoding)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(default_encoding)))); }
while (0); } while (0)
;
483 Py_XDECREF(ascii_chars_u)do { if ((ascii_chars_u) == ((void*)0)) ; else do { if ( --((
PyObject*)(ascii_chars_u))->ob_refcnt != 0) ; else ( (*(((
PyObject*)((PyObject *)(ascii_chars_u)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(ascii_chars_u)))); } while (0); }
while (0)
;
484 Py_XDECREF(ascii_chars_b)do { if ((ascii_chars_b) == ((void*)0)) ; else do { if ( --((
PyObject*)(ascii_chars_b))->ob_refcnt != 0) ; else ( (*(((
PyObject*)((PyObject *)(ascii_chars_b)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(ascii_chars_b)))); } while (0); }
while (0)
;
485 return -1;
486}
487#endif
488#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT0 && PY_MAJOR_VERSION2 >= 3
489#define __Pyx_PyUnicode_FromStringAndSize(c_str, size)PyUnicodeUCS4_Decode(c_str, size, "", ((void*)0)) PyUnicode_DecodeUTF8PyUnicodeUCS4_DecodeUTF8(c_str, size, NULL((void*)0))
490#else
491#define __Pyx_PyUnicode_FromStringAndSize(c_str, size)PyUnicodeUCS4_Decode(c_str, size, "", ((void*)0)) PyUnicode_DecodePyUnicodeUCS4_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING"", NULL((void*)0))
492#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT0
493static char* __PYX_DEFAULT_STRING_ENCODING"";
494static int __Pyx_init_sys_getdefaultencoding_params(void) {
495 PyObject* sys = NULL((void*)0);
496 PyObject* default_encoding = NULL((void*)0);
497 char* default_encoding_c;
498 sys = PyImport_ImportModule("sys");
499 if (sys == NULL((void*)0)) goto bad;
500 default_encoding = PyObject_CallMethod_PyObject_CallMethod_SizeT(sys, (char*) (const char*) "getdefaultencoding", NULL((void*)0));
501 if (default_encoding == NULL((void*)0)) goto bad;
502 default_encoding_c = PyBytes_AS_STRING(default_encoding)(((PyStringObject *)(default_encoding))->ob_sval);
503 __PYX_DEFAULT_STRING_ENCODING"" = (char*) malloc(strlen(default_encoding_c));
504 strcpy(__PYX_DEFAULT_STRING_ENCODING"", default_encoding_c);
505 Py_DECREF(sys)do { if ( --((PyObject*)(sys))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(sys)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(sys)))); } while (0)
;
506 Py_DECREF(default_encoding)do { if ( --((PyObject*)(default_encoding))->ob_refcnt != 0
) ; else ( (*(((PyObject*)((PyObject *)(default_encoding)))->
ob_type)->tp_dealloc)((PyObject *)((PyObject *)(default_encoding
)))); } while (0)
;
507 return 0;
508bad:
509 Py_XDECREF(sys)do { if ((sys) == ((void*)0)) ; else do { if ( --((PyObject*)
(sys))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(sys)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(sys)))); } while (0); } while (0)
;
510 Py_XDECREF(default_encoding)do { if ((default_encoding) == ((void*)0)) ; else do { if ( --
((PyObject*)(default_encoding))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(default_encoding)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(default_encoding)))); }
while (0); } while (0)
;
511 return -1;
512}
513#endif
514#endif
515
516
517/* Test for GCC > 2.95 */
518#if defined(__GNUC__4) && (__GNUC__4 > 2 || (__GNUC__4 == 2 && (__GNUC_MINOR__2 > 95)))
519 #define likely(x)__builtin_expect(!!(x), 1) __builtin_expect(!!(x), 1)
520 #define unlikely(x)__builtin_expect(!!(x), 0) __builtin_expect(!!(x), 0)
521#else /* !__GNUC__ or GCC < 2.95 */
522 #define likely(x)__builtin_expect(!!(x), 1) (x)
523 #define unlikely(x)__builtin_expect(!!(x), 0) (x)
524#endif /* __GNUC__ */
525
526static PyObject *__pyx_m;
527static PyObject *__pyx_d;
528static PyObject *__pyx_b;
529static PyObject *__pyx_empty_tuple;
530static PyObject *__pyx_empty_bytes;
531static int __pyx_lineno;
532static int __pyx_clineno = 0;
533static const char * __pyx_cfilenm= __FILE__"src/clients/lib/python/xmmsapi.c";
534static const char *__pyx_filename;
535
536
537static const char *__pyx_f[] = {
538 "xmmsapi.pyx",
539 "xmmsapi.pxd",
540 "xmmsutils.pxd",
541 "xmmsvalue.pxd",
542};
543
544/* "xmmsapi.pxd":37
545 * cpdef value(self)
546 *
547 * ctypedef int VisResultCommand # <<<<<<<<<<<<<<
548 * cdef enum:
549 * VIS_RESULT_CMD_NONE = 0
550 */
551typedef int __pyx_t_7xmmsapi_VisResultCommand;
552
553/*--- Type declarations ---*/
554struct __pyx_obj_9xmmsvalue_XmmsValue;
555struct __pyx_obj_9xmmsvalue_XmmsValueC2C;
556struct __pyx_obj_9xmmsvalue_XmmsListIter;
557struct __pyx_obj_9xmmsvalue_XmmsDictIter;
558struct __pyx_obj_9xmmsvalue_CollectionRef;
559struct __pyx_obj_9xmmsvalue_Collection;
560struct __pyx_obj_9xmmsvalue_CollectionAttributes;
561struct __pyx_obj_9xmmsvalue_AttributesIterator;
562struct __pyx_obj_9xmmsvalue_CollectionOperands;
563struct __pyx_obj_9xmmsvalue_CollectionIDList;
564struct __pyx_obj_7xmmsapi_XmmsSourcePreference;
565struct __pyx_obj_7xmmsapi_XmmsResultTracker;
566struct __pyx_obj_7xmmsapi_XmmsResult;
567struct __pyx_obj_7xmmsapi_XmmsVisResult;
568struct __pyx_obj_7xmmsapi_XmmsVisChunk;
569struct __pyx_obj_7xmmsapi_XmmsServiceNamespace;
570struct __pyx_obj_7xmmsapi_service_broadcast;
571struct __pyx_obj_7xmmsapi_client_broadcast;
572struct __pyx_obj_7xmmsapi_client_method;
573struct __pyx_obj_7xmmsapi__XmmsServiceClient;
574struct __pyx_obj_7xmmsapi_XmmsProxy;
575struct __pyx_obj_7xmmsapi_XmmsCore;
576struct __pyx_obj_7xmmsapi_XmmsApi;
577struct __pyx_obj_7xmmsapi_XmmsLoop;
578struct __pyx_obj_7xmmsapi___pyx_scope_struct__deprecated;
579struct __pyx_obj_7xmmsapi___pyx_scope_struct_1__update_api_callback;
580struct __pyx_opt_args_9xmmsvalue_9XmmsValue_set_value;
581struct __pyx_opt_args_9xmmsvalue_9XmmsValue_copy;
582struct __pyx_opt_args_9xmmsvalue_16CollectionIDList_pop;
583
584/* "xmmsvalue.pxd":75
585 * cpdef clear(self)
586 *
587 * cdef enum AttributesIterType: # <<<<<<<<<<<<<<
588 * ITER_KEYS = 1
589 * ITER_VALUES = 2
590 */
591enum __pyx_t_9xmmsvalue_AttributesIterType {
592 __pyx_e_9xmmsvalue_ITER_KEYS = 1,
593 __pyx_e_9xmmsvalue_ITER_VALUES = 2,
594 __pyx_e_9xmmsvalue_ITER_ITEMS = 3,
595 __pyx_e_9xmmsvalue_ITER_XVALUES = 4,
596 __pyx_e_9xmmsvalue_ITER_XITEMS = 5
597};
598
599/* "xmmsvalue.pxd":13
600 * cdef int ispropdict
601 *
602 * cdef set_value(self, xmmsv_t *value, int ispropdict=*) # <<<<<<<<<<<<<<
603 * cpdef set_pyval(self, pyval)
604 * cpdef get_type(self)
605 */
606struct __pyx_opt_args_9xmmsvalue_9XmmsValue_set_value {
607 int __pyx_n;
608 int ispropdict;
609};
610
611/* "xmmsvalue.pxd":30
612 * cpdef get_list_iter(self)
613 * cpdef value(self)
614 * cpdef copy(self, cls=*) # <<<<<<<<<<<<<<
615 *
616 * cdef class XmmsValueC2C(XmmsValue):
617 */
618struct __pyx_opt_args_9xmmsvalue_9XmmsValue_copy {
619 int __pyx_n;
620 PyObject *cls;
621};
622
623/* "xmmsvalue.pxd":105
624 * cpdef insert(self, int v, int i)
625 * cpdef remove(self, int i)
626 * cpdef pop(self, int i = *) # <<<<<<<<<<<<<<
627 * cpdef clear(self)
628 *
629 */
630struct __pyx_opt_args_9xmmsvalue_16CollectionIDList_pop {
631 int __pyx_n;
632 int i;
633};
634struct __pyx_opt_args_7xmmsapi_20XmmsServiceNamespace__walk;
635struct __pyx_opt_args_7xmmsapi_17service_broadcast_bind;
636struct __pyx_opt_args_7xmmsapi_17service_broadcast_emit;
637struct __pyx_opt_args_7xmmsapi_8XmmsCore_connect;
638struct __pyx_opt_args_7xmmsapi_7XmmsApi_quit;
639struct __pyx_opt_args_7xmmsapi_7XmmsApi_plugin_list;
640struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_start;
641struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_stop;
642struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_tickle;
643struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_pause;
644struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_current_id;
645struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_seek_ms;
646struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_seek_samples;
647struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_status;
648struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playback_status;
649struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playback_current_id;
650struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_playtime;
651struct __pyx_opt_args_7xmmsapi_7XmmsApi_signal_playback_playtime;
652struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_volume_set;
653struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_volume_get;
654struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playback_volume_changed;
655struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playlist_loaded;
656struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_load;
657struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_list;
658struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_remove;
659struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_shuffle;
660struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_rinsert;
661struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_insert_url;
662struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_insert_id;
663struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_insert_collection;
664struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_radd;
665struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_add_url;
666struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_add_id;
667struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_add_collection;
668struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_remove_entry;
669struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_clear;
670struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_list_entries;
671struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_sort;
672struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_set_next_rel;
673struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_set_next;
674struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_move;
675struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_create;
676struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_current_pos;
677struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_current_active;
678struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playlist_current_pos;
679struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playlist_changed;
680struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_config_value_changed;
681struct __pyx_opt_args_7xmmsapi_7XmmsApi_config_set_value;
682struct __pyx_opt_args_7xmmsapi_7XmmsApi_config_get_value;
683struct __pyx_opt_args_7xmmsapi_7XmmsApi_config_list_values;
684struct __pyx_opt_args_7xmmsapi_7XmmsApi_config_register_value;
685struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_add_entry;
686struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_remove_entry;
687struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_move_entry;
688struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_get_info;
689struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_rehash;
690struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_get_id;
691struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_import_path;
692struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_property_set;
693struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_property_remove;
694struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_medialib_entry_added;
695struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_medialib_entry_updated;
696struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_medialib_entry_removed;
697struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_collection_changed;
698struct __pyx_opt_args_7xmmsapi_7XmmsApi_signal_mediainfo_reader_unindexed;
699struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_mediainfo_reader_status;
700struct __pyx_opt_args_7xmmsapi_7XmmsApi_xform_media_browse;
701struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_get;
702struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_list;
703struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_save;
704struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_remove;
705struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_rename;
706struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_idlist_from_playlist_file;
707struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_query;
708struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_query_ids;
709struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_query_infos;
710struct __pyx_opt_args_7xmmsapi_7XmmsApi_c2c_ready;
711struct __pyx_opt_args_7xmmsapi_7XmmsApi_c2c_get_connected_clients;
712struct __pyx_opt_args_7xmmsapi_7XmmsApi_c2c_get_ready_clients;
713struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_c2c_ready;
714struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_c2c_client_connected;
715struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_c2c_client_disconnected;
716struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_broadcast_emit;
717struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_broadcast_subscribe;
718struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_call;
719struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_namespace;
720struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_method;
721struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_broadcast;
722struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_constant;
723struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_docstring;
724struct __pyx_opt_args_7xmmsapi_7XmmsApi_bindata_add;
725struct __pyx_opt_args_7xmmsapi_7XmmsApi_bindata_retrieve;
726struct __pyx_opt_args_7xmmsapi_7XmmsApi_bindata_remove;
727struct __pyx_opt_args_7xmmsapi_7XmmsApi_bindata_list;
728struct __pyx_opt_args_7xmmsapi_7XmmsApi_stats;
729struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_version;
730struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_init;
731struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_start;
732struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_property_set;
733struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_properties_set;
734struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_chunk_get;
735
736/* "xmmsapi.pxd":38
737 *
738 * ctypedef int VisResultCommand
739 * cdef enum: # <<<<<<<<<<<<<<
740 * VIS_RESULT_CMD_NONE = 0
741 * VIS_RESULT_CMD_INIT = 1
742 */
743enum {
744 __pyx_e_7xmmsapi_VIS_RESULT_CMD_NONE = 0,
745 __pyx_e_7xmmsapi_VIS_RESULT_CMD_INIT = 1,
746 __pyx_e_7xmmsapi_VIS_RESULT_CMD_START = 2
747};
748
749/* "xmmsapi.pxd":69
750 * cdef object _bound_methods
751 *
752 * cpdef _walk(self, namespace=*, constant=*, method=*, broadcast=*, path=*, other=*, depth=*, deep=*) # <<<<<<<<<<<<<<
753 * cpdef register_namespace(self, path, instance, infos)
754 * cpdef register_constant(self, path, instance, infos)
755 */
756struct __pyx_opt_args_7xmmsapi_20XmmsServiceNamespace__walk {
757 int __pyx_n;
758 PyObject *namespace;
759 PyObject *constant;
760 PyObject *method;
761 PyObject *broadcast;
762 PyObject *path;
763 PyObject *other;
764 PyObject *depth;
765 PyObject *deep;
766};
767
768/* "xmmsapi.pxd":80
769 * cdef public object doc
770 * cdef readonly XmmsServiceNamespace namespace
771 * cdef bind(self, XmmsServiceNamespace namespace, name=*) # <<<<<<<<<<<<<<
772 * cpdef emit(self, value=*)
773 *
774 */
775struct __pyx_opt_args_7xmmsapi_17service_broadcast_bind {
776 int __pyx_n;
777 PyObject *name;
778};
779
780/* "xmmsapi.pxd":81
781 * cdef readonly XmmsServiceNamespace namespace
782 * cdef bind(self, XmmsServiceNamespace namespace, name=*)
783 * cpdef emit(self, value=*) # <<<<<<<<<<<<<<
784 *
785 * cdef xmmsv_t *service_method_proxy(xmmsv_t *pargs, xmmsv_t *nargs, void *udata)
786 */
787struct __pyx_opt_args_7xmmsapi_17service_broadcast_emit {
788 int __pyx_n;
789 PyObject *value;
790};
791
792/* "xmmsapi.pxd":133
793 * cpdef set_need_out_fun(self, fun)
794 * cpdef get_fd(self)
795 * cpdef connect(self, path=*, disconnect_func=*) # <<<<<<<<<<<<<<
796 * cdef XmmsResult _create_result(self, cb, xmmsc_result_t *res, Cls)
797 * cdef XmmsResult create_result(self, cb, xmmsc_result_t *res)
798 */
799struct __pyx_opt_args_7xmmsapi_8XmmsCore_connect {
800 int __pyx_n;
801 PyObject *path;
802 PyObject *disconnect_func;
803};
804
805/* "xmmsapi.pxd":144
806 * cdef class XmmsApi(XmmsCore):
807 * cpdef int c2c_get_own_id(self)
808 * cpdef XmmsResult quit(self, cb=*) # <<<<<<<<<<<<<<
809 * cpdef XmmsResult plugin_list(self, typ, cb=*)
810 * cpdef XmmsResult playback_start(self, cb=*)
811 */
812struct __pyx_opt_args_7xmmsapi_7XmmsApi_quit {
813 int __pyx_n;
814 PyObject *cb;
815};
816
817/* "xmmsapi.pxd":145
818 * cpdef int c2c_get_own_id(self)
819 * cpdef XmmsResult quit(self, cb=*)
820 * cpdef XmmsResult plugin_list(self, typ, cb=*) # <<<<<<<<<<<<<<
821 * cpdef XmmsResult playback_start(self, cb=*)
822 * cpdef XmmsResult playback_stop(self, cb=*)
823 */
824struct __pyx_opt_args_7xmmsapi_7XmmsApi_plugin_list {
825 int __pyx_n;
826 PyObject *cb;
827};
828
829/* "xmmsapi.pxd":146
830 * cpdef XmmsResult quit(self, cb=*)
831 * cpdef XmmsResult plugin_list(self, typ, cb=*)
832 * cpdef XmmsResult playback_start(self, cb=*) # <<<<<<<<<<<<<<
833 * cpdef XmmsResult playback_stop(self, cb=*)
834 * cpdef XmmsResult playback_tickle(self, cb=*)
835 */
836struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_start {
837 int __pyx_n;
838 PyObject *cb;
839};
840
841/* "xmmsapi.pxd":147
842 * cpdef XmmsResult plugin_list(self, typ, cb=*)
843 * cpdef XmmsResult playback_start(self, cb=*)
844 * cpdef XmmsResult playback_stop(self, cb=*) # <<<<<<<<<<<<<<
845 * cpdef XmmsResult playback_tickle(self, cb=*)
846 * cpdef XmmsResult playback_pause(self, cb=*)
847 */
848struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_stop {
849 int __pyx_n;
850 PyObject *cb;
851};
852
853/* "xmmsapi.pxd":148
854 * cpdef XmmsResult playback_start(self, cb=*)
855 * cpdef XmmsResult playback_stop(self, cb=*)
856 * cpdef XmmsResult playback_tickle(self, cb=*) # <<<<<<<<<<<<<<
857 * cpdef XmmsResult playback_pause(self, cb=*)
858 * cpdef XmmsResult playback_current_id(self, cb=*)
859 */
860struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_tickle {
861 int __pyx_n;
862 PyObject *cb;
863};
864
865/* "xmmsapi.pxd":149
866 * cpdef XmmsResult playback_stop(self, cb=*)
867 * cpdef XmmsResult playback_tickle(self, cb=*)
868 * cpdef XmmsResult playback_pause(self, cb=*) # <<<<<<<<<<<<<<
869 * cpdef XmmsResult playback_current_id(self, cb=*)
870 * cpdef XmmsResult playback_seek_ms(self, int ms, xmms_playback_seek_mode_t whence=*, cb=*)
871 */
872struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_pause {
873 int __pyx_n;
874 PyObject *cb;
875};
876
877/* "xmmsapi.pxd":150
878 * cpdef XmmsResult playback_tickle(self, cb=*)
879 * cpdef XmmsResult playback_pause(self, cb=*)
880 * cpdef XmmsResult playback_current_id(self, cb=*) # <<<<<<<<<<<<<<
881 * cpdef XmmsResult playback_seek_ms(self, int ms, xmms_playback_seek_mode_t whence=*, cb=*)
882 * cpdef XmmsResult playback_seek_samples(self, int samples, xmms_playback_seek_mode_t whence=*, cb=*)
883 */
884struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_current_id {
885 int __pyx_n;
886 PyObject *cb;
887};
888
889/* "xmmsapi.pxd":151
890 * cpdef XmmsResult playback_pause(self, cb=*)
891 * cpdef XmmsResult playback_current_id(self, cb=*)
892 * cpdef XmmsResult playback_seek_ms(self, int ms, xmms_playback_seek_mode_t whence=*, cb=*) # <<<<<<<<<<<<<<
893 * cpdef XmmsResult playback_seek_samples(self, int samples, xmms_playback_seek_mode_t whence=*, cb=*)
894 * cpdef XmmsResult playback_status(self, cb=*)
895 */
896struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_seek_ms {
897 int __pyx_n;
898 xmms_playback_seek_mode_t whence;
899 PyObject *cb;
900};
901
902/* "xmmsapi.pxd":152
903 * cpdef XmmsResult playback_current_id(self, cb=*)
904 * cpdef XmmsResult playback_seek_ms(self, int ms, xmms_playback_seek_mode_t whence=*, cb=*)
905 * cpdef XmmsResult playback_seek_samples(self, int samples, xmms_playback_seek_mode_t whence=*, cb=*) # <<<<<<<<<<<<<<
906 * cpdef XmmsResult playback_status(self, cb=*)
907 * cpdef XmmsResult broadcast_playback_status(self, cb=*)
908 */
909struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_seek_samples {
910 int __pyx_n;
911 xmms_playback_seek_mode_t whence;
912 PyObject *cb;
913};
914
915/* "xmmsapi.pxd":153
916 * cpdef XmmsResult playback_seek_ms(self, int ms, xmms_playback_seek_mode_t whence=*, cb=*)
917 * cpdef XmmsResult playback_seek_samples(self, int samples, xmms_playback_seek_mode_t whence=*, cb=*)
918 * cpdef XmmsResult playback_status(self, cb=*) # <<<<<<<<<<<<<<
919 * cpdef XmmsResult broadcast_playback_status(self, cb=*)
920 * cpdef XmmsResult broadcast_playback_current_id(self, cb=*)
921 */
922struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_status {
923 int __pyx_n;
924 PyObject *cb;
925};
926
927/* "xmmsapi.pxd":154
928 * cpdef XmmsResult playback_seek_samples(self, int samples, xmms_playback_seek_mode_t whence=*, cb=*)
929 * cpdef XmmsResult playback_status(self, cb=*)
930 * cpdef XmmsResult broadcast_playback_status(self, cb=*) # <<<<<<<<<<<<<<
931 * cpdef XmmsResult broadcast_playback_current_id(self, cb=*)
932 * cpdef XmmsResult playback_playtime(self, cb=*)
933 */
934struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playback_status {
935 int __pyx_n;
936 PyObject *cb;
937};
938
939/* "xmmsapi.pxd":155
940 * cpdef XmmsResult playback_status(self, cb=*)
941 * cpdef XmmsResult broadcast_playback_status(self, cb=*)
942 * cpdef XmmsResult broadcast_playback_current_id(self, cb=*) # <<<<<<<<<<<<<<
943 * cpdef XmmsResult playback_playtime(self, cb=*)
944 * cpdef XmmsResult signal_playback_playtime(self, cb=*)
945 */
946struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playback_current_id {
947 int __pyx_n;
948 PyObject *cb;
949};
950
951/* "xmmsapi.pxd":156
952 * cpdef XmmsResult broadcast_playback_status(self, cb=*)
953 * cpdef XmmsResult broadcast_playback_current_id(self, cb=*)
954 * cpdef XmmsResult playback_playtime(self, cb=*) # <<<<<<<<<<<<<<
955 * cpdef XmmsResult signal_playback_playtime(self, cb=*)
956 * cpdef XmmsResult playback_volume_set(self, channel, int volume, cb=*)
957 */
958struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_playtime {
959 int __pyx_n;
960 PyObject *cb;
961};
962
963/* "xmmsapi.pxd":157
964 * cpdef XmmsResult broadcast_playback_current_id(self, cb=*)
965 * cpdef XmmsResult playback_playtime(self, cb=*)
966 * cpdef XmmsResult signal_playback_playtime(self, cb=*) # <<<<<<<<<<<<<<
967 * cpdef XmmsResult playback_volume_set(self, channel, int volume, cb=*)
968 * cpdef XmmsResult playback_volume_get(self, cb=*)
969 */
970struct __pyx_opt_args_7xmmsapi_7XmmsApi_signal_playback_playtime {
971 int __pyx_n;
972 PyObject *cb;
973};
974
975/* "xmmsapi.pxd":158
976 * cpdef XmmsResult playback_playtime(self, cb=*)
977 * cpdef XmmsResult signal_playback_playtime(self, cb=*)
978 * cpdef XmmsResult playback_volume_set(self, channel, int volume, cb=*) # <<<<<<<<<<<<<<
979 * cpdef XmmsResult playback_volume_get(self, cb=*)
980 * cpdef XmmsResult broadcast_playback_volume_changed(self, cb=*)
981 */
982struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_volume_set {
983 int __pyx_n;
984 PyObject *cb;
985};
986
987/* "xmmsapi.pxd":159
988 * cpdef XmmsResult signal_playback_playtime(self, cb=*)
989 * cpdef XmmsResult playback_volume_set(self, channel, int volume, cb=*)
990 * cpdef XmmsResult playback_volume_get(self, cb=*) # <<<<<<<<<<<<<<
991 * cpdef XmmsResult broadcast_playback_volume_changed(self, cb=*)
992 * cpdef XmmsResult broadcast_playlist_loaded(self, cb=*)
993 */
994struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_volume_get {
995 int __pyx_n;
996 PyObject *cb;
997};
998
999/* "xmmsapi.pxd":160
1000 * cpdef XmmsResult playback_volume_set(self, channel, int volume, cb=*)
1001 * cpdef XmmsResult playback_volume_get(self, cb=*)
1002 * cpdef XmmsResult broadcast_playback_volume_changed(self, cb=*) # <<<<<<<<<<<<<<
1003 * cpdef XmmsResult broadcast_playlist_loaded(self, cb=*)
1004 * cpdef XmmsResult playlist_load(self, playlist, cb=*)
1005 */
1006struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playback_volume_changed {
1007 int __pyx_n;
1008 PyObject *cb;
1009};
1010
1011/* "xmmsapi.pxd":161
1012 * cpdef XmmsResult playback_volume_get(self, cb=*)
1013 * cpdef XmmsResult broadcast_playback_volume_changed(self, cb=*)
1014 * cpdef XmmsResult broadcast_playlist_loaded(self, cb=*) # <<<<<<<<<<<<<<
1015 * cpdef XmmsResult playlist_load(self, playlist, cb=*)
1016 * cpdef XmmsResult playlist_list(self, cb=*)
1017 */
1018struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playlist_loaded {
1019 int __pyx_n;
1020 PyObject *cb;
1021};
1022
1023/* "xmmsapi.pxd":162
1024 * cpdef XmmsResult broadcast_playback_volume_changed(self, cb=*)
1025 * cpdef XmmsResult broadcast_playlist_loaded(self, cb=*)
1026 * cpdef XmmsResult playlist_load(self, playlist, cb=*) # <<<<<<<<<<<<<<
1027 * cpdef XmmsResult playlist_list(self, cb=*)
1028 * cpdef XmmsResult playlist_remove(self, playlist, cb=*)
1029 */
1030struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_load {
1031 int __pyx_n;
1032 PyObject *cb;
1033};
1034
1035/* "xmmsapi.pxd":163
1036 * cpdef XmmsResult broadcast_playlist_loaded(self, cb=*)
1037 * cpdef XmmsResult playlist_load(self, playlist, cb=*)
1038 * cpdef XmmsResult playlist_list(self, cb=*) # <<<<<<<<<<<<<<
1039 * cpdef XmmsResult playlist_remove(self, playlist, cb=*)
1040 * cpdef XmmsResult playlist_shuffle(self, playlist=*, cb=*)
1041 */
1042struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_list {
1043 int __pyx_n;
1044 PyObject *cb;
1045};
1046
1047/* "xmmsapi.pxd":164
1048 * cpdef XmmsResult playlist_load(self, playlist, cb=*)
1049 * cpdef XmmsResult playlist_list(self, cb=*)
1050 * cpdef XmmsResult playlist_remove(self, playlist, cb=*) # <<<<<<<<<<<<<<
1051 * cpdef XmmsResult playlist_shuffle(self, playlist=*, cb=*)
1052 * cpdef XmmsResult playlist_rinsert(self, int pos, url, playlist=*, cb=*, encoded=*)
1053 */
1054struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_remove {
1055 int __pyx_n;
1056 PyObject *cb;
1057};
1058
1059/* "xmmsapi.pxd":165
1060 * cpdef XmmsResult playlist_list(self, cb=*)
1061 * cpdef XmmsResult playlist_remove(self, playlist, cb=*)
1062 * cpdef XmmsResult playlist_shuffle(self, playlist=*, cb=*) # <<<<<<<<<<<<<<
1063 * cpdef XmmsResult playlist_rinsert(self, int pos, url, playlist=*, cb=*, encoded=*)
1064 * cpdef XmmsResult playlist_insert_url(self, int pos, url, playlist=*, cb=*, encoded=*)
1065 */
1066struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_shuffle {
1067 int __pyx_n;
1068 PyObject *playlist;
1069 PyObject *cb;
1070};
1071
1072/* "xmmsapi.pxd":166
1073 * cpdef XmmsResult playlist_remove(self, playlist, cb=*)
1074 * cpdef XmmsResult playlist_shuffle(self, playlist=*, cb=*)
1075 * cpdef XmmsResult playlist_rinsert(self, int pos, url, playlist=*, cb=*, encoded=*) # <<<<<<<<<<<<<<
1076 * cpdef XmmsResult playlist_insert_url(self, int pos, url, playlist=*, cb=*, encoded=*)
1077 * cpdef XmmsResult playlist_insert_id(self, int pos, int id, playlist=*, cb=*)
1078 */
1079struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_rinsert {
1080 int __pyx_n;
1081 PyObject *playlist;
1082 PyObject *cb;
1083 PyObject *encoded;
1084};
1085
1086/* "xmmsapi.pxd":167
1087 * cpdef XmmsResult playlist_shuffle(self, playlist=*, cb=*)
1088 * cpdef XmmsResult playlist_rinsert(self, int pos, url, playlist=*, cb=*, encoded=*)
1089 * cpdef XmmsResult playlist_insert_url(self, int pos, url, playlist=*, cb=*, encoded=*) # <<<<<<<<<<<<<<
1090 * cpdef XmmsResult playlist_insert_id(self, int pos, int id, playlist=*, cb=*)
1091 * cpdef XmmsResult playlist_insert_collection(self, int pos, Collection coll, order=*, playlist=*, cb=*)
1092 */
1093struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_insert_url {
1094 int __pyx_n;
1095 PyObject *playlist;
1096 PyObject *cb;
1097 PyObject *encoded;
1098};
1099
1100/* "xmmsapi.pxd":168
1101 * cpdef XmmsResult playlist_rinsert(self, int pos, url, playlist=*, cb=*, encoded=*)
1102 * cpdef XmmsResult playlist_insert_url(self, int pos, url, playlist=*, cb=*, encoded=*)
1103 * cpdef XmmsResult playlist_insert_id(self, int pos, int id, playlist=*, cb=*) # <<<<<<<<<<<<<<
1104 * cpdef XmmsResult playlist_insert_collection(self, int pos, Collection coll, order=*, playlist=*, cb=*)
1105 * cpdef XmmsResult playlist_radd(self, url, playlist=*, cb=*, encoded=*)
1106 */
1107struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_insert_id {
1108 int __pyx_n;
1109 PyObject *playlist;
1110 PyObject *cb;
1111};
1112
1113/* "xmmsapi.pxd":169
1114 * cpdef XmmsResult playlist_insert_url(self, int pos, url, playlist=*, cb=*, encoded=*)
1115 * cpdef XmmsResult playlist_insert_id(self, int pos, int id, playlist=*, cb=*)
1116 * cpdef XmmsResult playlist_insert_collection(self, int pos, Collection coll, order=*, playlist=*, cb=*) # <<<<<<<<<<<<<<
1117 * cpdef XmmsResult playlist_radd(self, url, playlist=*, cb=*, encoded=*)
1118 * cpdef XmmsResult playlist_add_url(self, url, playlist=*, cb=*, encoded=*)
1119 */
1120struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_insert_collection {
1121 int __pyx_n;
1122 PyObject *order;
1123 PyObject *playlist;
1124 PyObject *cb;
1125};
1126
1127/* "xmmsapi.pxd":170
1128 * cpdef XmmsResult playlist_insert_id(self, int pos, int id, playlist=*, cb=*)
1129 * cpdef XmmsResult playlist_insert_collection(self, int pos, Collection coll, order=*, playlist=*, cb=*)
1130 * cpdef XmmsResult playlist_radd(self, url, playlist=*, cb=*, encoded=*) # <<<<<<<<<<<<<<
1131 * cpdef XmmsResult playlist_add_url(self, url, playlist=*, cb=*, encoded=*)
1132 * cpdef XmmsResult playlist_add_id(self, int id, playlist=*, cb=*)
1133 */
1134struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_radd {
1135 int __pyx_n;
1136 PyObject *playlist;
1137 PyObject *cb;
1138 PyObject *encoded;
1139};
1140
1141/* "xmmsapi.pxd":171
1142 * cpdef XmmsResult playlist_insert_collection(self, int pos, Collection coll, order=*, playlist=*, cb=*)
1143 * cpdef XmmsResult playlist_radd(self, url, playlist=*, cb=*, encoded=*)
1144 * cpdef XmmsResult playlist_add_url(self, url, playlist=*, cb=*, encoded=*) # <<<<<<<<<<<<<<
1145 * cpdef XmmsResult playlist_add_id(self, int id, playlist=*, cb=*)
1146 * cpdef XmmsResult playlist_add_collection(self, Collection coll, order=*, playlist=*, cb=*)
1147 */
1148struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_add_url {
1149 int __pyx_n;
1150 PyObject *playlist;
1151 PyObject *cb;
1152 PyObject *encoded;
1153};
1154
1155/* "xmmsapi.pxd":172
1156 * cpdef XmmsResult playlist_radd(self, url, playlist=*, cb=*, encoded=*)
1157 * cpdef XmmsResult playlist_add_url(self, url, playlist=*, cb=*, encoded=*)
1158 * cpdef XmmsResult playlist_add_id(self, int id, playlist=*, cb=*) # <<<<<<<<<<<<<<
1159 * cpdef XmmsResult playlist_add_collection(self, Collection coll, order=*, playlist=*, cb=*)
1160 * cpdef XmmsResult playlist_remove_entry(self, int id, playlist=*, cb=*)
1161 */
1162struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_add_id {
1163 int __pyx_n;
1164 PyObject *playlist;
1165 PyObject *cb;
1166};
1167
1168/* "xmmsapi.pxd":173
1169 * cpdef XmmsResult playlist_add_url(self, url, playlist=*, cb=*, encoded=*)
1170 * cpdef XmmsResult playlist_add_id(self, int id, playlist=*, cb=*)
1171 * cpdef XmmsResult playlist_add_collection(self, Collection coll, order=*, playlist=*, cb=*) # <<<<<<<<<<<<<<
1172 * cpdef XmmsResult playlist_remove_entry(self, int id, playlist=*, cb=*)
1173 * cpdef XmmsResult playlist_clear(self, playlist=*, cb=*)
1174 */
1175struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_add_collection {
1176 int __pyx_n;
1177 PyObject *order;
1178 PyObject *playlist;
1179 PyObject *cb;
1180};
1181
1182/* "xmmsapi.pxd":174
1183 * cpdef XmmsResult playlist_add_id(self, int id, playlist=*, cb=*)
1184 * cpdef XmmsResult playlist_add_collection(self, Collection coll, order=*, playlist=*, cb=*)
1185 * cpdef XmmsResult playlist_remove_entry(self, int id, playlist=*, cb=*) # <<<<<<<<<<<<<<
1186 * cpdef XmmsResult playlist_clear(self, playlist=*, cb=*)
1187 * cpdef XmmsResult playlist_list_entries(self, playlist=*, cb=*)
1188 */
1189struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_remove_entry {
1190 int __pyx_n;
1191 PyObject *playlist;
1192 PyObject *cb;
1193};
1194
1195/* "xmmsapi.pxd":175
1196 * cpdef XmmsResult playlist_add_collection(self, Collection coll, order=*, playlist=*, cb=*)
1197 * cpdef XmmsResult playlist_remove_entry(self, int id, playlist=*, cb=*)
1198 * cpdef XmmsResult playlist_clear(self, playlist=*, cb=*) # <<<<<<<<<<<<<<
1199 * cpdef XmmsResult playlist_list_entries(self, playlist=*, cb=*)
1200 * cpdef XmmsResult playlist_sort(self, props, playlist=*, cb=*)
1201 */
1202struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_clear {
1203 int __pyx_n;
1204 PyObject *playlist;
1205 PyObject *cb;
1206};
1207
1208/* "xmmsapi.pxd":176
1209 * cpdef XmmsResult playlist_remove_entry(self, int id, playlist=*, cb=*)
1210 * cpdef XmmsResult playlist_clear(self, playlist=*, cb=*)
1211 * cpdef XmmsResult playlist_list_entries(self, playlist=*, cb=*) # <<<<<<<<<<<<<<
1212 * cpdef XmmsResult playlist_sort(self, props, playlist=*, cb=*)
1213 * cpdef XmmsResult playlist_set_next_rel(self, int position, cb=*)
1214 */
1215struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_list_entries {
1216 int __pyx_n;
1217 PyObject *playlist;
1218 PyObject *cb;
1219};
1220
1221/* "xmmsapi.pxd":177
1222 * cpdef XmmsResult playlist_clear(self, playlist=*, cb=*)
1223 * cpdef XmmsResult playlist_list_entries(self, playlist=*, cb=*)
1224 * cpdef XmmsResult playlist_sort(self, props, playlist=*, cb=*) # <<<<<<<<<<<<<<
1225 * cpdef XmmsResult playlist_set_next_rel(self, int position, cb=*)
1226 * cpdef XmmsResult playlist_set_next(self, int position, cb=*)
1227 */
1228struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_sort {
1229 int __pyx_n;
1230 PyObject *playlist;
1231 PyObject *cb;
1232};
1233
1234/* "xmmsapi.pxd":178
1235 * cpdef XmmsResult playlist_list_entries(self, playlist=*, cb=*)
1236 * cpdef XmmsResult playlist_sort(self, props, playlist=*, cb=*)
1237 * cpdef XmmsResult playlist_set_next_rel(self, int position, cb=*) # <<<<<<<<<<<<<<
1238 * cpdef XmmsResult playlist_set_next(self, int position, cb=*)
1239 * cpdef XmmsResult playlist_move(self, int cur_pos, int new_pos, playlist=*, cb=*)
1240 */
1241struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_set_next_rel {
1242 int __pyx_n;
1243 PyObject *cb;
1244};
1245
1246/* "xmmsapi.pxd":179
1247 * cpdef XmmsResult playlist_sort(self, props, playlist=*, cb=*)
1248 * cpdef XmmsResult playlist_set_next_rel(self, int position, cb=*)
1249 * cpdef XmmsResult playlist_set_next(self, int position, cb=*) # <<<<<<<<<<<<<<
1250 * cpdef XmmsResult playlist_move(self, int cur_pos, int new_pos, playlist=*, cb=*)
1251 * cpdef XmmsResult playlist_create(self, playlist, cb=*)
1252 */
1253struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_set_next {
1254 int __pyx_n;
1255 PyObject *cb;
1256};
1257
1258/* "xmmsapi.pxd":180
1259 * cpdef XmmsResult playlist_set_next_rel(self, int position, cb=*)
1260 * cpdef XmmsResult playlist_set_next(self, int position, cb=*)
1261 * cpdef XmmsResult playlist_move(self, int cur_pos, int new_pos, playlist=*, cb=*) # <<<<<<<<<<<<<<
1262 * cpdef XmmsResult playlist_create(self, playlist, cb=*)
1263 * cpdef XmmsResult playlist_current_pos(self, playlist=*, cb=*)
1264 */
1265struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_move {
1266 int __pyx_n;
1267 PyObject *playlist;
1268 PyObject *cb;
1269};
1270
1271/* "xmmsapi.pxd":181
1272 * cpdef XmmsResult playlist_set_next(self, int position, cb=*)
1273 * cpdef XmmsResult playlist_move(self, int cur_pos, int new_pos, playlist=*, cb=*)
1274 * cpdef XmmsResult playlist_create(self, playlist, cb=*) # <<<<<<<<<<<<<<
1275 * cpdef XmmsResult playlist_current_pos(self, playlist=*, cb=*)
1276 * cpdef XmmsResult playlist_current_active(self, cb=*)
1277 */
1278struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_create {
1279 int __pyx_n;
1280 PyObject *cb;
1281};
1282
1283/* "xmmsapi.pxd":182
1284 * cpdef XmmsResult playlist_move(self, int cur_pos, int new_pos, playlist=*, cb=*)
1285 * cpdef XmmsResult playlist_create(self, playlist, cb=*)
1286 * cpdef XmmsResult playlist_current_pos(self, playlist=*, cb=*) # <<<<<<<<<<<<<<
1287 * cpdef XmmsResult playlist_current_active(self, cb=*)
1288 * cpdef XmmsResult broadcast_playlist_current_pos(self, cb=*)
1289 */
1290struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_current_pos {
1291 int __pyx_n;
1292 PyObject *playlist;
1293 PyObject *cb;
1294};
1295
1296/* "xmmsapi.pxd":183
1297 * cpdef XmmsResult playlist_create(self, playlist, cb=*)
1298 * cpdef XmmsResult playlist_current_pos(self, playlist=*, cb=*)
1299 * cpdef XmmsResult playlist_current_active(self, cb=*) # <<<<<<<<<<<<<<
1300 * cpdef XmmsResult broadcast_playlist_current_pos(self, cb=*)
1301 * cpdef XmmsResult broadcast_playlist_changed(self, cb=*)
1302 */
1303struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_current_active {
1304 int __pyx_n;
1305 PyObject *cb;
1306};
1307
1308/* "xmmsapi.pxd":184
1309 * cpdef XmmsResult playlist_current_pos(self, playlist=*, cb=*)
1310 * cpdef XmmsResult playlist_current_active(self, cb=*)
1311 * cpdef XmmsResult broadcast_playlist_current_pos(self, cb=*) # <<<<<<<<<<<<<<
1312 * cpdef XmmsResult broadcast_playlist_changed(self, cb=*)
1313 * cpdef XmmsResult broadcast_config_value_changed(self, cb=*)
1314 */
1315struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playlist_current_pos {
1316 int __pyx_n;
1317 PyObject *cb;
1318};
1319
1320/* "xmmsapi.pxd":185
1321 * cpdef XmmsResult playlist_current_active(self, cb=*)
1322 * cpdef XmmsResult broadcast_playlist_current_pos(self, cb=*)
1323 * cpdef XmmsResult broadcast_playlist_changed(self, cb=*) # <<<<<<<<<<<<<<
1324 * cpdef XmmsResult broadcast_config_value_changed(self, cb=*)
1325 * cpdef XmmsResult config_set_value(self, key, val, cb=*)
1326 */
1327struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playlist_changed {
1328 int __pyx_n;
1329 PyObject *cb;
1330};
1331
1332/* "xmmsapi.pxd":186
1333 * cpdef XmmsResult broadcast_playlist_current_pos(self, cb=*)
1334 * cpdef XmmsResult broadcast_playlist_changed(self, cb=*)
1335 * cpdef XmmsResult broadcast_config_value_changed(self, cb=*) # <<<<<<<<<<<<<<
1336 * cpdef XmmsResult config_set_value(self, key, val, cb=*)
1337 * cpdef XmmsResult config_get_value(self, key, cb=*)
1338 */
1339struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_config_value_changed {
1340 int __pyx_n;
1341 PyObject *cb;
1342};
1343
1344/* "xmmsapi.pxd":187
1345 * cpdef XmmsResult broadcast_playlist_changed(self, cb=*)
1346 * cpdef XmmsResult broadcast_config_value_changed(self, cb=*)
1347 * cpdef XmmsResult config_set_value(self, key, val, cb=*) # <<<<<<<<<<<<<<
1348 * cpdef XmmsResult config_get_value(self, key, cb=*)
1349 * cpdef XmmsResult config_list_values(self, cb=*)
1350 */
1351struct __pyx_opt_args_7xmmsapi_7XmmsApi_config_set_value {
1352 int __pyx_n;
1353 PyObject *cb;
1354};
1355
1356/* "xmmsapi.pxd":188
1357 * cpdef XmmsResult broadcast_config_value_changed(self, cb=*)
1358 * cpdef XmmsResult config_set_value(self, key, val, cb=*)
1359 * cpdef XmmsResult config_get_value(self, key, cb=*) # <<<<<<<<<<<<<<
1360 * cpdef XmmsResult config_list_values(self, cb=*)
1361 * cpdef XmmsResult config_register_value(self, valuename, defaultvalue, cb=*)
1362 */
1363struct __pyx_opt_args_7xmmsapi_7XmmsApi_config_get_value {
1364 int __pyx_n;
1365 PyObject *cb;
1366};
1367
1368/* "xmmsapi.pxd":189
1369 * cpdef XmmsResult config_set_value(self, key, val, cb=*)
1370 * cpdef XmmsResult config_get_value(self, key, cb=*)
1371 * cpdef XmmsResult config_list_values(self, cb=*) # <<<<<<<<<<<<<<
1372 * cpdef XmmsResult config_register_value(self, valuename, defaultvalue, cb=*)
1373 * cpdef XmmsResult medialib_add_entry(self, path, cb=*, encoded=*)
1374 */
1375struct __pyx_opt_args_7xmmsapi_7XmmsApi_config_list_values {
1376 int __pyx_n;
1377 PyObject *cb;
1378};
1379
1380/* "xmmsapi.pxd":190
1381 * cpdef XmmsResult config_get_value(self, key, cb=*)
1382 * cpdef XmmsResult config_list_values(self, cb=*)
1383 * cpdef XmmsResult config_register_value(self, valuename, defaultvalue, cb=*) # <<<<<<<<<<<<<<
1384 * cpdef XmmsResult medialib_add_entry(self, path, cb=*, encoded=*)
1385 * cpdef XmmsResult medialib_remove_entry(self, int id, cb=*)
1386 */
1387struct __pyx_opt_args_7xmmsapi_7XmmsApi_config_register_value {
1388 int __pyx_n;
1389 PyObject *cb;
1390};
1391
1392/* "xmmsapi.pxd":191
1393 * cpdef XmmsResult config_list_values(self, cb=*)
1394 * cpdef XmmsResult config_register_value(self, valuename, defaultvalue, cb=*)
1395 * cpdef XmmsResult medialib_add_entry(self, path, cb=*, encoded=*) # <<<<<<<<<<<<<<
1396 * cpdef XmmsResult medialib_remove_entry(self, int id, cb=*)
1397 * cpdef XmmsResult medialib_move_entry(self, int id, url, cb=*, encoded=*)
1398 */
1399struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_add_entry {
1400 int __pyx_n;
1401 PyObject *cb;
1402 PyObject *encoded;
1403};
1404
1405/* "xmmsapi.pxd":192
1406 * cpdef XmmsResult config_register_value(self, valuename, defaultvalue, cb=*)
1407 * cpdef XmmsResult medialib_add_entry(self, path, cb=*, encoded=*)
1408 * cpdef XmmsResult medialib_remove_entry(self, int id, cb=*) # <<<<<<<<<<<<<<
1409 * cpdef XmmsResult medialib_move_entry(self, int id, url, cb=*, encoded=*)
1410 * cpdef XmmsResult medialib_get_info(self, int id, cb=*)
1411 */
1412struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_remove_entry {
1413 int __pyx_n;
1414 PyObject *cb;
1415};
1416
1417/* "xmmsapi.pxd":193
1418 * cpdef XmmsResult medialib_add_entry(self, path, cb=*, encoded=*)
1419 * cpdef XmmsResult medialib_remove_entry(self, int id, cb=*)
1420 * cpdef XmmsResult medialib_move_entry(self, int id, url, cb=*, encoded=*) # <<<<<<<<<<<<<<
1421 * cpdef XmmsResult medialib_get_info(self, int id, cb=*)
1422 * cpdef XmmsResult medialib_rehash(self, int id=*, cb=*)
1423 */
1424struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_move_entry {
1425 int __pyx_n;
1426 PyObject *cb;
1427 PyObject *encoded;
1428};
1429
1430/* "xmmsapi.pxd":194
1431 * cpdef XmmsResult medialib_remove_entry(self, int id, cb=*)
1432 * cpdef XmmsResult medialib_move_entry(self, int id, url, cb=*, encoded=*)
1433 * cpdef XmmsResult medialib_get_info(self, int id, cb=*) # <<<<<<<<<<<<<<
1434 * cpdef XmmsResult medialib_rehash(self, int id=*, cb=*)
1435 * cpdef XmmsResult medialib_get_id(self, url, cb=*, encoded=*)
1436 */
1437struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_get_info {
1438 int __pyx_n;
1439 PyObject *cb;
1440};
1441
1442/* "xmmsapi.pxd":195
1443 * cpdef XmmsResult medialib_move_entry(self, int id, url, cb=*, encoded=*)
1444 * cpdef XmmsResult medialib_get_info(self, int id, cb=*)
1445 * cpdef XmmsResult medialib_rehash(self, int id=*, cb=*) # <<<<<<<<<<<<<<
1446 * cpdef XmmsResult medialib_get_id(self, url, cb=*, encoded=*)
1447 * cpdef XmmsResult medialib_import_path(self, path, cb=*, encoded=*)
1448 */
1449struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_rehash {
1450 int __pyx_n;
1451 int id;
1452 PyObject *cb;
1453};
1454
1455/* "xmmsapi.pxd":196
1456 * cpdef XmmsResult medialib_get_info(self, int id, cb=*)
1457 * cpdef XmmsResult medialib_rehash(self, int id=*, cb=*)
1458 * cpdef XmmsResult medialib_get_id(self, url, cb=*, encoded=*) # <<<<<<<<<<<<<<
1459 * cpdef XmmsResult medialib_import_path(self, path, cb=*, encoded=*)
1460 * cpdef XmmsResult medialib_property_set(self, int id, key, value, source=*, cb=*)
1461 */
1462struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_get_id {
1463 int __pyx_n;
1464 PyObject *cb;
1465 PyObject *encoded;
1466};
1467
1468/* "xmmsapi.pxd":197
1469 * cpdef XmmsResult medialib_rehash(self, int id=*, cb=*)
1470 * cpdef XmmsResult medialib_get_id(self, url, cb=*, encoded=*)
1471 * cpdef XmmsResult medialib_import_path(self, path, cb=*, encoded=*) # <<<<<<<<<<<<<<
1472 * cpdef XmmsResult medialib_property_set(self, int id, key, value, source=*, cb=*)
1473 * cpdef XmmsResult medialib_property_remove(self, int id, key, source=*, cb=*)
1474 */
1475struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_import_path {
1476 int __pyx_n;
1477 PyObject *cb;
1478 PyObject *encoded;
1479};
1480
1481/* "xmmsapi.pxd":198
1482 * cpdef XmmsResult medialib_get_id(self, url, cb=*, encoded=*)
1483 * cpdef XmmsResult medialib_import_path(self, path, cb=*, encoded=*)
1484 * cpdef XmmsResult medialib_property_set(self, int id, key, value, source=*, cb=*) # <<<<<<<<<<<<<<
1485 * cpdef XmmsResult medialib_property_remove(self, int id, key, source=*, cb=*)
1486 * cpdef XmmsResult broadcast_medialib_entry_added(self, cb=*)
1487 */
1488struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_property_set {
1489 int __pyx_n;
1490 PyObject *source;
1491 PyObject *cb;
1492};
1493
1494/* "xmmsapi.pxd":199
1495 * cpdef XmmsResult medialib_import_path(self, path, cb=*, encoded=*)
1496 * cpdef XmmsResult medialib_property_set(self, int id, key, value, source=*, cb=*)
1497 * cpdef XmmsResult medialib_property_remove(self, int id, key, source=*, cb=*) # <<<<<<<<<<<<<<
1498 * cpdef XmmsResult broadcast_medialib_entry_added(self, cb=*)
1499 * cpdef XmmsResult broadcast_medialib_entry_updated(self, cb=*)
1500 */
1501struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_property_remove {
1502 int __pyx_n;
1503 PyObject *source;
1504 PyObject *cb;
1505};
1506
1507/* "xmmsapi.pxd":200
1508 * cpdef XmmsResult medialib_property_set(self, int id, key, value, source=*, cb=*)
1509 * cpdef XmmsResult medialib_property_remove(self, int id, key, source=*, cb=*)
1510 * cpdef XmmsResult broadcast_medialib_entry_added(self, cb=*) # <<<<<<<<<<<<<<
1511 * cpdef XmmsResult broadcast_medialib_entry_updated(self, cb=*)
1512 * cpdef XmmsResult broadcast_medialib_entry_removed(self, cb=*)
1513 */
1514struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_medialib_entry_added {
1515 int __pyx_n;
1516 PyObject *cb;
1517};
1518
1519/* "xmmsapi.pxd":201
1520 * cpdef XmmsResult medialib_property_remove(self, int id, key, source=*, cb=*)
1521 * cpdef XmmsResult broadcast_medialib_entry_added(self, cb=*)
1522 * cpdef XmmsResult broadcast_medialib_entry_updated(self, cb=*) # <<<<<<<<<<<<<<
1523 * cpdef XmmsResult broadcast_medialib_entry_removed(self, cb=*)
1524 * cpdef XmmsResult broadcast_collection_changed(self, cb=*)
1525 */
1526struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_medialib_entry_updated {
1527 int __pyx_n;
1528 PyObject *cb;
1529};
1530
1531/* "xmmsapi.pxd":202
1532 * cpdef XmmsResult broadcast_medialib_entry_added(self, cb=*)
1533 * cpdef XmmsResult broadcast_medialib_entry_updated(self, cb=*)
1534 * cpdef XmmsResult broadcast_medialib_entry_removed(self, cb=*) # <<<<<<<<<<<<<<
1535 * cpdef XmmsResult broadcast_collection_changed(self, cb=*)
1536 * cpdef XmmsResult signal_mediainfo_reader_unindexed(self, cb=*)
1537 */
1538struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_medialib_entry_removed {
1539 int __pyx_n;
1540 PyObject *cb;
1541};
1542
1543/* "xmmsapi.pxd":203
1544 * cpdef XmmsResult broadcast_medialib_entry_updated(self, cb=*)
1545 * cpdef XmmsResult broadcast_medialib_entry_removed(self, cb=*)
1546 * cpdef XmmsResult broadcast_collection_changed(self, cb=*) # <<<<<<<<<<<<<<
1547 * cpdef XmmsResult signal_mediainfo_reader_unindexed(self, cb=*)
1548 * cpdef XmmsResult broadcast_mediainfo_reader_status(self, cb=*)
1549 */
1550struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_collection_changed {
1551 int __pyx_n;
1552 PyObject *cb;
1553};
1554
1555/* "xmmsapi.pxd":204
1556 * cpdef XmmsResult broadcast_medialib_entry_removed(self, cb=*)
1557 * cpdef XmmsResult broadcast_collection_changed(self, cb=*)
1558 * cpdef XmmsResult signal_mediainfo_reader_unindexed(self, cb=*) # <<<<<<<<<<<<<<
1559 * cpdef XmmsResult broadcast_mediainfo_reader_status(self, cb=*)
1560 * cpdef XmmsResult xform_media_browse(self, url, cb=*, encoded=*)
1561 */
1562struct __pyx_opt_args_7xmmsapi_7XmmsApi_signal_mediainfo_reader_unindexed {
1563 int __pyx_n;
1564 PyObject *cb;
1565};
1566
1567/* "xmmsapi.pxd":205
1568 * cpdef XmmsResult broadcast_collection_changed(self, cb=*)
1569 * cpdef XmmsResult signal_mediainfo_reader_unindexed(self, cb=*)
1570 * cpdef XmmsResult broadcast_mediainfo_reader_status(self, cb=*) # <<<<<<<<<<<<<<
1571 * cpdef XmmsResult xform_media_browse(self, url, cb=*, encoded=*)
1572 * cpdef XmmsResult coll_get(self, name, ns=*, cb=*)
1573 */
1574struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_mediainfo_reader_status {
1575 int __pyx_n;
1576 PyObject *cb;
1577};
1578
1579/* "xmmsapi.pxd":206
1580 * cpdef XmmsResult signal_mediainfo_reader_unindexed(self, cb=*)
1581 * cpdef XmmsResult broadcast_mediainfo_reader_status(self, cb=*)
1582 * cpdef XmmsResult xform_media_browse(self, url, cb=*, encoded=*) # <<<<<<<<<<<<<<
1583 * cpdef XmmsResult coll_get(self, name, ns=*, cb=*)
1584 * cpdef XmmsResult coll_list(self, ns=*, cb=*)
1585 */
1586struct __pyx_opt_args_7xmmsapi_7XmmsApi_xform_media_browse {
1587 int __pyx_n;
1588 PyObject *cb;
1589 PyObject *encoded;
1590};
1591
1592/* "xmmsapi.pxd":207
1593 * cpdef XmmsResult broadcast_mediainfo_reader_status(self, cb=*)
1594 * cpdef XmmsResult xform_media_browse(self, url, cb=*, encoded=*)
1595 * cpdef XmmsResult coll_get(self, name, ns=*, cb=*) # <<<<<<<<<<<<<<
1596 * cpdef XmmsResult coll_list(self, ns=*, cb=*)
1597 * cpdef XmmsResult coll_save(self, Collection coll, name, ns=*, cb=*)
1598 */
1599struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_get {
1600 int __pyx_n;
1601 PyObject *ns;
1602 PyObject *cb;
1603};
1604
1605/* "xmmsapi.pxd":208
1606 * cpdef XmmsResult xform_media_browse(self, url, cb=*, encoded=*)
1607 * cpdef XmmsResult coll_get(self, name, ns=*, cb=*)
1608 * cpdef XmmsResult coll_list(self, ns=*, cb=*) # <<<<<<<<<<<<<<
1609 * cpdef XmmsResult coll_save(self, Collection coll, name, ns=*, cb=*)
1610 * cpdef XmmsResult coll_remove(self, name, ns=*, cb=*)
1611 */
1612struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_list {
1613 int __pyx_n;
1614 PyObject *ns;
1615 PyObject *cb;
1616};
1617
1618/* "xmmsapi.pxd":209
1619 * cpdef XmmsResult coll_get(self, name, ns=*, cb=*)
1620 * cpdef XmmsResult coll_list(self, ns=*, cb=*)
1621 * cpdef XmmsResult coll_save(self, Collection coll, name, ns=*, cb=*) # <<<<<<<<<<<<<<
1622 * cpdef XmmsResult coll_remove(self, name, ns=*, cb=*)
1623 * cpdef XmmsResult coll_rename(self, oldname, newname, ns=*, cb=*)
1624 */
1625struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_save {
1626 int __pyx_n;
1627 PyObject *ns;
1628 PyObject *cb;
1629};
1630
1631/* "xmmsapi.pxd":210
1632 * cpdef XmmsResult coll_list(self, ns=*, cb=*)
1633 * cpdef XmmsResult coll_save(self, Collection coll, name, ns=*, cb=*)
1634 * cpdef XmmsResult coll_remove(self, name, ns=*, cb=*) # <<<<<<<<<<<<<<
1635 * cpdef XmmsResult coll_rename(self, oldname, newname, ns=*, cb=*)
1636 * cpdef XmmsResult coll_idlist_from_playlist_file(self, path, cb=*)
1637 */
1638struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_remove {
1639 int __pyx_n;
1640 PyObject *ns;
1641 PyObject *cb;
1642};
1643
1644/* "xmmsapi.pxd":211
1645 * cpdef XmmsResult coll_save(self, Collection coll, name, ns=*, cb=*)
1646 * cpdef XmmsResult coll_remove(self, name, ns=*, cb=*)
1647 * cpdef XmmsResult coll_rename(self, oldname, newname, ns=*, cb=*) # <<<<<<<<<<<<<<
1648 * cpdef XmmsResult coll_idlist_from_playlist_file(self, path, cb=*)
1649 * cpdef XmmsResult coll_query(self, Collection coll, fetch, cb=*)
1650 */
1651struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_rename {
1652 int __pyx_n;
1653 PyObject *ns;
1654 PyObject *cb;
1655};
1656
1657/* "xmmsapi.pxd":212
1658 * cpdef XmmsResult coll_remove(self, name, ns=*, cb=*)
1659 * cpdef XmmsResult coll_rename(self, oldname, newname, ns=*, cb=*)
1660 * cpdef XmmsResult coll_idlist_from_playlist_file(self, path, cb=*) # <<<<<<<<<<<<<<
1661 * cpdef XmmsResult coll_query(self, Collection coll, fetch, cb=*)
1662 * cpdef XmmsResult coll_query_ids(self, Collection coll, start=*, leng=*, order=*, cb=*)
1663 */
1664struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_idlist_from_playlist_file {
1665 int __pyx_n;
1666 PyObject *cb;
1667};
1668
1669/* "xmmsapi.pxd":213
1670 * cpdef XmmsResult coll_rename(self, oldname, newname, ns=*, cb=*)
1671 * cpdef XmmsResult coll_idlist_from_playlist_file(self, path, cb=*)
1672 * cpdef XmmsResult coll_query(self, Collection coll, fetch, cb=*) # <<<<<<<<<<<<<<
1673 * cpdef XmmsResult coll_query_ids(self, Collection coll, start=*, leng=*, order=*, cb=*)
1674 * cpdef XmmsResult coll_query_infos(self, Collection coll, fields, start=*, leng=*, order=*, groupby=*, cb=*)
1675 */
1676struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_query {
1677 int __pyx_n;
1678 PyObject *cb;
1679};
1680
1681/* "xmmsapi.pxd":214
1682 * cpdef XmmsResult coll_idlist_from_playlist_file(self, path, cb=*)
1683 * cpdef XmmsResult coll_query(self, Collection coll, fetch, cb=*)
1684 * cpdef XmmsResult coll_query_ids(self, Collection coll, start=*, leng=*, order=*, cb=*) # <<<<<<<<<<<<<<
1685 * cpdef XmmsResult coll_query_infos(self, Collection coll, fields, start=*, leng=*, order=*, groupby=*, cb=*)
1686 * #C2C
1687 */
1688struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_query_ids {
1689 int __pyx_n;
1690 PyObject *start;
1691 PyObject *leng;
1692 PyObject *order;
1693 PyObject *cb;
1694};
1695
1696/* "xmmsapi.pxd":215
1697 * cpdef XmmsResult coll_query(self, Collection coll, fetch, cb=*)
1698 * cpdef XmmsResult coll_query_ids(self, Collection coll, start=*, leng=*, order=*, cb=*)
1699 * cpdef XmmsResult coll_query_infos(self, Collection coll, fields, start=*, leng=*, order=*, groupby=*, cb=*) # <<<<<<<<<<<<<<
1700 * #C2C
1701 * #Low level API (internal ?) that should not be used directly.
1702 */
1703struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_query_infos {
1704 int __pyx_n;
1705 PyObject *start;
1706 PyObject *leng;
1707 PyObject *order;
1708 PyObject *groupby;
1709 PyObject *cb;
1710};
1711
1712/* "xmmsapi.pxd":222
1713 * #cpdef XmmsResult c2c_reply(self, int msgid, payload, reply_policy=*, cb=*)
1714 * #cpdef XmmsResult broadcast_c2c_message(self, cb=*)
1715 * cpdef XmmsResult c2c_ready(self, cb=*) # <<<<<<<<<<<<<<
1716 * cpdef XmmsResult c2c_get_connected_clients(self, cb=*)
1717 * cpdef XmmsResult c2c_get_ready_clients(self, cb=*)
1718 */
1719struct __pyx_opt_args_7xmmsapi_7XmmsApi_c2c_ready {
1720 int __pyx_n;
1721 PyObject *cb;
1722};
1723
1724/* "xmmsapi.pxd":223
1725 * #cpdef XmmsResult broadcast_c2c_message(self, cb=*)
1726 * cpdef XmmsResult c2c_ready(self, cb=*)
1727 * cpdef XmmsResult c2c_get_connected_clients(self, cb=*) # <<<<<<<<<<<<<<
1728 * cpdef XmmsResult c2c_get_ready_clients(self, cb=*)
1729 * cpdef XmmsResult broadcast_c2c_ready(self, cb=*)
1730 */
1731struct __pyx_opt_args_7xmmsapi_7XmmsApi_c2c_get_connected_clients {
1732 int __pyx_n;
1733 PyObject *cb;
1734};
1735
1736/* "xmmsapi.pxd":224
1737 * cpdef XmmsResult c2c_ready(self, cb=*)
1738 * cpdef XmmsResult c2c_get_connected_clients(self, cb=*)
1739 * cpdef XmmsResult c2c_get_ready_clients(self, cb=*) # <<<<<<<<<<<<<<
1740 * cpdef XmmsResult broadcast_c2c_ready(self, cb=*)
1741 * cpdef XmmsResult broadcast_c2c_client_connected(self, cb=*)
1742 */
1743struct __pyx_opt_args_7xmmsapi_7XmmsApi_c2c_get_ready_clients {
1744 int __pyx_n;
1745 PyObject *cb;
1746};
1747
1748/* "xmmsapi.pxd":225
1749 * cpdef XmmsResult c2c_get_connected_clients(self, cb=*)
1750 * cpdef XmmsResult c2c_get_ready_clients(self, cb=*)
1751 * cpdef XmmsResult broadcast_c2c_ready(self, cb=*) # <<<<<<<<<<<<<<
1752 * cpdef XmmsResult broadcast_c2c_client_connected(self, cb=*)
1753 * cpdef XmmsResult broadcast_c2c_client_disconnected(self, cb=*)
1754 */
1755struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_c2c_ready {
1756 int __pyx_n;
1757 PyObject *cb;
1758};
1759
1760/* "xmmsapi.pxd":226
1761 * cpdef XmmsResult c2c_get_ready_clients(self, cb=*)
1762 * cpdef XmmsResult broadcast_c2c_ready(self, cb=*)
1763 * cpdef XmmsResult broadcast_c2c_client_connected(self, cb=*) # <<<<<<<<<<<<<<
1764 * cpdef XmmsResult broadcast_c2c_client_disconnected(self, cb=*)
1765 * #Services
1766 */
1767struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_c2c_client_connected {
1768 int __pyx_n;
1769 PyObject *cb;
1770};
1771
1772/* "xmmsapi.pxd":227
1773 * cpdef XmmsResult broadcast_c2c_ready(self, cb=*)
1774 * cpdef XmmsResult broadcast_c2c_client_connected(self, cb=*)
1775 * cpdef XmmsResult broadcast_c2c_client_disconnected(self, cb=*) # <<<<<<<<<<<<<<
1776 * #Services
1777 * cpdef bint sc_init(self)
1778 */
1779struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_c2c_client_disconnected {
1780 int __pyx_n;
1781 PyObject *cb;
1782};
1783
1784/* "xmmsapi.pxd":230
1785 * #Services
1786 * cpdef bint sc_init(self)
1787 * cpdef bint sc_broadcast_emit(self, broadcast, value=*) # <<<<<<<<<<<<<<
1788 * cpdef XmmsResult sc_broadcast_subscribe(self, int dest, broadcast, cb=*)
1789 * cpdef XmmsResult sc_call(self, int dest, method, args=*, kargs=*, cb=*)
1790 */
1791struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_broadcast_emit {
1792 int __pyx_n;
1793 PyObject *value;
1794};
1795
1796/* "xmmsapi.pxd":231
1797 * cpdef bint sc_init(self)
1798 * cpdef bint sc_broadcast_emit(self, broadcast, value=*)
1799 * cpdef XmmsResult sc_broadcast_subscribe(self, int dest, broadcast, cb=*) # <<<<<<<<<<<<<<
1800 * cpdef XmmsResult sc_call(self, int dest, method, args=*, kargs=*, cb=*)
1801 * cpdef XmmsResult sc_introspect_namespace(self, int dest, path=*, cb=*)
1802 */
1803struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_broadcast_subscribe {
1804 int __pyx_n;
1805 PyObject *cb;
1806};
1807
1808/* "xmmsapi.pxd":232
1809 * cpdef bint sc_broadcast_emit(self, broadcast, value=*)
1810 * cpdef XmmsResult sc_broadcast_subscribe(self, int dest, broadcast, cb=*)
1811 * cpdef XmmsResult sc_call(self, int dest, method, args=*, kargs=*, cb=*) # <<<<<<<<<<<<<<
1812 * cpdef XmmsResult sc_introspect_namespace(self, int dest, path=*, cb=*)
1813 * cpdef XmmsResult sc_introspect_method(self, int dest, path, cb=*)
1814 */
1815struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_call {
1816 int __pyx_n;
1817 PyObject *args;
1818 PyObject *kargs;
1819 PyObject *cb;
1820};
1821
1822/* "xmmsapi.pxd":233
1823 * cpdef XmmsResult sc_broadcast_subscribe(self, int dest, broadcast, cb=*)
1824 * cpdef XmmsResult sc_call(self, int dest, method, args=*, kargs=*, cb=*)
1825 * cpdef XmmsResult sc_introspect_namespace(self, int dest, path=*, cb=*) # <<<<<<<<<<<<<<
1826 * cpdef XmmsResult sc_introspect_method(self, int dest, path, cb=*)
1827 * cpdef XmmsResult sc_introspect_broadcast(self, int dest, path, cb=*)
1828 */
1829struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_namespace {
1830 int __pyx_n;
1831 PyObject *path;
1832 PyObject *cb;
1833};
1834
1835/* "xmmsapi.pxd":234
1836 * cpdef XmmsResult sc_call(self, int dest, method, args=*, kargs=*, cb=*)
1837 * cpdef XmmsResult sc_introspect_namespace(self, int dest, path=*, cb=*)
1838 * cpdef XmmsResult sc_introspect_method(self, int dest, path, cb=*) # <<<<<<<<<<<<<<
1839 * cpdef XmmsResult sc_introspect_broadcast(self, int dest, path, cb=*)
1840 * cpdef XmmsResult sc_introspect_constant(self, int dest, path, cb=*)
1841 */
1842struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_method {
1843 int __pyx_n;
1844 PyObject *cb;
1845};
1846
1847/* "xmmsapi.pxd":235
1848 * cpdef XmmsResult sc_introspect_namespace(self, int dest, path=*, cb=*)
1849 * cpdef XmmsResult sc_introspect_method(self, int dest, path, cb=*)
1850 * cpdef XmmsResult sc_introspect_broadcast(self, int dest, path, cb=*) # <<<<<<<<<<<<<<
1851 * cpdef XmmsResult sc_introspect_constant(self, int dest, path, cb=*)
1852 * cpdef XmmsResult sc_introspect_docstring(self, int dest, path, cb=*)
1853 */
1854struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_broadcast {
1855 int __pyx_n;
1856 PyObject *cb;
1857};
1858
1859/* "xmmsapi.pxd":236
1860 * cpdef XmmsResult sc_introspect_method(self, int dest, path, cb=*)
1861 * cpdef XmmsResult sc_introspect_broadcast(self, int dest, path, cb=*)
1862 * cpdef XmmsResult sc_introspect_constant(self, int dest, path, cb=*) # <<<<<<<<<<<<<<
1863 * cpdef XmmsResult sc_introspect_docstring(self, int dest, path, cb=*)
1864 * #
1865 */
1866struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_constant {
1867 int __pyx_n;
1868 PyObject *cb;
1869};
1870
1871/* "xmmsapi.pxd":237
1872 * cpdef XmmsResult sc_introspect_broadcast(self, int dest, path, cb=*)
1873 * cpdef XmmsResult sc_introspect_constant(self, int dest, path, cb=*)
1874 * cpdef XmmsResult sc_introspect_docstring(self, int dest, path, cb=*) # <<<<<<<<<<<<<<
1875 * #
1876 * cpdef XmmsResult bindata_add(self, data, cb=*)
1877 */
1878struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_docstring {
1879 int __pyx_n;
1880 PyObject *cb;
1881};
1882
1883/* "xmmsapi.pxd":239
1884 * cpdef XmmsResult sc_introspect_docstring(self, int dest, path, cb=*)
1885 * #
1886 * cpdef XmmsResult bindata_add(self, data, cb=*) # <<<<<<<<<<<<<<
1887 * cpdef XmmsResult bindata_retrieve(self, hash, cb=*)
1888 * cpdef XmmsResult bindata_remove(self, hash, cb=*)
1889 */
1890struct __pyx_opt_args_7xmmsapi_7XmmsApi_bindata_add {
1891 int __pyx_n;
1892 PyObject *cb;
1893};
1894
1895/* "xmmsapi.pxd":240
1896 * #
1897 * cpdef XmmsResult bindata_add(self, data, cb=*)
1898 * cpdef XmmsResult bindata_retrieve(self, hash, cb=*) # <<<<<<<<<<<<<<
1899 * cpdef XmmsResult bindata_remove(self, hash, cb=*)
1900 * cpdef XmmsResult bindata_list(self, cb=*)
1901 */
1902struct __pyx_opt_args_7xmmsapi_7XmmsApi_bindata_retrieve {
1903 int __pyx_n;
1904 PyObject *cb;
1905};
1906
1907/* "xmmsapi.pxd":241
1908 * cpdef XmmsResult bindata_add(self, data, cb=*)
1909 * cpdef XmmsResult bindata_retrieve(self, hash, cb=*)
1910 * cpdef XmmsResult bindata_remove(self, hash, cb=*) # <<<<<<<<<<<<<<
1911 * cpdef XmmsResult bindata_list(self, cb=*)
1912 * cpdef XmmsResult stats(self, cb=*)
1913 */
1914struct __pyx_opt_args_7xmmsapi_7XmmsApi_bindata_remove {
1915 int __pyx_n;
1916 PyObject *cb;
1917};
1918
1919/* "xmmsapi.pxd":242
1920 * cpdef XmmsResult bindata_retrieve(self, hash, cb=*)
1921 * cpdef XmmsResult bindata_remove(self, hash, cb=*)
1922 * cpdef XmmsResult bindata_list(self, cb=*) # <<<<<<<<<<<<<<
1923 * cpdef XmmsResult stats(self, cb=*)
1924 * cpdef XmmsResult visualization_version(self, cb=*)
1925 */
1926struct __pyx_opt_args_7xmmsapi_7XmmsApi_bindata_list {
1927 int __pyx_n;
1928 PyObject *cb;
1929};
1930
1931/* "xmmsapi.pxd":243
1932 * cpdef XmmsResult bindata_remove(self, hash, cb=*)
1933 * cpdef XmmsResult bindata_list(self, cb=*)
1934 * cpdef XmmsResult stats(self, cb=*) # <<<<<<<<<<<<<<
1935 * cpdef XmmsResult visualization_version(self, cb=*)
1936 * cpdef XmmsResult visualization_init(self, cb=*)
1937 */
1938struct __pyx_opt_args_7xmmsapi_7XmmsApi_stats {
1939 int __pyx_n;
1940 PyObject *cb;
1941};
1942
1943/* "xmmsapi.pxd":244
1944 * cpdef XmmsResult bindata_list(self, cb=*)
1945 * cpdef XmmsResult stats(self, cb=*)
1946 * cpdef XmmsResult visualization_version(self, cb=*) # <<<<<<<<<<<<<<
1947 * cpdef XmmsResult visualization_init(self, cb=*)
1948 * cpdef XmmsResult visualization_start(self, int handle, cb=*)
1949 */
1950struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_version {
1951 int __pyx_n;
1952 PyObject *cb;
1953};
1954
1955/* "xmmsapi.pxd":245
1956 * cpdef XmmsResult stats(self, cb=*)
1957 * cpdef XmmsResult visualization_version(self, cb=*)
1958 * cpdef XmmsResult visualization_init(self, cb=*) # <<<<<<<<<<<<<<
1959 * cpdef XmmsResult visualization_start(self, int handle, cb=*)
1960 * cpdef bint visualization_started(self, int handle)
1961 */
1962struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_init {
1963 int __pyx_n;
1964 PyObject *cb;
1965};
1966
1967/* "xmmsapi.pxd":246
1968 * cpdef XmmsResult visualization_version(self, cb=*)
1969 * cpdef XmmsResult visualization_init(self, cb=*)
1970 * cpdef XmmsResult visualization_start(self, int handle, cb=*) # <<<<<<<<<<<<<<
1971 * cpdef bint visualization_started(self, int handle)
1972 * cpdef bint visualization_errored(self, int handle)
1973 */
1974struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_start {
1975 int __pyx_n;
1976 PyObject *cb;
1977};
1978
1979/* "xmmsapi.pxd":249
1980 * cpdef bint visualization_started(self, int handle)
1981 * cpdef bint visualization_errored(self, int handle)
1982 * cpdef XmmsResult visualization_property_set(self, int handle, key, value, cb=*) # <<<<<<<<<<<<<<
1983 * cpdef XmmsResult visualization_properties_set(self, int handle, props=*, cb=*)
1984 * cpdef XmmsVisChunk visualization_chunk_get(self, int handle, int drawtime=*, bint blocking=*)
1985 */
1986struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_property_set {
1987 int __pyx_n;
1988 PyObject *cb;
1989};
1990
1991/* "xmmsapi.pxd":250
1992 * cpdef bint visualization_errored(self, int handle)
1993 * cpdef XmmsResult visualization_property_set(self, int handle, key, value, cb=*)
1994 * cpdef XmmsResult visualization_properties_set(self, int handle, props=*, cb=*) # <<<<<<<<<<<<<<
1995 * cpdef XmmsVisChunk visualization_chunk_get(self, int handle, int drawtime=*, bint blocking=*)
1996 * cpdef visualization_shutdown(self, int handle)
1997 */
1998struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_properties_set {
1999 int __pyx_n;
2000 PyObject *props;
2001 PyObject *cb;
2002};
2003
2004/* "xmmsapi.pxd":251
2005 * cpdef XmmsResult visualization_property_set(self, int handle, key, value, cb=*)
2006 * cpdef XmmsResult visualization_properties_set(self, int handle, props=*, cb=*)
2007 * cpdef XmmsVisChunk visualization_chunk_get(self, int handle, int drawtime=*, bint blocking=*) # <<<<<<<<<<<<<<
2008 * cpdef visualization_shutdown(self, int handle)
2009 *
2010 */
2011struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_chunk_get {
2012 int __pyx_n;
2013 int drawtime;
2014 int blocking;
2015};
2016
2017/* "xmmsvalue.pxd":8
2018 * ctypedef struct xmmsv_list_iter_t
2019 *
2020 * cdef class XmmsValue: # <<<<<<<<<<<<<<
2021 * cdef object sourcepref
2022 * cdef xmmsv_t *val
2023 */
2024struct __pyx_obj_9xmmsvalue_XmmsValue {
2025 PyObject_HEADPy_ssize_t ob_refcnt; struct _typeobject *ob_type;
2026 struct __pyx_vtabstruct_9xmmsvalue_XmmsValue *__pyx_vtab;
2027 PyObject *sourcepref;
2028 xmmsv_t *val;
2029 int ispropdict;
2030};
2031
2032
2033/* "xmmsvalue.pxd":32
2034 * cpdef copy(self, cls=*)
2035 *
2036 * cdef class XmmsValueC2C(XmmsValue): # <<<<<<<<<<<<<<
2037 * pass
2038 *
2039 */
2040struct __pyx_obj_9xmmsvalue_XmmsValueC2C {
2041 struct __pyx_obj_9xmmsvalue_XmmsValue __pyx_base;
2042};
2043
2044
2045/* "xmmsvalue.pxd":35
2046 * pass
2047 *
2048 * cdef class XmmsListIter: # <<<<<<<<<<<<<<
2049 * cdef object sourcepref
2050 * cdef xmmsv_t *val
2051 */
2052struct __pyx_obj_9xmmsvalue_XmmsListIter {
2053 PyObject_HEADPy_ssize_t ob_refcnt; struct _typeobject *ob_type;
2054 PyObject *sourcepref;
2055 xmmsv_t *val;
2056 xmmsv_list_iter_t *it;
2057};
2058
2059
2060/* "xmmsvalue.pxd":40
2061 * cdef xmmsv_list_iter_t *it
2062 *
2063 * cdef class XmmsDictIter: # <<<<<<<<<<<<<<
2064 * cdef object sourcepref
2065 * cdef xmmsv_t *val
2066 */
2067struct __pyx_obj_9xmmsvalue_XmmsDictIter {
2068 PyObject_HEADPy_ssize_t ob_refcnt; struct _typeobject *ob_type;
2069 PyObject *sourcepref;
2070 xmmsv_t *val;
2071 xmmsv_dict_iter_t *it;
2072};
2073
2074
2075/* "xmmsvalue.pxd":45
2076 * cdef xmmsv_dict_iter_t *it
2077 *
2078 * cdef class CollectionRef: # <<<<<<<<<<<<<<
2079 * cdef xmmsv_t *coll
2080 *
2081 */
2082struct __pyx_obj_9xmmsvalue_CollectionRef {
2083 PyObject_HEADPy_ssize_t ob_refcnt; struct _typeobject *ob_type;
2084 struct __pyx_vtabstruct_9xmmsvalue_CollectionRef *__pyx_vtab;
2085 xmmsv_t *coll;
2086};
2087
2088
2089/* "xmmsvalue.pxd":50
2090 * cdef set_collection(self, xmmsv_t *coll)
2091 *
2092 * cdef class Collection(CollectionRef): # <<<<<<<<<<<<<<
2093 * cdef object _attributes
2094 * cdef object _operands
2095 */
2096struct __pyx_obj_9xmmsvalue_Collection {
2097 struct __pyx_obj_9xmmsvalue_CollectionRef __pyx_base;
2098 PyObject *_attributes;
2099 PyObject *_operands;
2100 PyObject *_idlist;
2101};
2102
2103
2104/* "xmmsvalue.pxd":61
2105 * cpdef copy(self)
2106 *
2107 * cdef class CollectionAttributes(CollectionRef): # <<<<<<<<<<<<<<
2108 * cpdef get_dict(self)
2109 * cpdef iterkeys(self)
2110 */
2111struct __pyx_obj_9xmmsvalue_CollectionAttributes {
2112 struct __pyx_obj_9xmmsvalue_CollectionRef __pyx_base;
2113};
2114
2115
2116/* "xmmsvalue.pxd":81
2117 * ITER_XVALUES = 4
2118 * ITER_XITEMS = 5
2119 * cdef class AttributesIterator: # <<<<<<<<<<<<<<
2120 * cdef xmmsv_dict_iter_t *diter
2121 * cdef int itertype
2122 */
2123struct __pyx_obj_9xmmsvalue_AttributesIterator {
2124 PyObject_HEADPy_ssize_t ob_refcnt; struct _typeobject *ob_type;
2125 struct __pyx_vtabstruct_9xmmsvalue_AttributesIterator *__pyx_vtab;
2126 xmmsv_dict_iter_t *diter;
2127 int itertype;
2128 struct __pyx_obj_9xmmsvalue_CollectionAttributes *attr;
2129};
2130
2131
2132/* "xmmsvalue.pxd":89
2133 *
2134 *
2135 * cdef class CollectionOperands(CollectionRef): # <<<<<<<<<<<<<<
2136 * cdef object pylist
2137 * cdef init_pylist(self)
2138 */
2139struct __pyx_obj_9xmmsvalue_CollectionOperands {
2140 struct __pyx_obj_9xmmsvalue_CollectionRef __pyx_base;
2141 PyObject *pylist;
2142};
2143
2144
2145/* "xmmsvalue.pxd":100
2146 *
2147 *
2148 * cdef class CollectionIDList(CollectionRef): # <<<<<<<<<<<<<<
2149 * cpdef append(self, int v)
2150 * cpdef extend(self, v)
2151 */
2152struct __pyx_obj_9xmmsvalue_CollectionIDList {
2153 struct __pyx_obj_9xmmsvalue_CollectionRef __pyx_base;
2154};
2155
2156
2157/* "xmmsapi.pxd":8
2158 * cdef void ResultDestroyNotifier(void *o)
2159 *
2160 * cdef class XmmsSourcePreference: # <<<<<<<<<<<<<<
2161 * cdef object sources
2162 *
2163 */
2164struct __pyx_obj_7xmmsapi_XmmsSourcePreference {
2165 PyObject_HEADPy_ssize_t ob_refcnt; struct _typeobject *ob_type;
2166 PyObject *sources;
2167};
2168
2169
2170/* "xmmsapi.pxd":12
2171 *
2172 * cdef class XmmsResult
2173 * cdef class XmmsResultTracker: # <<<<<<<<<<<<<<
2174 * cdef object results
2175 *
2176 */
2177struct __pyx_obj_7xmmsapi_XmmsResultTracker {
2178 PyObject_HEADPy_ssize_t ob_refcnt; struct _typeobject *ob_type;
2179 struct __pyx_vtabstruct_7xmmsapi_XmmsResultTracker *__pyx_vtab;
2180 PyObject *results;
2181};
2182
2183
2184/* "xmmsapi.pxd":11
2185 * cdef object sources
2186 *
2187 * cdef class XmmsResult # <<<<<<<<<<<<<<
2188 * cdef class XmmsResultTracker:
2189 * cdef object results
2190 */
2191struct __pyx_obj_7xmmsapi_XmmsResult {
2192 PyObject_HEADPy_ssize_t ob_refcnt; struct _typeobject *ob_type;
2193 struct __pyx_vtabstruct_7xmmsapi_XmmsResult *__pyx_vtab;
2194 xmmsc_result_t *res;
2195 PyObject *_cb;
2196 int _cb_issetup;
2197 struct __pyx_obj_7xmmsapi_XmmsSourcePreference *source_pref;
2198 int ispropdict;
2199 struct __pyx_obj_7xmmsapi_XmmsResultTracker *result_tracker;
2200};
2201
2202
2203/* "xmmsapi.pxd":43
2204 * VIS_RESULT_CMD_START = 2
2205 *
2206 * cdef class XmmsVisResult(XmmsResult): # <<<<<<<<<<<<<<
2207 * cdef XmmsValue _val
2208 * cdef VisResultCommand command
2209 */
2210struct __pyx_obj_7xmmsapi_XmmsVisResult {
2211 struct __pyx_obj_7xmmsapi_XmmsResult __pyx_base;
2212 struct __pyx_obj_9xmmsvalue_XmmsValue *_val;
2213 __pyx_t_7xmmsapi_VisResultCommand command;
2214 xmmsc_connection_t *conn;
2215};
2216
2217
2218/* "xmmsapi.pxd":54
2219 * cpdef xmmsvalue(self)
2220 *
2221 * cdef class XmmsVisChunk: # <<<<<<<<<<<<<<
2222 * cdef short *data
2223 * cdef int sample_count
2224 */
2225struct __pyx_obj_7xmmsapi_XmmsVisChunk {
2226 PyObject_HEADPy_ssize_t ob_refcnt; struct _typeobject *ob_type;
2227 struct __pyx_vtabstruct_7xmmsapi_XmmsVisChunk *__pyx_vtab;
2228 short *data;
2229 int sample_count;
2230};
2231
2232
2233/* "xmmsapi.pxd":63
2234 *
2235 * cdef class XmmsCore
2236 * cdef class XmmsServiceNamespace: # <<<<<<<<<<<<<<
2237 * cdef readonly XmmsCore xmms
2238 * cdef readonly XmmsServiceNamespace parent
2239 */
2240struct __pyx_obj_7xmmsapi_XmmsServiceNamespace {
2241 PyObject_HEADPy_ssize_t ob_refcnt; struct _typeobject *ob_type;
2242 struct __pyx_vtabstruct_7xmmsapi_XmmsServiceNamespace *__pyx_vtab;
2243 struct __pyx_obj_7xmmsapi_XmmsCore *xmms;
2244 struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *parent;
2245 int registered;
2246 PyObject *_bound_methods;
2247};
2248
2249
2250/* "xmmsapi.pxd":76
2251 * cpdef register(self)
2252 *
2253 * cdef class service_broadcast: # <<<<<<<<<<<<<<
2254 * cdef public object name
2255 * cdef public object doc
2256 */
2257struct __pyx_obj_7xmmsapi_service_broadcast {
2258 PyObject_HEADPy_ssize_t ob_refcnt; struct _typeobject *ob_type;
2259 struct __pyx_vtabstruct_7xmmsapi_service_broadcast *__pyx_vtab;
2260 PyObject *name;
2261 PyObject *doc;
2262 struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *namespace;
2263};
2264
2265
2266/* "xmmsapi.pxd":87
2267 *
2268 * cdef class _XmmsServiceClient
2269 * cdef class client_broadcast: # <<<<<<<<<<<<<<
2270 * cdef XmmsCore _xmms
2271 * cdef bint _async
2272 */
2273struct __pyx_obj_7xmmsapi_client_broadcast {
2274 PyObject_HEADPy_ssize_t ob_refcnt; struct _typeobject *ob_type;
2275 struct __pyx_obj_7xmmsapi_XmmsCore *_xmms;
2276 int _async;
2277 PyObject *_path;
2278 int _clientid;
2279 PyObject *name;
2280 PyObject *docstring;
2281};
2282
2283
2284/* "xmmsapi.pxd":95
2285 * cdef readonly object docstring
2286 *
2287 * cdef class client_method: # <<<<<<<<<<<<<<
2288 * cdef _XmmsServiceClient _parent
2289 * cdef object _callback
2290 */
2291struct __pyx_obj_7xmmsapi_client_method {
2292 PyObject_HEADPy_ssize_t ob_refcnt; struct _typeobject *ob_type;
2293 struct __pyx_obj_7xmmsapi__XmmsServiceClient *_parent;
2294 PyObject *_callback;
2295 PyObject *_path;
2296 int _clientid;
2297 PyObject *name;
2298 PyObject *docstring;
2299 PyObject *inspect;
2300};
2301
2302
2303/* "xmmsapi.pxd":86
2304 * cdef xmmsc_sc_namespace_t *_namespace_get(xmmsc_connection_t *c, path, bint create)
2305 *
2306 * cdef class _XmmsServiceClient # <<<<<<<<<<<<<<
2307 * cdef class client_broadcast:
2308 * cdef XmmsCore _xmms
2309 */
2310struct __pyx_obj_7xmmsapi__XmmsServiceClient {
2311 PyObject_HEADPy_ssize_t ob_refcnt; struct _typeobject *ob_type;
2312 PyObject *_path;
2313 int _async;
2314 struct __pyx_obj_7xmmsapi_XmmsCore *_xmms;
2315 int _clientid;
2316};
2317
2318
2319/* "xmmsapi.pxd":110
2320 * cdef readonly int _clientid
2321 *
2322 * cdef class XmmsProxy: # <<<<<<<<<<<<<<
2323 * cdef XmmsCore _get_xmms(self)
2324 *
2325 */
2326struct __pyx_obj_7xmmsapi_XmmsProxy {
2327 PyObject_HEADPy_ssize_t ob_refcnt; struct _typeobject *ob_type;
2328 struct __pyx_vtabstruct_7xmmsapi_XmmsProxy *__pyx_vtab;
2329};
2330
2331
2332/* "xmmsapi.pxd":62
2333 * cpdef get_data(self)
2334 *
2335 * cdef class XmmsCore # <<<<<<<<<<<<<<
2336 * cdef class XmmsServiceNamespace:
2337 * cdef readonly XmmsCore xmms
2338 */
2339struct __pyx_obj_7xmmsapi_XmmsCore {
2340 PyObject_HEADPy_ssize_t ob_refcnt; struct _typeobject *ob_type;
2341 struct __pyx_vtabstruct_7xmmsapi_XmmsCore *__pyx_vtab;
2342 xmmsc_connection_t *conn;
2343 int isconnected;
2344 PyObject *disconnect_fun;
2345 PyObject *needout_fun;
2346 struct __pyx_obj_7xmmsapi_XmmsSourcePreference *source_preference;
2347 struct __pyx_obj_7xmmsapi_XmmsResultTracker *result_tracker;
2348 PyObject *clientname;
2349};
2350
2351
2352/* "xmmsapi.pxd":142
2353 * cpdef userconfdir_get()
2354 *
2355 * cdef class XmmsApi(XmmsCore): # <<<<<<<<<<<<<<
2356 * cpdef int c2c_get_own_id(self)
2357 * cpdef XmmsResult quit(self, cb=*)
2358 */
2359struct __pyx_obj_7xmmsapi_XmmsApi {
2360 struct __pyx_obj_7xmmsapi_XmmsCore __pyx_base;
2361};
2362
2363
2364/* "xmmsapi.pxd":254
2365 * cpdef visualization_shutdown(self, int handle)
2366 *
2367 * cdef class XmmsLoop(XmmsApi): # <<<<<<<<<<<<<<
2368 * cdef bint do_loop
2369 * cdef object wakeup
2370 */
2371struct __pyx_obj_7xmmsapi_XmmsLoop {
2372 struct __pyx_obj_7xmmsapi_XmmsApi __pyx_base;
2373 int do_loop;
2374 PyObject *wakeup;
2375};
2376
2377
2378/* "xmmsapi.pyx":55
2379 * #####################################################################
2380 *
2381 * def deprecated(f): # <<<<<<<<<<<<<<
2382 * def deprecated_decorator(*a, **kw):
2383 * from os import getenv
2384 */
2385struct __pyx_obj_7xmmsapi___pyx_scope_struct__deprecated {
2386 PyObject_HEADPy_ssize_t ob_refcnt; struct _typeobject *ob_type;
2387 PyObject *__pyx_v_f;
2388};
2389
2390
2391/* "xmmsapi.pyx":835
2392 * sc(recursive, cb)
2393 *
2394 * def _update_api_callback(self, cb = None, recursive = False): # <<<<<<<<<<<<<<
2395 * def _update_api(xvalue):
2396 * self._update_api(xvalue, recursive, cb)
2397 */
2398struct __pyx_obj_7xmmsapi___pyx_scope_struct_1__update_api_callback {
2399 PyObject_HEADPy_ssize_t ob_refcnt; struct _typeobject *ob_type;
2400 PyObject *__pyx_v_cb;
2401 PyObject *__pyx_v_recursive;
2402 PyObject *__pyx_v_self;
2403};
2404
2405
2406
2407/* "xmmsvalue.pxd":8
2408 * ctypedef struct xmmsv_list_iter_t
2409 *
2410 * cdef class XmmsValue: # <<<<<<<<<<<<<<
2411 * cdef object sourcepref
2412 * cdef xmmsv_t *val
2413 */
2414
2415struct __pyx_vtabstruct_9xmmsvalue_XmmsValue {
2416 PyObject *(*set_value)(struct __pyx_obj_9xmmsvalue_XmmsValue *, xmmsv_t *, struct __pyx_opt_args_9xmmsvalue_9XmmsValue_set_value *__pyx_optional_args);
2417 PyObject *(*set_pyval)(struct __pyx_obj_9xmmsvalue_XmmsValue *, PyObject *, int __pyx_skip_dispatch);
2418 PyObject *(*get_type)(struct __pyx_obj_9xmmsvalue_XmmsValue *, int __pyx_skip_dispatch);
2419 PyObject *(*iserror)(struct __pyx_obj_9xmmsvalue_XmmsValue *, int __pyx_skip_dispatch);
2420 PyObject *(*is_error)(struct __pyx_obj_9xmmsvalue_XmmsValue *, int __pyx_skip_dispatch);
2421 PyObject *(*get_error)(struct __pyx_obj_9xmmsvalue_XmmsValue *, int __pyx_skip_dispatch);
2422 PyObject *(*get_int)(struct __pyx_obj_9xmmsvalue_XmmsValue *, int __pyx_skip_dispatch);
2423 PyObject *(*get_float)(struct __pyx_obj_9xmmsvalue_XmmsValue *, int __pyx_skip_dispatch);
2424 PyObject *(*get_string)(struct __pyx_obj_9xmmsvalue_XmmsValue *, int __pyx_skip_dispatch);
2425 PyObject *(*get_bin)(struct __pyx_obj_9xmmsvalue_XmmsValue *, int __pyx_skip_dispatch);
2426 PyObject *(*get_coll)(struct __pyx_obj_9xmmsvalue_XmmsValue *, int __pyx_skip_dispatch);
2427 PyObject *(*get_dict)(struct __pyx_obj_9xmmsvalue_XmmsValue *, int __pyx_skip_dispatch);
2428 PyObject *(*get_dict_iter)(struct __pyx_obj_9xmmsvalue_XmmsValue *, int __pyx_skip_dispatch);
2429 PyObject *(*get_propdict)(struct __pyx_obj_9xmmsvalue_XmmsValue *, int __pyx_skip_dispatch);
2430 PyObject *(*get_list)(struct __pyx_obj_9xmmsvalue_XmmsValue *, int __pyx_skip_dispatch);
2431 PyObject *(*get_list_iter)(struct __pyx_obj_9xmmsvalue_XmmsValue *, int __pyx_skip_dispatch);
2432 PyObject *(*value)(struct __pyx_obj_9xmmsvalue_XmmsValue *, int __pyx_skip_dispatch);
2433 PyObject *(*copy)(struct __pyx_obj_9xmmsvalue_XmmsValue *, int __pyx_skip_dispatch, struct __pyx_opt_args_9xmmsvalue_9XmmsValue_copy *__pyx_optional_args);
2434};
2435static struct __pyx_vtabstruct_9xmmsvalue_XmmsValue *__pyx_vtabptr_9xmmsvalue_XmmsValue;
2436
2437
2438/* "xmmsvalue.pxd":32
2439 * cpdef copy(self, cls=*)
2440 *
2441 * cdef class XmmsValueC2C(XmmsValue): # <<<<<<<<<<<<<<
2442 * pass
2443 *
2444 */
2445
2446struct __pyx_vtabstruct_9xmmsvalue_XmmsValueC2C {
2447 struct __pyx_vtabstruct_9xmmsvalue_XmmsValue __pyx_base;
2448};
2449static struct __pyx_vtabstruct_9xmmsvalue_XmmsValueC2C *__pyx_vtabptr_9xmmsvalue_XmmsValueC2C;
2450
2451
2452/* "xmmsvalue.pxd":45
2453 * cdef xmmsv_dict_iter_t *it
2454 *
2455 * cdef class CollectionRef: # <<<<<<<<<<<<<<
2456 * cdef xmmsv_t *coll
2457 *
2458 */
2459
2460struct __pyx_vtabstruct_9xmmsvalue_CollectionRef {
2461 PyObject *(*set_collection)(struct __pyx_obj_9xmmsvalue_CollectionRef *, xmmsv_t *);
2462};
2463static struct __pyx_vtabstruct_9xmmsvalue_CollectionRef *__pyx_vtabptr_9xmmsvalue_CollectionRef;
2464
2465
2466/* "xmmsvalue.pxd":50
2467 * cdef set_collection(self, xmmsv_t *coll)
2468 *
2469 * cdef class Collection(CollectionRef): # <<<<<<<<<<<<<<
2470 * cdef object _attributes
2471 * cdef object _operands
2472 */
2473
2474struct __pyx_vtabstruct_9xmmsvalue_Collection {
2475 struct __pyx_vtabstruct_9xmmsvalue_CollectionRef __pyx_base;
2476 PyObject *(*init_idlist)(struct __pyx_obj_9xmmsvalue_Collection *);
2477 PyObject *(*init_attributes)(struct __pyx_obj_9xmmsvalue_Collection *);
2478 PyObject *(*init_operands)(struct __pyx_obj_9xmmsvalue_Collection *);
2479 PyObject *(*copy)(struct __pyx_obj_9xmmsvalue_Collection *, int __pyx_skip_dispatch);
2480};
2481static struct __pyx_vtabstruct_9xmmsvalue_Collection *__pyx_vtabptr_9xmmsvalue_Collection;
2482
2483
2484/* "xmmsvalue.pxd":61
2485 * cpdef copy(self)
2486 *
2487 * cdef class CollectionAttributes(CollectionRef): # <<<<<<<<<<<<<<
2488 * cpdef get_dict(self)
2489 * cpdef iterkeys(self)
2490 */
2491
2492struct __pyx_vtabstruct_9xmmsvalue_CollectionAttributes {
2493 struct __pyx_vtabstruct_9xmmsvalue_CollectionRef __pyx_base;
2494 PyObject *(*get_dict)(struct __pyx_obj_9xmmsvalue_CollectionAttributes *, int __pyx_skip_dispatch);
2495 PyObject *(*iterkeys)(struct __pyx_obj_9xmmsvalue_CollectionAttributes *, int __pyx_skip_dispatch);
2496 PyObject *(*keys)(struct __pyx_obj_9xmmsvalue_CollectionAttributes *, int __pyx_skip_dispatch);
2497 PyObject *(*itervalues)(struct __pyx_obj_9xmmsvalue_CollectionAttributes *, int __pyx_skip_dispatch);
2498 PyObject *(*iterxvalues)(struct __pyx_obj_9xmmsvalue_CollectionAttributes *, int __pyx_skip_dispatch);
2499 PyObject *(*values)(struct __pyx_obj_9xmmsvalue_CollectionAttributes *, int __pyx_skip_dispatch);
2500 PyObject *(*xvalues)(struct __pyx_obj_9xmmsvalue_CollectionAttributes *, int __pyx_skip_dispatch);
2501 PyObject *(*iteritems)(struct __pyx_obj_9xmmsvalue_CollectionAttributes *, int __pyx_skip_dispatch);
2502 PyObject *(*iterxitems)(struct __pyx_obj_9xmmsvalue_CollectionAttributes *, int __pyx_skip_dispatch);
2503 PyObject *(*items)(struct __pyx_obj_9xmmsvalue_CollectionAttributes *, int __pyx_skip_dispatch);
2504 PyObject *(*xitems)(struct __pyx_obj_9xmmsvalue_CollectionAttributes *, int __pyx_skip_dispatch);
2505 PyObject *(*clear)(struct __pyx_obj_9xmmsvalue_CollectionAttributes *, int __pyx_skip_dispatch);
2506};
2507static struct __pyx_vtabstruct_9xmmsvalue_CollectionAttributes *__pyx_vtabptr_9xmmsvalue_CollectionAttributes;
2508
2509
2510/* "xmmsvalue.pxd":81
2511 * ITER_XVALUES = 4
2512 * ITER_XITEMS = 5
2513 * cdef class AttributesIterator: # <<<<<<<<<<<<<<
2514 * cdef xmmsv_dict_iter_t *diter
2515 * cdef int itertype
2516 */
2517
2518struct __pyx_vtabstruct_9xmmsvalue_AttributesIterator {
2519 PyObject *(*reset)(struct __pyx_obj_9xmmsvalue_AttributesIterator *, int __pyx_skip_dispatch);
2520};
2521static struct __pyx_vtabstruct_9xmmsvalue_AttributesIterator *__pyx_vtabptr_9xmmsvalue_AttributesIterator;
2522
2523
2524/* "xmmsvalue.pxd":89
2525 *
2526 *
2527 * cdef class CollectionOperands(CollectionRef): # <<<<<<<<<<<<<<
2528 * cdef object pylist
2529 * cdef init_pylist(self)
2530 */
2531
2532struct __pyx_vtabstruct_9xmmsvalue_CollectionOperands {
2533 struct __pyx_vtabstruct_9xmmsvalue_CollectionRef __pyx_base;
2534 PyObject *(*init_pylist)(struct __pyx_obj_9xmmsvalue_CollectionOperands *);
2535 PyObject *(*append)(struct __pyx_obj_9xmmsvalue_CollectionOperands *, struct __pyx_obj_9xmmsvalue_Collection *, int __pyx_skip_dispatch);
2536 PyObject *(*extend)(struct __pyx_obj_9xmmsvalue_CollectionOperands *, PyObject *, int __pyx_skip_dispatch);
2537 PyObject *(*remove)(struct __pyx_obj_9xmmsvalue_CollectionOperands *, struct __pyx_obj_9xmmsvalue_Collection *, int __pyx_skip_dispatch);
2538 PyObject *(*clear)(struct __pyx_obj_9xmmsvalue_CollectionOperands *, int __pyx_skip_dispatch);
2539 PyObject *(*list)(struct __pyx_obj_9xmmsvalue_CollectionOperands *, int __pyx_skip_dispatch);
2540};
2541static struct __pyx_vtabstruct_9xmmsvalue_CollectionOperands *__pyx_vtabptr_9xmmsvalue_CollectionOperands;
2542
2543
2544/* "xmmsvalue.pxd":100
2545 *
2546 *
2547 * cdef class CollectionIDList(CollectionRef): # <<<<<<<<<<<<<<
2548 * cpdef append(self, int v)
2549 * cpdef extend(self, v)
2550 */
2551
2552struct __pyx_vtabstruct_9xmmsvalue_CollectionIDList {
2553 struct __pyx_vtabstruct_9xmmsvalue_CollectionRef __pyx_base;
2554 PyObject *(*append)(struct __pyx_obj_9xmmsvalue_CollectionIDList *, int, int __pyx_skip_dispatch);
2555 PyObject *(*extend)(struct __pyx_obj_9xmmsvalue_CollectionIDList *, PyObject *, int __pyx_skip_dispatch);
2556 PyObject *(*insert)(struct __pyx_obj_9xmmsvalue_CollectionIDList *, int, int, int __pyx_skip_dispatch);
2557 PyObject *(*remove)(struct __pyx_obj_9xmmsvalue_CollectionIDList *, int, int __pyx_skip_dispatch);
2558 PyObject *(*pop)(struct __pyx_obj_9xmmsvalue_CollectionIDList *, int __pyx_skip_dispatch, struct __pyx_opt_args_9xmmsvalue_16CollectionIDList_pop *__pyx_optional_args);
2559 PyObject *(*clear)(struct __pyx_obj_9xmmsvalue_CollectionIDList *, int __pyx_skip_dispatch);
2560};
2561static struct __pyx_vtabstruct_9xmmsvalue_CollectionIDList *__pyx_vtabptr_9xmmsvalue_CollectionIDList;
2562
2563
2564/* "xmmsapi.pyx":145
2565 * r.res = NULL
2566 *
2567 * cdef class XmmsResult: # <<<<<<<<<<<<<<
2568 * """
2569 * Class containing the results of some operation
2570 */
2571
2572struct __pyx_vtabstruct_7xmmsapi_XmmsResult {
2573 PyObject *(*set_sourcepref)(struct __pyx_obj_7xmmsapi_XmmsResult *, struct __pyx_obj_7xmmsapi_XmmsSourcePreference *);
2574 PyObject *(*set_result)(struct __pyx_obj_7xmmsapi_XmmsResult *, xmmsc_result_t *);
2575 PyObject *(*set_callback)(struct __pyx_obj_7xmmsapi_XmmsResult *, struct __pyx_obj_7xmmsapi_XmmsResultTracker *, PyObject *);
2576 PyObject *(*disconnect)(struct __pyx_obj_7xmmsapi_XmmsResult *, int __pyx_skip_dispatch);
2577 PyObject *(*wait)(struct __pyx_obj_7xmmsapi_XmmsResult *, int __pyx_skip_dispatch);
2578 PyObject *(*is_error)(struct __pyx_obj_7xmmsapi_XmmsResult *, int __pyx_skip_dispatch);
2579 PyObject *(*xmmsvalue)(struct __pyx_obj_7xmmsapi_XmmsResult *, int __pyx_skip_dispatch);
2580 PyObject *(*value)(struct __pyx_obj_7xmmsapi_XmmsResult *, int __pyx_skip_dispatch);
2581};
2582static struct __pyx_vtabstruct_7xmmsapi_XmmsResult *__pyx_vtabptr_7xmmsapi_XmmsResult;
2583
2584
2585/* "xmmsapi.pyx":122
2586 * self.sources = [enforce_unicode(s) for s in sources]
2587 *
2588 * cdef class XmmsResultTracker: # <<<<<<<<<<<<<<
2589 * """
2590 * Class used by XmmsCore to track results that set a notifier.
2591 */
2592
2593struct __pyx_vtabstruct_7xmmsapi_XmmsResultTracker {
2594 PyObject *(*track_result)(struct __pyx_obj_7xmmsapi_XmmsResultTracker *, struct __pyx_obj_7xmmsapi_XmmsResult *);
2595 PyObject *(*release_result)(struct __pyx_obj_7xmmsapi_XmmsResultTracker *, struct __pyx_obj_7xmmsapi_XmmsResult *);
2596 PyObject *(*disconnect_all)(struct __pyx_obj_7xmmsapi_XmmsResultTracker *, int);
2597};
2598static struct __pyx_vtabstruct_7xmmsapi_XmmsResultTracker *__pyx_vtabptr_7xmmsapi_XmmsResultTracker;
2599
2600
2601/* "xmmsapi.pyx":266
2602 *
2603 *
2604 * cdef class XmmsVisResult(XmmsResult): # <<<<<<<<<<<<<<
2605 * #cdef XmmsValue _val
2606 * #cdef VisResultCommand command
2607 */
2608
2609struct __pyx_vtabstruct_7xmmsapi_XmmsVisResult {
2610 struct __pyx_vtabstruct_7xmmsapi_XmmsResult __pyx_base;
2611 PyObject *(*set_command)(struct __pyx_obj_7xmmsapi_XmmsVisResult *, __pyx_t_7xmmsapi_VisResultCommand, xmmsc_connection_t *);
2612 PyObject *(*retrieve_error)(struct __pyx_obj_7xmmsapi_XmmsVisResult *);
2613 PyObject *(*_init_xmmsvalue)(struct __pyx_obj_7xmmsapi_XmmsVisResult *);
2614 PyObject *(*_start_xmmsvalue)(struct __pyx_obj_7xmmsapi_XmmsVisResult *);
2615};
2616static struct __pyx_vtabstruct_7xmmsapi_XmmsVisResult *__pyx_vtabptr_7xmmsapi_XmmsVisResult;
2617
2618
2619/* "xmmsapi.pyx":333
2620 * return XmmsResult.xmmsvalue(self)
2621 *
2622 * cdef class XmmsVisChunk: # <<<<<<<<<<<<<<
2623 * #cdef short *data
2624 * #cdef int sample_count
2625 */
2626
2627struct __pyx_vtabstruct_7xmmsapi_XmmsVisChunk {
2628 PyObject *(*set_data)(struct __pyx_obj_7xmmsapi_XmmsVisChunk *, short *, int);
2629 PyObject *(*get_buffer)(struct __pyx_obj_7xmmsapi_XmmsVisChunk *, int __pyx_skip_dispatch);
2630 PyObject *(*get_data)(struct __pyx_obj_7xmmsapi_XmmsVisChunk *, int __pyx_skip_dispatch);
2631};
2632static struct __pyx_vtabstruct_7xmmsapi_XmmsVisChunk *__pyx_vtabptr_7xmmsapi_XmmsVisChunk;
2633
2634
2635/* "xmmsapi.pyx":900
2636 * return self._xmms
2637 *
2638 * cdef class XmmsCore: # <<<<<<<<<<<<<<
2639 * """
2640 * This is the class representing the XMMS2 client itself. The methods in
2641 */
2642
2643struct __pyx_vtabstruct_7xmmsapi_XmmsCore {
2644 PyObject *(*new_connection)(struct __pyx_obj_7xmmsapi_XmmsCore *);
2645 PyObject *(*get_source_preference)(struct __pyx_obj_7xmmsapi_XmmsCore *, int __pyx_skip_dispatch);
2646 PyObject *(*set_source_preference)(struct __pyx_obj_7xmmsapi_XmmsCore *, PyObject *, int __pyx_skip_dispatch);
2647 PyObject *(*_needout_cb)(struct __pyx_obj_7xmmsapi_XmmsCore *, int, int __pyx_skip_dispatch);
2648 PyObject *(*_disconnect_cb)(struct __pyx_obj_7xmmsapi_XmmsCore *, int __pyx_skip_dispatch);
2649 PyObject *(*disconnect)(struct __pyx_obj_7xmmsapi_XmmsCore *, int __pyx_skip_dispatch);
2650 PyObject *(*ioin)(struct __pyx_obj_7xmmsapi_XmmsCore *, int __pyx_skip_dispatch);
2651 PyObject *(*ioout)(struct __pyx_obj_7xmmsapi_XmmsCore *, int __pyx_skip_dispatch);
2652 PyObject *(*want_ioout)(struct __pyx_obj_7xmmsapi_XmmsCore *, int __pyx_skip_dispatch);
2653 PyObject *(*set_need_out_fun)(struct __pyx_obj_7xmmsapi_XmmsCore *, PyObject *, int __pyx_skip_dispatch);
2654 PyObject *(*get_fd)(struct __pyx_obj_7xmmsapi_XmmsCore *, int __pyx_skip_dispatch);
2655 PyObject *(*connect)(struct __pyx_obj_7xmmsapi_XmmsCore *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_8XmmsCore_connect *__pyx_optional_args);
2656 struct __pyx_obj_7xmmsapi_XmmsResult *(*_create_result)(struct __pyx_obj_7xmmsapi_XmmsCore *, PyObject *, xmmsc_result_t *, PyObject *);
2657 struct __pyx_obj_7xmmsapi_XmmsResult *(*create_result)(struct __pyx_obj_7xmmsapi_XmmsCore *, PyObject *, xmmsc_result_t *);
2658 struct __pyx_obj_7xmmsapi_XmmsResult *(*create_vis_result)(struct __pyx_obj_7xmmsapi_XmmsCore *, PyObject *, xmmsc_result_t *, __pyx_t_7xmmsapi_VisResultCommand);
2659};
2660static struct __pyx_vtabstruct_7xmmsapi_XmmsCore *__pyx_vtabptr_7xmmsapi_XmmsCore;
2661
2662
2663/* "xmmsapi.pyx":460
2664 * self.value = value
2665 *
2666 * cdef class XmmsServiceNamespace: # <<<<<<<<<<<<<<
2667 * namespace_path = ()
2668 *
2669 */
2670
2671struct __pyx_vtabstruct_7xmmsapi_XmmsServiceNamespace {
2672 PyObject *(*_walk)(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_20XmmsServiceNamespace__walk *__pyx_optional_args);
2673 PyObject *(*register_namespace)(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch);
2674 PyObject *(*register_constant)(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch);
2675 PyObject *(*register_method)(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch);
2676 PyObject *(*register_broadcast)(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch);
2677 PyObject *(*__pyx_register)(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *, int __pyx_skip_dispatch);
2678};
2679static struct __pyx_vtabstruct_7xmmsapi_XmmsServiceNamespace *__pyx_vtabptr_7xmmsapi_XmmsServiceNamespace;
2680
2681
2682/* "xmmsapi.pyx":436
2683 * return f
2684 *
2685 * cdef class service_broadcast: # <<<<<<<<<<<<<<
2686 * def __init__(self, name = None, doc = None):
2687 * self.name = name
2688 */
2689
2690struct __pyx_vtabstruct_7xmmsapi_service_broadcast {
2691 PyObject *(*bind)(struct __pyx_obj_7xmmsapi_service_broadcast *, struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *, struct __pyx_opt_args_7xmmsapi_17service_broadcast_bind *__pyx_optional_args);
2692 PyObject *(*emit)(struct __pyx_obj_7xmmsapi_service_broadcast *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_17service_broadcast_emit *__pyx_optional_args);
2693};
2694static struct __pyx_vtabstruct_7xmmsapi_service_broadcast *__pyx_vtabptr_7xmmsapi_service_broadcast;
2695
2696
2697/* "xmmsapi.pyx":893
2698 * return from_unicode(pls or ACTIVE_PLAYLIST)
2699 *
2700 * cdef class XmmsProxy: # <<<<<<<<<<<<<<
2701 * def __init__(self, xmms):
2702 * self._xmms = xmms
2703 */
2704
2705struct __pyx_vtabstruct_7xmmsapi_XmmsProxy {
2706 struct __pyx_obj_7xmmsapi_XmmsCore *(*_get_xmms)(struct __pyx_obj_7xmmsapi_XmmsProxy *);
2707};
2708static struct __pyx_vtabstruct_7xmmsapi_XmmsProxy *__pyx_vtabptr_7xmmsapi_XmmsProxy;
2709
2710
2711/* "xmmsapi.pyx":1067
2712 *
2713 *
2714 * cdef class XmmsApi(XmmsCore): # <<<<<<<<<<<<<<
2715 * property client_id:
2716 * def __get__(self):
2717 */
2718
2719struct __pyx_vtabstruct_7xmmsapi_XmmsApi {
2720 struct __pyx_vtabstruct_7xmmsapi_XmmsCore __pyx_base;
2721 int (*c2c_get_own_id)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch);
2722 struct __pyx_obj_7xmmsapi_XmmsResult *(*quit)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_quit *__pyx_optional_args);
2723 struct __pyx_obj_7xmmsapi_XmmsResult *(*plugin_list)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_plugin_list *__pyx_optional_args);
2724 struct __pyx_obj_7xmmsapi_XmmsResult *(*playback_start)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_start *__pyx_optional_args);
2725 struct __pyx_obj_7xmmsapi_XmmsResult *(*playback_stop)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_stop *__pyx_optional_args);
2726 struct __pyx_obj_7xmmsapi_XmmsResult *(*playback_tickle)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_tickle *__pyx_optional_args);
2727 struct __pyx_obj_7xmmsapi_XmmsResult *(*playback_pause)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_pause *__pyx_optional_args);
2728 struct __pyx_obj_7xmmsapi_XmmsResult *(*playback_current_id)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_current_id *__pyx_optional_args);
2729 struct __pyx_obj_7xmmsapi_XmmsResult *(*playback_seek_ms)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_seek_ms *__pyx_optional_args);
2730 struct __pyx_obj_7xmmsapi_XmmsResult *(*playback_seek_samples)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_seek_samples *__pyx_optional_args);
2731 struct __pyx_obj_7xmmsapi_XmmsResult *(*playback_status)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_status *__pyx_optional_args);
2732 struct __pyx_obj_7xmmsapi_XmmsResult *(*broadcast_playback_status)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playback_status *__pyx_optional_args);
2733 struct __pyx_obj_7xmmsapi_XmmsResult *(*broadcast_playback_current_id)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playback_current_id *__pyx_optional_args);
2734 struct __pyx_obj_7xmmsapi_XmmsResult *(*playback_playtime)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_playtime *__pyx_optional_args);
2735 struct __pyx_obj_7xmmsapi_XmmsResult *(*signal_playback_playtime)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_signal_playback_playtime *__pyx_optional_args);
2736 struct __pyx_obj_7xmmsapi_XmmsResult *(*playback_volume_set)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_volume_set *__pyx_optional_args);
2737 struct __pyx_obj_7xmmsapi_XmmsResult *(*playback_volume_get)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_volume_get *__pyx_optional_args);
2738 struct __pyx_obj_7xmmsapi_XmmsResult *(*broadcast_playback_volume_changed)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playback_volume_changed *__pyx_optional_args);
2739 struct __pyx_obj_7xmmsapi_XmmsResult *(*broadcast_playlist_loaded)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playlist_loaded *__pyx_optional_args);
2740 struct __pyx_obj_7xmmsapi_XmmsResult *(*playlist_load)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_load *__pyx_optional_args);
2741 struct __pyx_obj_7xmmsapi_XmmsResult *(*playlist_list)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_list *__pyx_optional_args);
2742 struct __pyx_obj_7xmmsapi_XmmsResult *(*playlist_remove)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_remove *__pyx_optional_args);
2743 struct __pyx_obj_7xmmsapi_XmmsResult *(*playlist_shuffle)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_shuffle *__pyx_optional_args);
2744 struct __pyx_obj_7xmmsapi_XmmsResult *(*playlist_rinsert)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_rinsert *__pyx_optional_args);
2745 struct __pyx_obj_7xmmsapi_XmmsResult *(*playlist_insert_url)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_insert_url *__pyx_optional_args);
2746 struct __pyx_obj_7xmmsapi_XmmsResult *(*playlist_insert_id)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_insert_id *__pyx_optional_args);
2747 struct __pyx_obj_7xmmsapi_XmmsResult *(*playlist_insert_collection)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, struct __pyx_obj_9xmmsvalue_Collection *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_insert_collection *__pyx_optional_args);
2748 struct __pyx_obj_7xmmsapi_XmmsResult *(*playlist_radd)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_radd *__pyx_optional_args);
2749 struct __pyx_obj_7xmmsapi_XmmsResult *(*playlist_add_url)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_add_url *__pyx_optional_args);
2750 struct __pyx_obj_7xmmsapi_XmmsResult *(*playlist_add_id)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_add_id *__pyx_optional_args);
2751 struct __pyx_obj_7xmmsapi_XmmsResult *(*playlist_add_collection)(struct __pyx_obj_7xmmsapi_XmmsApi *, struct __pyx_obj_9xmmsvalue_Collection *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_add_collection *__pyx_optional_args);
2752 struct __pyx_obj_7xmmsapi_XmmsResult *(*playlist_remove_entry)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_remove_entry *__pyx_optional_args);
2753 struct __pyx_obj_7xmmsapi_XmmsResult *(*playlist_clear)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_clear *__pyx_optional_args);
2754 struct __pyx_obj_7xmmsapi_XmmsResult *(*playlist_list_entries)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_list_entries *__pyx_optional_args);
2755 struct __pyx_obj_7xmmsapi_XmmsResult *(*playlist_sort)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_sort *__pyx_optional_args);
2756 struct __pyx_obj_7xmmsapi_XmmsResult *(*playlist_set_next_rel)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_set_next_rel *__pyx_optional_args);
2757 struct __pyx_obj_7xmmsapi_XmmsResult *(*playlist_set_next)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_set_next *__pyx_optional_args);
2758 struct __pyx_obj_7xmmsapi_XmmsResult *(*playlist_move)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_move *__pyx_optional_args);
2759 struct __pyx_obj_7xmmsapi_XmmsResult *(*playlist_create)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_create *__pyx_optional_args);
2760 struct __pyx_obj_7xmmsapi_XmmsResult *(*playlist_current_pos)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_current_pos *__pyx_optional_args);
2761 struct __pyx_obj_7xmmsapi_XmmsResult *(*playlist_current_active)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_current_active *__pyx_optional_args);
2762 struct __pyx_obj_7xmmsapi_XmmsResult *(*broadcast_playlist_current_pos)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playlist_current_pos *__pyx_optional_args);
2763 struct __pyx_obj_7xmmsapi_XmmsResult *(*broadcast_playlist_changed)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playlist_changed *__pyx_optional_args);
2764 struct __pyx_obj_7xmmsapi_XmmsResult *(*broadcast_config_value_changed)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_config_value_changed *__pyx_optional_args);
2765 struct __pyx_obj_7xmmsapi_XmmsResult *(*config_set_value)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_config_set_value *__pyx_optional_args);
2766 struct __pyx_obj_7xmmsapi_XmmsResult *(*config_get_value)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_config_get_value *__pyx_optional_args);
2767 struct __pyx_obj_7xmmsapi_XmmsResult *(*config_list_values)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_config_list_values *__pyx_optional_args);
2768 struct __pyx_obj_7xmmsapi_XmmsResult *(*config_register_value)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_config_register_value *__pyx_optional_args);
2769 struct __pyx_obj_7xmmsapi_XmmsResult *(*medialib_add_entry)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_add_entry *__pyx_optional_args);
2770 struct __pyx_obj_7xmmsapi_XmmsResult *(*medialib_remove_entry)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_remove_entry *__pyx_optional_args);
2771 struct __pyx_obj_7xmmsapi_XmmsResult *(*medialib_move_entry)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_move_entry *__pyx_optional_args);
2772 struct __pyx_obj_7xmmsapi_XmmsResult *(*medialib_get_info)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_get_info *__pyx_optional_args);
2773 struct __pyx_obj_7xmmsapi_XmmsResult *(*medialib_rehash)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_rehash *__pyx_optional_args);
2774 struct __pyx_obj_7xmmsapi_XmmsResult *(*medialib_get_id)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_get_id *__pyx_optional_args);
2775 struct __pyx_obj_7xmmsapi_XmmsResult *(*medialib_import_path)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_import_path *__pyx_optional_args);
2776 struct __pyx_obj_7xmmsapi_XmmsResult *(*medialib_property_set)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, PyObject *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_property_set *__pyx_optional_args);
2777 struct __pyx_obj_7xmmsapi_XmmsResult *(*medialib_property_remove)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_property_remove *__pyx_optional_args);
2778 struct __pyx_obj_7xmmsapi_XmmsResult *(*broadcast_medialib_entry_added)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_medialib_entry_added *__pyx_optional_args);
2779 struct __pyx_obj_7xmmsapi_XmmsResult *(*broadcast_medialib_entry_updated)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_medialib_entry_updated *__pyx_optional_args);
2780 struct __pyx_obj_7xmmsapi_XmmsResult *(*broadcast_medialib_entry_removed)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_medialib_entry_removed *__pyx_optional_args);
2781 struct __pyx_obj_7xmmsapi_XmmsResult *(*broadcast_collection_changed)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_collection_changed *__pyx_optional_args);
2782 struct __pyx_obj_7xmmsapi_XmmsResult *(*signal_mediainfo_reader_unindexed)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_signal_mediainfo_reader_unindexed *__pyx_optional_args);
2783 struct __pyx_obj_7xmmsapi_XmmsResult *(*broadcast_mediainfo_reader_status)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_mediainfo_reader_status *__pyx_optional_args);
2784 struct __pyx_obj_7xmmsapi_XmmsResult *(*xform_media_browse)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_xform_media_browse *__pyx_optional_args);
2785 struct __pyx_obj_7xmmsapi_XmmsResult *(*coll_get)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_get *__pyx_optional_args);
2786 struct __pyx_obj_7xmmsapi_XmmsResult *(*coll_list)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_list *__pyx_optional_args);
2787 struct __pyx_obj_7xmmsapi_XmmsResult *(*coll_save)(struct __pyx_obj_7xmmsapi_XmmsApi *, struct __pyx_obj_9xmmsvalue_Collection *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_save *__pyx_optional_args);
2788 struct __pyx_obj_7xmmsapi_XmmsResult *(*coll_remove)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_remove *__pyx_optional_args);
2789 struct __pyx_obj_7xmmsapi_XmmsResult *(*coll_rename)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_rename *__pyx_optional_args);
2790 struct __pyx_obj_7xmmsapi_XmmsResult *(*coll_idlist_from_playlist_file)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_idlist_from_playlist_file *__pyx_optional_args);
2791 struct __pyx_obj_7xmmsapi_XmmsResult *(*coll_query)(struct __pyx_obj_7xmmsapi_XmmsApi *, struct __pyx_obj_9xmmsvalue_Collection *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_query *__pyx_optional_args);
2792 struct __pyx_obj_7xmmsapi_XmmsResult *(*coll_query_ids)(struct __pyx_obj_7xmmsapi_XmmsApi *, struct __pyx_obj_9xmmsvalue_Collection *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_query_ids *__pyx_optional_args);
2793 struct __pyx_obj_7xmmsapi_XmmsResult *(*coll_query_infos)(struct __pyx_obj_7xmmsapi_XmmsApi *, struct __pyx_obj_9xmmsvalue_Collection *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_query_infos *__pyx_optional_args);
2794 struct __pyx_obj_7xmmsapi_XmmsResult *(*c2c_ready)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_c2c_ready *__pyx_optional_args);
2795 struct __pyx_obj_7xmmsapi_XmmsResult *(*c2c_get_connected_clients)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_c2c_get_connected_clients *__pyx_optional_args);
2796 struct __pyx_obj_7xmmsapi_XmmsResult *(*c2c_get_ready_clients)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_c2c_get_ready_clients *__pyx_optional_args);
2797 struct __pyx_obj_7xmmsapi_XmmsResult *(*broadcast_c2c_ready)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_c2c_ready *__pyx_optional_args);
2798 struct __pyx_obj_7xmmsapi_XmmsResult *(*broadcast_c2c_client_connected)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_c2c_client_connected *__pyx_optional_args);
2799 struct __pyx_obj_7xmmsapi_XmmsResult *(*broadcast_c2c_client_disconnected)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_c2c_client_disconnected *__pyx_optional_args);
2800 int (*sc_init)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch);
2801 int (*sc_broadcast_emit)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_broadcast_emit *__pyx_optional_args);
2802 struct __pyx_obj_7xmmsapi_XmmsResult *(*sc_broadcast_subscribe)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_broadcast_subscribe *__pyx_optional_args);
2803 struct __pyx_obj_7xmmsapi_XmmsResult *(*sc_call)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_call *__pyx_optional_args);
2804 struct __pyx_obj_7xmmsapi_XmmsResult *(*sc_introspect_namespace)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_namespace *__pyx_optional_args);
2805 struct __pyx_obj_7xmmsapi_XmmsResult *(*sc_introspect_method)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_method *__pyx_optional_args);
2806 struct __pyx_obj_7xmmsapi_XmmsResult *(*sc_introspect_broadcast)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_broadcast *__pyx_optional_args);
2807 struct __pyx_obj_7xmmsapi_XmmsResult *(*sc_introspect_constant)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_constant *__pyx_optional_args);
2808 struct __pyx_obj_7xmmsapi_XmmsResult *(*sc_introspect_docstring)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_docstring *__pyx_optional_args);
2809 struct __pyx_obj_7xmmsapi_XmmsResult *(*bindata_add)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_bindata_add *__pyx_optional_args);
2810 struct __pyx_obj_7xmmsapi_XmmsResult *(*bindata_retrieve)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_bindata_retrieve *__pyx_optional_args);
2811 struct __pyx_obj_7xmmsapi_XmmsResult *(*bindata_remove)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_bindata_remove *__pyx_optional_args);
2812 struct __pyx_obj_7xmmsapi_XmmsResult *(*bindata_list)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_bindata_list *__pyx_optional_args);
2813 struct __pyx_obj_7xmmsapi_XmmsResult *(*stats)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_stats *__pyx_optional_args);
2814 struct __pyx_obj_7xmmsapi_XmmsResult *(*visualization_version)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_version *__pyx_optional_args);
2815 struct __pyx_obj_7xmmsapi_XmmsResult *(*visualization_init)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_init *__pyx_optional_args);
2816 struct __pyx_obj_7xmmsapi_XmmsResult *(*visualization_start)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_start *__pyx_optional_args);
2817 int (*visualization_started)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch);
2818 int (*visualization_errored)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch);
2819 struct __pyx_obj_7xmmsapi_XmmsResult *(*visualization_property_set)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, PyObject *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_property_set *__pyx_optional_args);
2820 struct __pyx_obj_7xmmsapi_XmmsResult *(*visualization_properties_set)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_properties_set *__pyx_optional_args);
2821 struct __pyx_obj_7xmmsapi_XmmsVisChunk *(*visualization_chunk_get)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_chunk_get *__pyx_optional_args);
2822 PyObject *(*visualization_shutdown)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch);
2823};
2824static struct __pyx_vtabstruct_7xmmsapi_XmmsApi *__pyx_vtabptr_7xmmsapi_XmmsApi;
2825
2826
2827/* "xmmsapi.pyx":2278
2828 * pass
2829 *
2830 * cdef class XmmsLoop(XmmsApi): # <<<<<<<<<<<<<<
2831 * #cdef bint do_loop
2832 * #cdef object wakeup
2833 */
2834
2835struct __pyx_vtabstruct_7xmmsapi_XmmsLoop {
2836 struct __pyx_vtabstruct_7xmmsapi_XmmsApi __pyx_base;
2837};
2838static struct __pyx_vtabstruct_7xmmsapi_XmmsLoop *__pyx_vtabptr_7xmmsapi_XmmsLoop;
2839#ifndef CYTHON_REFNANNY0
2840 #define CYTHON_REFNANNY0 0
2841#endif
2842#if CYTHON_REFNANNY0
2843 typedef struct {
2844 void (*INCREF)(void*, PyObject*, int);
2845 void (*DECREF)(void*, PyObject*, int);
2846 void (*GOTREF)(void*, PyObject*, int);
2847 void (*GIVEREF)(void*, PyObject*, int);
2848 void* (*SetupContext)(const char*, int, const char*);
2849 void (*FinishContext)(void**);
2850 } __Pyx_RefNannyAPIStruct;
2851 static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL((void*)0);
2852 static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/
2853 #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL((void*)0);
2854#ifdef WITH_THREAD1
2855 #define __Pyx_RefNannySetupContext(name, acquire_gil) \
2856 if (acquire_gil) { \
2857 PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
2858 __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__2858, __FILE__"src/clients/lib/python/xmmsapi.c"); \
2859 PyGILState_Release(__pyx_gilstate_save); \
2860 } else { \
2861 __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__2861, __FILE__"src/clients/lib/python/xmmsapi.c"); \
2862 }
2863#else
2864 #define __Pyx_RefNannySetupContext(name, acquire_gil) \
2865 __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__2865, __FILE__"src/clients/lib/python/xmmsapi.c")
2866#endif
2867 #define __Pyx_RefNannyFinishContext() \
2868 __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
2869 #define __Pyx_INCREF(r)( ((PyObject*)(r))->ob_refcnt++) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__2869)
2870 #define __Pyx_DECREF(r)do { if ( --((PyObject*)(r))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(r)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(r)))); } while (0)
__Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__2870)
2871 #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__2871)
2872 #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__2872)
2873 #define __Pyx_XINCREF(r)do { if ((r) == ((void*)0)) ; else ( ((PyObject*)(r))->ob_refcnt
++); } while (0)
do { if((r) != NULL((void*)0)) {__Pyx_INCREF(r)( ((PyObject*)(r))->ob_refcnt++); }} while(0)
2874 #define __Pyx_XDECREF(r)do { if ((r) == ((void*)0)) ; else do { if ( --((PyObject*)(r
))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(
r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(r
)))); } while (0); } while (0)
do { if((r) != NULL((void*)0)) {__Pyx_DECREF(r)do { if ( --((PyObject*)(r))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(r)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(r)))); } while (0)
; }} while(0)
2875 #define __Pyx_XGOTREF(r) do { if((r) != NULL((void*)0)) {__Pyx_GOTREF(r); }} while(0)
2876 #define __Pyx_XGIVEREF(r) do { if((r) != NULL((void*)0)) {__Pyx_GIVEREF(r);}} while(0)
2877#else
2878 #define __Pyx_RefNannyDeclarations
2879 #define __Pyx_RefNannySetupContext(name, acquire_gil)
2880 #define __Pyx_RefNannyFinishContext()
2881 #define __Pyx_INCREF(r)( ((PyObject*)(r))->ob_refcnt++) Py_INCREF(r)( ((PyObject*)(r))->ob_refcnt++)
2882 #define __Pyx_DECREF(r)do { if ( --((PyObject*)(r))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(r)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(r)))); } while (0)
Py_DECREF(r)do { if ( --((PyObject*)(r))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(r)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(r)))); } while (0)
2883 #define __Pyx_GOTREF(r)
2884 #define __Pyx_GIVEREF(r)
2885 #define __Pyx_XINCREF(r)do { if ((r) == ((void*)0)) ; else ( ((PyObject*)(r))->ob_refcnt
++); } while (0)
Py_XINCREF(r)do { if ((r) == ((void*)0)) ; else ( ((PyObject*)(r))->ob_refcnt
++); } while (0)
2886 #define __Pyx_XDECREF(r)do { if ((r) == ((void*)0)) ; else do { if ( --((PyObject*)(r
))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(
r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(r
)))); } while (0); } while (0)
Py_XDECREF(r)do { if ((r) == ((void*)0)) ; else do { if ( --((PyObject*)(r
))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(
r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(r
)))); } while (0); } while (0)
2887 #define __Pyx_XGOTREF(r)
2888 #define __Pyx_XGIVEREF(r)
2889#endif /* CYTHON_REFNANNY */
2890#define __Pyx_XDECREF_SET(r, v)do { PyObject *tmp = (PyObject *) r; r = v; do { if ((tmp) ==
((void*)0)) ; else do { if ( --((PyObject*)(tmp))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)(tmp)))->ob_type
)->tp_dealloc)((PyObject *)((PyObject *)(tmp)))); } while (
0); } while (0); } while (0)
do { \
2891 PyObject *tmp = (PyObject *) r; \
2892 r = v; __Pyx_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
; \
2893 } while (0)
2894#define __Pyx_DECREF_SET(r, v)do { PyObject *tmp = (PyObject *) r; r = v; do { if ( --((PyObject
*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
do { \
2895 PyObject *tmp = (PyObject *) r; \
2896 r = v; __Pyx_DECREF(tmp)do { if ( --((PyObject*)(tmp))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(tmp)))); } while (0)
; \
2897 } while (0)
2898#define __Pyx_CLEAR(r)do { PyObject* tmp = ((PyObject*)(r)); r = ((void*)0); do { if
( --((PyObject*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject
*)((PyObject *)(tmp)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(tmp)))); } while (0);} while(0)
do { PyObject* tmp = ((PyObject*)(r)); r = NULL((void*)0); __Pyx_DECREF(tmp)do { if ( --((PyObject*)(tmp))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(tmp)))); } while (0)
;} while(0)
2899#define __Pyx_XCLEAR(r)do { if((r) != ((void*)0)) {PyObject* tmp = ((PyObject*)(r));
r = ((void*)0); do { if ( --((PyObject*)(tmp))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)(tmp)))->ob_type
)->tp_dealloc)((PyObject *)((PyObject *)(tmp)))); } while (
0);}} while(0)
do { if((r) != NULL((void*)0)) {PyObject* tmp = ((PyObject*)(r)); r = NULL((void*)0); __Pyx_DECREF(tmp)do { if ( --((PyObject*)(tmp))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(tmp)))); } while (0)
;}} while(0)
2900
2901#if CYTHON_COMPILING_IN_CPYTHON1
2902static CYTHON_INLINE__inline__ PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {
2903 PyTypeObject* tp = Py_TYPE(obj)(((PyObject*)(obj))->ob_type);
2904 if (likely(tp->tp_getattro)__builtin_expect(!!(tp->tp_getattro), 1))
2905 return tp->tp_getattro(obj, attr_name);
2906#if PY_MAJOR_VERSION2 < 3
2907 if (likely(tp->tp_getattr)__builtin_expect(!!(tp->tp_getattr), 1))
2908 return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)(((PyStringObject *)(attr_name))->ob_sval));
2909#endif
2910 return PyObject_GetAttr(obj, attr_name);
2911}
2912#else
2913#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)
2914#endif
2915
2916static PyObject *__Pyx_GetBuiltinName(PyObject *name); /*proto*/
2917
2918static CYTHON_INLINE__inline__ int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed); /*proto*/
2919
2920static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name); /*proto*/
2921
2922#if CYTHON_COMPILING_IN_CPYTHON1
2923static CYTHON_INLINE__inline__ PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); /*proto*/
2924#else
2925#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)
2926#endif
2927
2928static CYTHON_INLINE__inline__ void __Pyx_RaiseClosureNameError(const char *varname);
2929
2930static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type);
2931
2932#define __Pyx_CyFunction_USED1 1
2933#include <structmember.h>
2934#define __Pyx_CYFUNCTION_STATICMETHOD0x01 0x01
2935#define __Pyx_CYFUNCTION_CLASSMETHOD0x02 0x02
2936#define __Pyx_CYFUNCTION_CCLASS0x04 0x04
2937#define __Pyx_CyFunction_GetClosure(f)(((__pyx_CyFunctionObject *) (f))->func_closure) \
2938 (((__pyx_CyFunctionObject *) (f))->func_closure)
2939#define __Pyx_CyFunction_GetClassObj(f)(((__pyx_CyFunctionObject *) (f))->func_classobj) \
2940 (((__pyx_CyFunctionObject *) (f))->func_classobj)
2941#define __Pyx_CyFunction_Defaults(type, f)((type *)(((__pyx_CyFunctionObject *) (f))->defaults)) \
2942 ((type *)(((__pyx_CyFunctionObject *) (f))->defaults))
2943#define __Pyx_CyFunction_SetDefaultsGetter(f, g)((__pyx_CyFunctionObject *) (f))->defaults_getter = (g) \
2944 ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g)
2945typedef struct {
2946 PyCFunctionObject func;
2947 PyObject *func_dict;
2948 PyObject *func_weakreflist;
2949 PyObject *func_name;
2950 PyObject *func_qualname;
2951 PyObject *func_doc;
2952 PyObject *func_globals;
2953 PyObject *func_code;
2954 PyObject *func_closure;
2955 PyObject *func_classobj; /* No-args super() class cell */
2956 void *defaults;
2957 int defaults_pyobjects;
2958 int flags;
2959 PyObject *defaults_tuple; /* Const defaults tuple */
2960 PyObject *defaults_kwdict; /* Const kwonly defaults dict */
2961 PyObject *(*defaults_getter)(PyObject *);
2962 PyObject *func_annotations; /* function annotations dict */
2963} __pyx_CyFunctionObject;
2964static PyTypeObject *__pyx_CyFunctionType = 0;
2965#define __Pyx_CyFunction_NewEx(ml, flags, qualname, self, module, globals, code)__Pyx_CyFunction_New(__pyx_CyFunctionType, ml, flags, qualname
, self, module, globals, code)
\
2966 __Pyx_CyFunction_New(__pyx_CyFunctionType, ml, flags, qualname, self, module, globals, code)
2967static PyObject *__Pyx_CyFunction_New(PyTypeObject *, PyMethodDef *ml,
2968 int flags, PyObject* qualname,
2969 PyObject *self,
2970 PyObject *module, PyObject *globals,
2971 PyObject* code);
2972static CYTHON_INLINE__inline__ void *__Pyx_CyFunction_InitDefaults(PyObject *m,
2973 size_t size,
2974 int pyobjects);
2975static CYTHON_INLINE__inline__ void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m,
2976 PyObject *tuple);
2977static CYTHON_INLINE__inline__ void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m,
2978 PyObject *dict);
2979static CYTHON_INLINE__inline__ void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m,
2980 PyObject *dict);
2981static int __Pyx_CyFunction_init(void);
2982
2983#if CYTHON_COMPILING_IN_CPYTHON1
2984#define __Pyx_PyObject_DelAttrStr(o,n)__Pyx_PyObject_SetAttrStr(o,n,((void*)0)) __Pyx_PyObject_SetAttrStr(o,n,NULL((void*)0))
2985static CYTHON_INLINE__inline__ int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value) {
2986 PyTypeObject* tp = Py_TYPE(obj)(((PyObject*)(obj))->ob_type);
2987 if (likely(tp->tp_setattro)__builtin_expect(!!(tp->tp_setattro), 1))
2988 return tp->tp_setattro(obj, attr_name, value);
2989#if PY_MAJOR_VERSION2 < 3
2990 if (likely(tp->tp_setattr)__builtin_expect(!!(tp->tp_setattr), 1))
2991 return tp->tp_setattr(obj, PyString_AS_STRING(attr_name)(((PyStringObject *)(attr_name))->ob_sval), value);
2992#endif
2993 return PyObject_SetAttr(obj, attr_name, value);
2994}
2995#else
2996#define __Pyx_PyObject_DelAttrStr(o,n)__Pyx_PyObject_SetAttrStr(o,n,((void*)0)) PyObject_DelAttr(o,n)PyObject_SetAttr((o),(n),((void*)0))
2997#define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v)
2998#endif
2999
3000static CYTHON_INLINE__inline__ PyObject *__Pyx_GetModuleGlobalName(PyObject *name); /*proto*/
3001
3002static CYTHON_INLINE__inline__ void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
3003static CYTHON_INLINE__inline__ void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
3004
3005static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/
3006
3007static CYTHON_INLINE__inline__ void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
3008static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
3009
3010static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
3011
3012static void __Pyx_WriteUnraisable(const char *name, int clineno,
3013 int lineno, const char *filename,
3014 int full_traceback); /*proto*/
3015
3016static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/
3017
3018static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \
3019 PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \
3020 const char* function_name); /*proto*/
3021
3022static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
3023 Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/
3024
3025#if CYTHON_COMPILING_IN_CPYTHON1
3026static CYTHON_INLINE__inline__ int __Pyx_ListComp_Append(PyObject* list, PyObject* x) {
3027 PyListObject* L = (PyListObject*) list;
3028 Py_ssize_t len = Py_SIZE(list)(((PyVarObject*)(list))->ob_size);
3029 if (likely(L->allocated > len)__builtin_expect(!!(L->allocated > len), 1)) {
3030 Py_INCREF(x)( ((PyObject*)(x))->ob_refcnt++);
3031 PyList_SET_ITEM(list, len, x)(((PyListObject *)(list))->ob_item[len] = (x));
3032 Py_SIZE(list)(((PyVarObject*)(list))->ob_size) = len+1;
3033 return 0;
3034 }
3035 return PyList_Append(list, x);
3036}
3037#else
3038#define __Pyx_ListComp_Append(L,x) PyList_Append(L,x)
3039#endif
3040
3041#if CYTHON_COMPILING_IN_CPYTHON1
3042static CYTHON_INLINE__inline__ int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
3043 PyListObject* L = (PyListObject*) list;
3044 Py_ssize_t len = Py_SIZE(list)(((PyVarObject*)(list))->ob_size);
3045 if (likely(L->allocated > len)__builtin_expect(!!(L->allocated > len), 1) & likely(len > (L->allocated >> 1))__builtin_expect(!!(len > (L->allocated >> 1)), 1
)
) {
3046 Py_INCREF(x)( ((PyObject*)(x))->ob_refcnt++);
3047 PyList_SET_ITEM(list, len, x)(((PyListObject *)(list))->ob_item[len] = (x));
3048 Py_SIZE(list)(((PyVarObject*)(list))->ob_size) = len+1;
3049 return 0;
3050 }
3051 return PyList_Append(list, x);
3052}
3053#else
3054#define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
3055#endif
3056
3057static PyObject* __Pyx_PyObject_CallMethodTuple(PyObject* obj, PyObject* method_name, PyObject* args) {
3058 PyObject *method, *result = NULL((void*)0);
3059 if (unlikely(!args)__builtin_expect(!!(!args), 0)) return NULL((void*)0);
3060 method = __Pyx_PyObject_GetAttrStr(obj, method_name);
3061 if (unlikely(!method)__builtin_expect(!!(!method), 0)) goto bad;
3062 result = __Pyx_PyObject_Call(method, args, NULL((void*)0));
3063 Py_DECREF(method)do { if ( --((PyObject*)(method))->ob_refcnt != 0) ; else (
(*(((PyObject*)((PyObject *)(method)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(method)))); } while (0)
;
3064bad:
3065 Py_DECREF(args)do { if ( --((PyObject*)(args))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(args)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(args)))); } while (0)
;
3066 return result;
3067}
3068#define __Pyx_PyObject_CallMethod3(obj, name, arg1, arg2, arg3)__Pyx_PyObject_CallMethodTuple(obj, name, PyTuple_Pack(3, arg1
, arg2, arg3))
\
3069 __Pyx_PyObject_CallMethodTuple(obj, name, PyTuple_Pack(3, arg1, arg2, arg3))
3070#define __Pyx_PyObject_CallMethod2(obj, name, arg1, arg2)__Pyx_PyObject_CallMethodTuple(obj, name, PyTuple_Pack(2, arg1
, arg2))
\
3071 __Pyx_PyObject_CallMethodTuple(obj, name, PyTuple_Pack(2, arg1, arg2))
3072#define __Pyx_PyObject_CallMethod1(obj, name, arg1)__Pyx_PyObject_CallMethodTuple(obj, name, PyTuple_Pack(1, arg1
))
\
3073 __Pyx_PyObject_CallMethodTuple(obj, name, PyTuple_Pack(1, arg1))
3074#define __Pyx_PyObject_CallMethod0(obj, name)__Pyx_PyObject_CallMethodTuple(obj, name, (( ((PyObject*)(__pyx_empty_tuple
))->ob_refcnt++), __pyx_empty_tuple))
\
3075 __Pyx_PyObject_CallMethodTuple(obj, name, (Py_INCREF(__pyx_empty_tuple)( ((PyObject*)(__pyx_empty_tuple))->ob_refcnt++), __pyx_empty_tuple))
3076
3077static CYTHON_INLINE__inline__ int __Pyx_PyObject_Append(PyObject* L, PyObject* x); /*proto*/
3078
3079static CYTHON_INLINE__inline__ PyObject* __Pyx_PyObject_GetSlice(
3080 PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop,
3081 PyObject** py_start, PyObject** py_stop, PyObject** py_slice,
3082 int has_cstart, int has_cstop, int wraparound);
3083
3084static CYTHON_INLINE__inline__ int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/
3085
3086static CYTHON_INLINE__inline__ PyObject* __Pyx_PyDict_Items(PyObject* d); /*proto*/
3087
3088static CYTHON_INLINE__inline__ void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected);
3089
3090static CYTHON_INLINE__inline__ void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index);
3091
3092static CYTHON_INLINE__inline__ int __Pyx_IterFinish(void); /*proto*/
3093
3094static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected); /*proto*/
3095
3096static CYTHON_INLINE__inline__ int __Pyx_PySequence_Contains(PyObject* item, PyObject* seq, int eq) {
3097 int result = PySequence_Contains(seq, item);
3098 return unlikely(result < 0)__builtin_expect(!!(result < 0), 0) ? result : (result == (eq == Py_EQ2));
3099}
3100
3101static CYTHON_INLINE__inline__ int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
3102 const char *name, int exact); /*proto*/
3103
3104static PyObject* __Pyx_PyDict_GetItemDefault(PyObject* d, PyObject* key, PyObject* default_value); /*proto*/
3105
3106#if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
< 0x02050000
3107#ifndef PyAnySet_CheckExact
3108#define PyAnySet_CheckExact(ob)((((PyObject*)(ob))->ob_type) == &PySet_Type || (((PyObject
*)(ob))->ob_type) == &PyFrozenSet_Type)
\
3109 ((ob)->ob_type == &PySet_Type || \
3110 (ob)->ob_type == &PyFrozenSet_Type)
3111#define PySet_New(iterable) \
3112 PyObject_CallFunctionObjArgs((PyObject *)&PySet_Type, (iterable), NULL((void*)0))
3113#define PyFrozenSet_New(iterable) \
3114 PyObject_CallFunctionObjArgs((PyObject *)&PyFrozenSet_Type, (iterable), NULL((void*)0))
3115#define PySet_Size(anyset) \
3116 PyObject_Size((anyset))
3117#define PySet_GET_SIZE(anyset)(((PySetObject *)(anyset))->used) \
3118 PyObject_Size((anyset))
3119#define PySet_Contains(anyset, key) \
3120 PySequence_Contains((anyset), (key))
3121#define PySet_Pop(set) \
3122 PyObject_CallMethod_PyObject_CallMethod_SizeT((set), (char*)"pop", NULL((void*)0))
3123static CYTHON_INLINE__inline__ int PySet_Clear(PyObject *set) {
3124 PyObject *ret = PyObject_CallMethod_PyObject_CallMethod_SizeT(set, (char*)"clear", NULL((void*)0));
3125 if (!ret) return -1;
3126 Py_DECREF(ret)do { if ( --((PyObject*)(ret))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(ret)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(ret)))); } while (0)
; return 0;
3127}
3128static CYTHON_INLINE__inline__ int PySet_Discard(PyObject *set, PyObject *key) {
3129 PyObject *ret = PyObject_CallMethod_PyObject_CallMethod_SizeT(set, (char*)"discard", (char*)"(O)", key);
3130 if (!ret) return -1;
3131 Py_DECREF(ret)do { if ( --((PyObject*)(ret))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(ret)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(ret)))); } while (0)
; return 0;
3132}
3133static CYTHON_INLINE__inline__ int PySet_Add(PyObject *set, PyObject *key) {
3134 PyObject *ret = PyObject_CallMethod_PyObject_CallMethod_SizeT(set, (char*)"add", (char*)"(O)", key);
3135 if (!ret) return -1;
3136 Py_DECREF(ret)do { if ( --((PyObject*)(ret))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(ret)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(ret)))); } while (0)
; return 0;
3137}
3138#endif /* PyAnySet_CheckExact (<= Py2.4) */
3139#endif /* < Py2.5 */
3140
3141#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)(( (sizeof(type) < sizeof(Py_ssize_t)) || (sizeof(type) >
sizeof(Py_ssize_t) && __builtin_expect(!!(i < (type
)((Py_ssize_t)(((size_t)-1)>>1)) || i == (type)((Py_ssize_t
)(((size_t)-1)>>1))), 1) && (!is_signed || __builtin_expect
(!!(i > (type)(-((Py_ssize_t)(((size_t)-1)>>1))-1) ||
i == (type)(-((Py_ssize_t)(((size_t)-1)>>1))-1)), 1)))
|| (sizeof(type) == sizeof(Py_ssize_t) && (is_signed
|| __builtin_expect(!!(i < (type)((Py_ssize_t)(((size_t)-
1)>>1)) || i == (type)((Py_ssize_t)(((size_t)-1)>>
1))), 1))) ) ? __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list
, wraparound, boundscheck) : (is_list ? (PyErr_SetString(PyExc_IndexError
, "list index out of range"), (PyObject*)((void*)0)) : __Pyx_GetItemInt_Generic
(o, to_py_func(i))))
\
3142 (__Pyx_fits_Py_ssize_t(i, type, is_signed)( (sizeof(type) < sizeof(Py_ssize_t)) || (sizeof(type) >
sizeof(Py_ssize_t) && __builtin_expect(!!(i < (type
)((Py_ssize_t)(((size_t)-1)>>1)) || i == (type)((Py_ssize_t
)(((size_t)-1)>>1))), 1) && (!is_signed || __builtin_expect
(!!(i > (type)(-((Py_ssize_t)(((size_t)-1)>>1))-1) ||
i == (type)(-((Py_ssize_t)(((size_t)-1)>>1))-1)), 1)))
|| (sizeof(type) == sizeof(Py_ssize_t) && (is_signed
|| __builtin_expect(!!(i < (type)((Py_ssize_t)(((size_t)-
1)>>1)) || i == (type)((Py_ssize_t)(((size_t)-1)>>
1))), 1))) )
? \
3143 __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) : \
3144 (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL((void*)0)) : \
3145 __Pyx_GetItemInt_Generic(o, to_py_func(i))))
3146#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)(( (sizeof(type) < sizeof(Py_ssize_t)) || (sizeof(type) >
sizeof(Py_ssize_t) && __builtin_expect(!!(i < (type
)((Py_ssize_t)(((size_t)-1)>>1)) || i == (type)((Py_ssize_t
)(((size_t)-1)>>1))), 1) && (!is_signed || __builtin_expect
(!!(i > (type)(-((Py_ssize_t)(((size_t)-1)>>1))-1) ||
i == (type)(-((Py_ssize_t)(((size_t)-1)>>1))-1)), 1)))
|| (sizeof(type) == sizeof(Py_ssize_t) && (is_signed
|| __builtin_expect(!!(i < (type)((Py_ssize_t)(((size_t)-
1)>>1)) || i == (type)((Py_ssize_t)(((size_t)-1)>>
1))), 1))) ) ? __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound
, boundscheck) : (PyErr_SetString(PyExc_IndexError, "list index out of range"
), (PyObject*)((void*)0)))
\
3147 (__Pyx_fits_Py_ssize_t(i, type, is_signed)( (sizeof(type) < sizeof(Py_ssize_t)) || (sizeof(type) >
sizeof(Py_ssize_t) && __builtin_expect(!!(i < (type
)((Py_ssize_t)(((size_t)-1)>>1)) || i == (type)((Py_ssize_t
)(((size_t)-1)>>1))), 1) && (!is_signed || __builtin_expect
(!!(i > (type)(-((Py_ssize_t)(((size_t)-1)>>1))-1) ||
i == (type)(-((Py_ssize_t)(((size_t)-1)>>1))-1)), 1)))
|| (sizeof(type) == sizeof(Py_ssize_t) && (is_signed
|| __builtin_expect(!!(i < (type)((Py_ssize_t)(((size_t)-
1)>>1)) || i == (type)((Py_ssize_t)(((size_t)-1)>>
1))), 1))) )
? \
3148 __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) : \
3149 (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL((void*)0)))
3150static CYTHON_INLINE__inline__ PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
3151 int wraparound, int boundscheck);
3152#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)(( (sizeof(type) < sizeof(Py_ssize_t)) || (sizeof(type) >
sizeof(Py_ssize_t) && __builtin_expect(!!(i < (type
)((Py_ssize_t)(((size_t)-1)>>1)) || i == (type)((Py_ssize_t
)(((size_t)-1)>>1))), 1) && (!is_signed || __builtin_expect
(!!(i > (type)(-((Py_ssize_t)(((size_t)-1)>>1))-1) ||
i == (type)(-((Py_ssize_t)(((size_t)-1)>>1))-1)), 1)))
|| (sizeof(type) == sizeof(Py_ssize_t) && (is_signed
|| __builtin_expect(!!(i < (type)((Py_ssize_t)(((size_t)-
1)>>1)) || i == (type)((Py_ssize_t)(((size_t)-1)>>
1))), 1))) ) ? __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound
, boundscheck) : (PyErr_SetString(PyExc_IndexError, "tuple index out of range"
), (PyObject*)((void*)0)))
\
3153 (__Pyx_fits_Py_ssize_t(i, type, is_signed)( (sizeof(type) < sizeof(Py_ssize_t)) || (sizeof(type) >
sizeof(Py_ssize_t) && __builtin_expect(!!(i < (type
)((Py_ssize_t)(((size_t)-1)>>1)) || i == (type)((Py_ssize_t
)(((size_t)-1)>>1))), 1) && (!is_signed || __builtin_expect
(!!(i > (type)(-((Py_ssize_t)(((size_t)-1)>>1))-1) ||
i == (type)(-((Py_ssize_t)(((size_t)-1)>>1))-1)), 1)))
|| (sizeof(type) == sizeof(Py_ssize_t) && (is_signed
|| __builtin_expect(!!(i < (type)((Py_ssize_t)(((size_t)-
1)>>1)) || i == (type)((Py_ssize_t)(((size_t)-1)>>
1))), 1))) )
? \
3154 __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) : \
3155 (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL((void*)0)))
3156static CYTHON_INLINE__inline__ PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
3157 int wraparound, int boundscheck);
3158static CYTHON_INLINE__inline__ PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
3159static CYTHON_INLINE__inline__ PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
3160 int is_list, int wraparound, int boundscheck);
3161
3162#include <string.h>
3163
3164static CYTHON_INLINE__inline__ int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals); /*proto*/
3165
3166static CYTHON_INLINE__inline__ int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals); /*proto*/
3167
3168#if PY_MAJOR_VERSION2 >= 3
3169#define __Pyx_PyString_Equals__Pyx_PyBytes_Equals __Pyx_PyUnicode_Equals
3170#else
3171#define __Pyx_PyString_Equals__Pyx_PyBytes_Equals __Pyx_PyBytes_Equals
3172#endif
3173
3174static CYTHON_INLINE__inline__ PyObject *__Pyx_GetAttr(PyObject *, PyObject *); /*proto*/
3175
3176static CYTHON_INLINE__inline__ PyObject *__Pyx_GetAttr3(PyObject *, PyObject *, PyObject *); /*proto*/
3177
3178static CYTHON_INLINE__inline__ int __Pyx_PyDict_Contains(PyObject* item, PyObject* dict, int eq) {
3179 int result = PyDict_Contains(dict, item);
3180 return unlikely(result < 0)__builtin_expect(!!(result < 0), 0) ? result : (result == (eq == Py_EQ2));
3181}
3182
3183#if PY_MAJOR_VERSION2 >= 3
3184static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key)PyObject_GetItem(PyObject *d, PyObject* key) {
3185 PyObject *value;
3186 value = PyDict_GetItemWithError(d, key);
3187 if (unlikely(!value)__builtin_expect(!!(!value), 0)) {
3188 if (!PyErr_Occurred()) {
3189 PyObject* args = PyTuple_Pack(1, key);
3190 if (likely(args)__builtin_expect(!!(args), 1))
3191 PyErr_SetObject(PyExc_KeyError, args);
3192 Py_XDECREF(args)do { if ((args) == ((void*)0)) ; else do { if ( --((PyObject*
)(args))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(args)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(args)))); } while (0); } while (0)
;
3193 }
3194 return NULL((void*)0);
3195 }
3196 Py_INCREF(value)( ((PyObject*)(value))->ob_refcnt++);
3197 return value;
3198}
3199#else
3200 #define __Pyx_PyDict_GetItem(d, key)PyObject_GetItem(d, key) PyObject_GetItem(d, key)
3201#endif
3202
3203#if PY_MAJOR_VERSION2 < 3
3204#define __Pyx_PyString_Join_PyString_Join __Pyx_PyBytes_Join_PyString_Join
3205#define __Pyx_PyBaseString_Join(s, v)(((((PyObject*)(s))->ob_type) == &PyUnicode_Type) ? PyUnicodeUCS4_Join
(s, v) : _PyString_Join(s, v))
(PyUnicode_CheckExact(s)((((PyObject*)(s))->ob_type) == &PyUnicode_Type) ? PyUnicode_JoinPyUnicodeUCS4_Join(s, v) : __Pyx_PyBytes_Join_PyString_Join(s, v))
3206#else
3207#define __Pyx_PyString_Join_PyString_Join PyUnicode_JoinPyUnicodeUCS4_Join
3208#define __Pyx_PyBaseString_Join PyUnicode_JoinPyUnicodeUCS4_Join
3209#endif
3210#if CYTHON_COMPILING_IN_CPYTHON1
3211 #if PY_MAJOR_VERSION2 < 3
3212 #define __Pyx_PyBytes_Join_PyString_Join _PyString_Join
3213 #else
3214 #define __Pyx_PyBytes_Join_PyString_Join _PyBytes_Join_PyString_Join
3215 #endif
3216#else
3217static CYTHON_INLINE__inline__ PyObject* __Pyx_PyBytes_Join_PyString_Join(PyObject* sep, PyObject* values); /*proto*/
3218#endif
3219
3220static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/
3221
3222static void* __Pyx_GetVtable(PyObject *dict); /*proto*/
3223
3224static PyObject *__Pyx_GetNameInClass(PyObject *nmspace, PyObject *name); /*proto*/
3225
3226static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases);
3227
3228static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, PyObject *qualname,
3229 PyObject *mkw, PyObject *modname, PyObject *doc); /*proto*/
3230static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, PyObject *dict,
3231 PyObject *mkw, int calculate_metaclass, int allow_py2_metaclass); /*proto*/
3232
3233static CYTHON_INLINE__inline__ PyObject* __Pyx_PyInt_From_int(int value);
3234
3235static CYTHON_INLINE__inline__ int __Pyx_PyInt_As_int(PyObject *);
3236
3237static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); /*proto*/
3238
3239static int __Pyx_Print(PyObject*, PyObject *, int); /*proto*/
3240#if CYTHON_COMPILING_IN_PYPY0 || PY_MAJOR_VERSION2 >= 3
3241static PyObject* __pyx_print = 0;
3242static PyObject* __pyx_print_kwargs = 0;
3243#endif
3244
3245static int __Pyx_PrintOne(PyObject* stream, PyObject *o); /*proto*/
3246
3247static CYTHON_INLINE__inline__ PyObject* __Pyx_PyInt_From_long(long value);
3248
3249static CYTHON_INLINE__inline__ unsigned int __Pyx_PyInt_As_unsigned_int(PyObject *);
3250
3251static CYTHON_INLINE__inline__ long __Pyx_PyInt_As_long(PyObject *);
3252
3253static int __Pyx_check_binary_version(void);
3254
3255static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig); /*proto*/
3256
3257#if !defined(__Pyx_PyIdentifier_FromString)
3258#if PY_MAJOR_VERSION2 < 3
3259 #define __Pyx_PyIdentifier_FromString(s)PyString_FromString(s) PyString_FromString(s)
3260#else
3261 #define __Pyx_PyIdentifier_FromString(s)PyString_FromString(s) PyUnicode_FromStringPyUnicodeUCS4_FromString(s)
3262#endif
3263#endif
3264
3265static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
3266
3267static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict); /*proto*/
3268
3269static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/
3270
3271typedef struct {
3272 int code_line;
3273 PyCodeObject* code_object;
3274} __Pyx_CodeObjectCacheEntry;
3275struct __Pyx_CodeObjectCache {
3276 int count;
3277 int max_count;
3278 __Pyx_CodeObjectCacheEntry* entries;
3279};
3280static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL((void*)0)};
3281static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
3282static PyCodeObject *__pyx_find_code_object(int code_line);
3283static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
3284
3285static void __Pyx_AddTraceback(const char *funcname, int c_line,
3286 int py_line, const char *filename); /*proto*/
3287
3288static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
3289
3290
3291/* Module declarations from 'xmmsvalue' */
3292static PyTypeObject *__pyx_ptype_9xmmsvalue_XmmsValue = 0;
3293static PyTypeObject *__pyx_ptype_9xmmsvalue_XmmsValueC2C = 0;
3294static PyTypeObject *__pyx_ptype_9xmmsvalue_XmmsListIter = 0;
3295static PyTypeObject *__pyx_ptype_9xmmsvalue_XmmsDictIter = 0;
3296static PyTypeObject *__pyx_ptype_9xmmsvalue_CollectionRef = 0;
3297static PyTypeObject *__pyx_ptype_9xmmsvalue_Collection = 0;
3298static PyTypeObject *__pyx_ptype_9xmmsvalue_CollectionAttributes = 0;
3299static PyTypeObject *__pyx_ptype_9xmmsvalue_AttributesIterator = 0;
3300static PyTypeObject *__pyx_ptype_9xmmsvalue_CollectionOperands = 0;
3301static PyTypeObject *__pyx_ptype_9xmmsvalue_CollectionIDList = 0;
3302static xmmsv_t *(*__pyx_f_9xmmsvalue_create_native_value)(PyObject *); /*proto*/
3303static PyObject *(*__pyx_f_9xmmsvalue_get_default_source_pref)(void); /*proto*/
3304
3305/* Module declarations from 'libc.stdint' */
3306
3307/* Module declarations from 'cxmmsvalue' */
3308
3309/* Module declarations from 'cxmmsclient' */
3310
3311/* Module declarations from 'cpython.mem' */
3312
3313/* Module declarations from 'cpython.ref' */
3314
3315/* Module declarations from 'cpython.bytes' */
3316
3317/* Module declarations from 'cython' */
3318
3319/* Module declarations from 'cpython.unicode' */
3320
3321/* Module declarations from 'libc.string' */
3322
3323/* Module declarations from 'xmmsutils' */
3324static CYTHON_INLINE__inline__ PyObject *__pyx_f_9xmmsutils_to_unicode(const char *); /*proto*/
3325static CYTHON_INLINE__inline__ PyObject *__pyx_f_9xmmsutils_from_unicode(PyObject *); /*proto*/
3326
3327/* Module declarations from 'xmmsapi' */
3328static PyTypeObject *__pyx_ptype_7xmmsapi_XmmsSourcePreference = 0;
3329static PyTypeObject *__pyx_ptype_7xmmsapi_XmmsResult = 0;
3330static PyTypeObject *__pyx_ptype_7xmmsapi_XmmsResultTracker = 0;
3331static PyTypeObject *__pyx_ptype_7xmmsapi_XmmsVisResult = 0;
3332static PyTypeObject *__pyx_ptype_7xmmsapi_XmmsVisChunk = 0;
3333static PyTypeObject *__pyx_ptype_7xmmsapi_XmmsCore = 0;
3334static PyTypeObject *__pyx_ptype_7xmmsapi_XmmsServiceNamespace = 0;
3335static PyTypeObject *__pyx_ptype_7xmmsapi_service_broadcast = 0;
3336static PyTypeObject *__pyx_ptype_7xmmsapi__XmmsServiceClient = 0;
3337static PyTypeObject *__pyx_ptype_7xmmsapi_client_broadcast = 0;
3338static PyTypeObject *__pyx_ptype_7xmmsapi_client_method = 0;
3339static PyTypeObject *__pyx_ptype_7xmmsapi_XmmsProxy = 0;
3340static PyTypeObject *__pyx_ptype_7xmmsapi_XmmsApi = 0;
3341static PyTypeObject *__pyx_ptype_7xmmsapi_XmmsLoop = 0;
3342static PyTypeObject *__pyx_ptype_7xmmsapi___pyx_scope_struct__deprecated = 0;
3343static PyTypeObject *__pyx_ptype_7xmmsapi___pyx_scope_struct_1__update_api_callback = 0;
3344static PyObject *__pyx_v_7xmmsapi_select = 0;
3345static int __pyx_f_7xmmsapi_ResultNotifier(xmmsv_t *, void *); /*proto*/
3346static void __pyx_f_7xmmsapi_ResultDestroyNotifier(void *); /*proto*/
3347static xmmsv_t *__pyx_f_7xmmsapi_service_method_proxy(xmmsv_t *, xmmsv_t *, void *); /*proto*/
3348static xmmsc_sc_namespace_t *__pyx_f_7xmmsapi__namespace_get(xmmsc_connection_t *, PyObject *, int); /*proto*/
3349static void __pyx_f_7xmmsapi_python_need_out_fun(int, void *); /*proto*/
3350static void __pyx_f_7xmmsapi_python_disconnect_fun(void *); /*proto*/
3351static PyObject *__pyx_f_7xmmsapi_userconfdir_get(int __pyx_skip_dispatch); /*proto*/
3352static PyObject *__pyx_f_7xmmsapi__install_select(void); /*proto*/
3353static char *__pyx_f_7xmmsapi_check_namespace(PyObject *, int); /*proto*/
3354static PyObject *__pyx_f_7xmmsapi_check_playlist(PyObject *, int); /*proto*/
3355#define __Pyx_MODULE_NAME"xmmsapi" "xmmsapi"
3356int __pyx_module_is_main_xmmsapi = 0;
3357
3358/* Implementation of 'xmmsapi' */
3359static PyObject *__pyx_builtin_Exception;
3360static PyObject *__pyx_builtin_ValueError;
3361static PyObject *__pyx_builtin_TypeError;
3362static PyObject *__pyx_builtin_RuntimeError;
3363static PyObject *__pyx_builtin_range;
3364static PyObject *__pyx_builtin_NotImplementedError;
3365static PyObject *__pyx_builtin_AttributeError;
3366static PyObject *__pyx_builtin_KeyError;
3367static PyObject *__pyx_builtin_IOError;
3368static PyObject *__pyx_builtin_ImportError;
3369static PyObject *__pyx_pf_7xmmsapi_10deprecated_deprecated_decorator(PyObject *__pyx_self, PyObject *__pyx_v_a, PyObject *__pyx_v_kw); /* proto */
3370static PyObject *__pyx_pf_7xmmsapi_deprecated(CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_self, PyObject *__pyx_v_f); /* proto */
3371static int __pyx_pf_7xmmsapi_20XmmsSourcePreference___init__(struct __pyx_obj_7xmmsapi_XmmsSourcePreference *__pyx_v_self, PyObject *__pyx_v_sources); /* proto */
3372static PyObject *__pyx_pf_7xmmsapi_20XmmsSourcePreference_2get(struct __pyx_obj_7xmmsapi_XmmsSourcePreference *__pyx_v_self); /* proto */
3373static PyObject *__pyx_pf_7xmmsapi_20XmmsSourcePreference_4set(struct __pyx_obj_7xmmsapi_XmmsSourcePreference *__pyx_v_self, PyObject *__pyx_v_sources); /* proto */
3374static int __pyx_pf_7xmmsapi_17XmmsResultTracker___cinit__(struct __pyx_obj_7xmmsapi_XmmsResultTracker *__pyx_v_self); /* proto */
3375static int __pyx_pf_7xmmsapi_10XmmsResult___cinit__(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self); /* proto */
3376static void __pyx_pf_7xmmsapi_10XmmsResult_2__dealloc__(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self); /* proto */
3377static PyObject *__pyx_pf_7xmmsapi_10XmmsResult_4disconnect(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self); /* proto */
3378static PyObject *__pyx_pf_7xmmsapi_10XmmsResult_8callback___get__(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self); /* proto */
3379static PyObject *__pyx_pf_7xmmsapi_10XmmsResult_6_callback(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self); /* proto */
3380static PyObject *__pyx_pf_7xmmsapi_10XmmsResult_8__call__(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self); /* proto */
3381static PyObject *__pyx_pf_7xmmsapi_10XmmsResult_10wait(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self); /* proto */
3382static PyObject *__pyx_pf_7xmmsapi_10XmmsResult_12is_error(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self); /* proto */
3383static PyObject *__pyx_pf_7xmmsapi_10XmmsResult_14iserror(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self); /* proto */
3384static PyObject *__pyx_pf_7xmmsapi_10XmmsResult_16xmmsvalue(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self); /* proto */
3385static PyObject *__pyx_pf_7xmmsapi_10XmmsResult_6xvalue___get__(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self); /* proto */
3386static PyObject *__pyx_pf_7xmmsapi_10XmmsResult_18_value(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self); /* proto */
3387static PyObject *__pyx_pf_7xmmsapi_10XmmsResult_20value(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self); /* proto */
3388static int __pyx_pf_7xmmsapi_13XmmsVisResult___cinit__(struct __pyx_obj_7xmmsapi_XmmsVisResult *__pyx_v_self); /* proto */
3389static void __pyx_pf_7xmmsapi_13XmmsVisResult_2__dealloc__(struct __pyx_obj_7xmmsapi_XmmsVisResult *__pyx_v_self); /* proto */
3390static PyObject *__pyx_pf_7xmmsapi_13XmmsVisResult_4xmmsvalue(struct __pyx_obj_7xmmsapi_XmmsVisResult *__pyx_v_self); /* proto */
3391static int __pyx_pf_7xmmsapi_12XmmsVisChunk___cinit__(struct __pyx_obj_7xmmsapi_XmmsVisChunk *__pyx_v_self); /* proto */
3392static void __pyx_pf_7xmmsapi_12XmmsVisChunk_2__dealloc__(struct __pyx_obj_7xmmsapi_XmmsVisChunk *__pyx_v_self); /* proto */
3393static Py_ssize_t __pyx_pf_7xmmsapi_12XmmsVisChunk_4__len__(struct __pyx_obj_7xmmsapi_XmmsVisChunk *__pyx_v_self); /* proto */
3394static PyObject *__pyx_pf_7xmmsapi_12XmmsVisChunk_6get_buffer(struct __pyx_obj_7xmmsapi_XmmsVisChunk *__pyx_v_self); /* proto */
3395static PyObject *__pyx_pf_7xmmsapi_12XmmsVisChunk_8get_data(struct __pyx_obj_7xmmsapi_XmmsVisChunk *__pyx_v_self); /* proto */
3396static PyObject *__pyx_pf_7xmmsapi_2_noop(CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_v_a, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_v_kw); /* proto */
3397static PyObject *__pyx_pf_7xmmsapi_4_setcb(CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_self, PyObject *__pyx_v_f, PyObject *__pyx_v_fb); /* proto */
3398static PyObject *__pyx_pf_7xmmsapi_10method_arg___init__(CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_type, PyObject *__pyx_v_doc, PyObject *__pyx_v_kw); /* proto */
3399static PyObject *__pyx_pf_7xmmsapi_11method_varg___init__(CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_doc, PyObject *__pyx_v_kw); /* proto */
3400static PyObject *__pyx_pf_7xmmsapi_14service_method___init__(CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_positional, PyObject *__pyx_v_named, PyObject *__pyx_v_name, PyObject *__pyx_v_doc); /* proto */
3401static PyObject *__pyx_pf_7xmmsapi_14service_method_2__call__(CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_f); /* proto */
3402static int __pyx_pf_7xmmsapi_17service_broadcast___init__(struct __pyx_obj_7xmmsapi_service_broadcast *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_doc); /* proto */
3403static PyObject *__pyx_pf_7xmmsapi_17service_broadcast_2emit(struct __pyx_obj_7xmmsapi_service_broadcast *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3404static PyObject *__pyx_pf_7xmmsapi_17service_broadcast_4__call__(struct __pyx_obj_7xmmsapi_service_broadcast *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3405static PyObject *__pyx_pf_7xmmsapi_17service_broadcast_4name___get__(struct __pyx_obj_7xmmsapi_service_broadcast *__pyx_v_self); /* proto */
3406static int __pyx_pf_7xmmsapi_17service_broadcast_4name_2__set__(struct __pyx_obj_7xmmsapi_service_broadcast *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3407static int __pyx_pf_7xmmsapi_17service_broadcast_4name_4__del__(struct __pyx_obj_7xmmsapi_service_broadcast *__pyx_v_self); /* proto */
3408static PyObject *__pyx_pf_7xmmsapi_17service_broadcast_3doc___get__(struct __pyx_obj_7xmmsapi_service_broadcast *__pyx_v_self); /* proto */
3409static int __pyx_pf_7xmmsapi_17service_broadcast_3doc_2__set__(struct __pyx_obj_7xmmsapi_service_broadcast *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3410static int __pyx_pf_7xmmsapi_17service_broadcast_3doc_4__del__(struct __pyx_obj_7xmmsapi_service_broadcast *__pyx_v_self); /* proto */
3411static PyObject *__pyx_pf_7xmmsapi_17service_broadcast_9namespace___get__(struct __pyx_obj_7xmmsapi_service_broadcast *__pyx_v_self); /* proto */
3412static PyObject *__pyx_pf_7xmmsapi_16service_constant___init__(CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
3413static PyObject *__pyx_pf_7xmmsapi_20XmmsServiceNamespace_4path___get__(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *__pyx_v_self); /* proto */
3414static int __pyx_pf_7xmmsapi_20XmmsServiceNamespace___cinit__(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *__pyx_v_self, struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_xmms, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_v_a, PyObject *__pyx_v_ka); /* proto */
3415static PyObject *__pyx_pf_7xmmsapi_20XmmsServiceNamespace_2_walk(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *__pyx_v_self, PyObject *__pyx_v_namespace, PyObject *__pyx_v_constant, PyObject *__pyx_v_method, PyObject *__pyx_v_broadcast, PyObject *__pyx_v_path, PyObject *__pyx_v_other, PyObject *__pyx_v_depth, PyObject *__pyx_v_deep); /* proto */
3416static PyObject *__pyx_pf_7xmmsapi_20XmmsServiceNamespace_4register_namespace(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *__pyx_v_self, PyObject *__pyx_v_path, PyObject *__pyx_v_instance, PyObject *__pyx_v_infos); /* proto */
3417static PyObject *__pyx_pf_7xmmsapi_20XmmsServiceNamespace_6register_constant(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *__pyx_v_self, PyObject *__pyx_v_path, PyObject *__pyx_v_value, PyObject *__pyx_v_infos); /* proto */
3418static PyObject *__pyx_pf_7xmmsapi_20XmmsServiceNamespace_8register_method(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *__pyx_v_self, PyObject *__pyx_v_path, PyObject *__pyx_v_meth, PyObject *__pyx_v_infos); /* proto */
3419static PyObject *__pyx_pf_7xmmsapi_20XmmsServiceNamespace_10register_broadcast(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *__pyx_v_self, PyObject *__pyx_v_path, PyObject *__pyx_v_bc, PyObject *__pyx_v_infos); /* proto */
3420static PyObject *__pyx_pf_7xmmsapi_20XmmsServiceNamespace_12register(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *__pyx_v_self); /* proto */
3421static PyObject *__pyx_pf_7xmmsapi_20XmmsServiceNamespace_4xmms___get__(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *__pyx_v_self); /* proto */
3422static PyObject *__pyx_pf_7xmmsapi_20XmmsServiceNamespace_6parent___get__(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *__pyx_v_self); /* proto */
3423static int __pyx_pf_7xmmsapi_16client_broadcast___cinit__(struct __pyx_obj_7xmmsapi_client_broadcast *__pyx_v_self, struct __pyx_obj_7xmmsapi__XmmsServiceClient *__pyx_v_parent, PyObject *__pyx_v_name, PyObject *__pyx_v_docstring); /* proto */
3424static PyObject *__pyx_pf_7xmmsapi_16client_broadcast_2subscribe(struct __pyx_obj_7xmmsapi_client_broadcast *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3425static PyObject *__pyx_pf_7xmmsapi_16client_broadcast_4__call__(struct __pyx_obj_7xmmsapi_client_broadcast *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3426static PyObject *__pyx_pf_7xmmsapi_16client_broadcast_6__repr__(struct __pyx_obj_7xmmsapi_client_broadcast *__pyx_v_self); /* proto */
3427static PyObject *__pyx_pf_7xmmsapi_16client_broadcast_5_path___get__(struct __pyx_obj_7xmmsapi_client_broadcast *__pyx_v_self); /* proto */
3428static PyObject *__pyx_pf_7xmmsapi_16client_broadcast_9_clientid___get__(struct __pyx_obj_7xmmsapi_client_broadcast *__pyx_v_self); /* proto */
3429static PyObject *__pyx_pf_7xmmsapi_16client_broadcast_4name___get__(struct __pyx_obj_7xmmsapi_client_broadcast *__pyx_v_self); /* proto */
3430static PyObject *__pyx_pf_7xmmsapi_16client_broadcast_9docstring___get__(struct __pyx_obj_7xmmsapi_client_broadcast *__pyx_v_self); /* proto */
3431static int __pyx_pf_7xmmsapi_13client_method___cinit__(struct __pyx_obj_7xmmsapi_client_method *__pyx_v_self, struct __pyx_obj_7xmmsapi__XmmsServiceClient *__pyx_v_parent, PyObject *__pyx_v_name, PyObject *__pyx_v_docstring, PyObject *__pyx_v_inspect, PyObject *__pyx_v_cb); /* proto */
3432static PyObject *__pyx_pf_7xmmsapi_13client_method_2with_callback(struct __pyx_obj_7xmmsapi_client_method *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3433static PyObject *__pyx_pf_7xmmsapi_13client_method_4call(struct __pyx_obj_7xmmsapi_client_method *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kargs, PyObject *__pyx_v_cb); /* proto */
3434static PyObject *__pyx_pf_7xmmsapi_13client_method_6__call__(struct __pyx_obj_7xmmsapi_client_method *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kargs); /* proto */
3435static PyObject *__pyx_pf_7xmmsapi_13client_method_8__repr__(struct __pyx_obj_7xmmsapi_client_method *__pyx_v_self); /* proto */
3436static PyObject *__pyx_pf_7xmmsapi_13client_method_5_path___get__(struct __pyx_obj_7xmmsapi_client_method *__pyx_v_self); /* proto */
3437static PyObject *__pyx_pf_7xmmsapi_13client_method_9_clientid___get__(struct __pyx_obj_7xmmsapi_client_method *__pyx_v_self); /* proto */
3438static PyObject *__pyx_pf_7xmmsapi_13client_method_4name___get__(struct __pyx_obj_7xmmsapi_client_method *__pyx_v_self); /* proto */
3439static PyObject *__pyx_pf_7xmmsapi_13client_method_9docstring___get__(struct __pyx_obj_7xmmsapi_client_method *__pyx_v_self); /* proto */
3440static PyObject *__pyx_pf_7xmmsapi_13client_method_7inspect___get__(struct __pyx_obj_7xmmsapi_client_method *__pyx_v_self); /* proto */
3441static int __pyx_pf_7xmmsapi_18_XmmsServiceClient___cinit__(struct __pyx_obj_7xmmsapi__XmmsServiceClient *__pyx_v_self, PyObject *__pyx_v_xmms, int __pyx_v_clientid, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_v_a, PyObject *__pyx_v_ka); /* proto */
3442static PyObject *__pyx_pf_7xmmsapi_18_XmmsServiceClient_2__repr__(struct __pyx_obj_7xmmsapi__XmmsServiceClient *__pyx_v_self); /* proto */
3443static PyObject *__pyx_pf_7xmmsapi_18_XmmsServiceClient_5_path___get__(struct __pyx_obj_7xmmsapi__XmmsServiceClient *__pyx_v_self); /* proto */
3444static PyObject *__pyx_pf_7xmmsapi_18_XmmsServiceClient_6_async___get__(struct __pyx_obj_7xmmsapi__XmmsServiceClient *__pyx_v_self); /* proto */
3445static PyObject *__pyx_pf_7xmmsapi_18_XmmsServiceClient_5_xmms___get__(struct __pyx_obj_7xmmsapi__XmmsServiceClient *__pyx_v_self); /* proto */
3446static PyObject *__pyx_pf_7xmmsapi_18_XmmsServiceClient_9_clientid___get__(struct __pyx_obj_7xmmsapi__XmmsServiceClient *__pyx_v_self); /* proto */
3447static PyObject *__pyx_pf_7xmmsapi_17XmmsServiceClient__update_api(CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_xvalue, PyObject *__pyx_v_recursive, PyObject *__pyx_v_cb); /* proto */
3448static PyObject *__pyx_pf_7xmmsapi_17XmmsServiceClient_20_update_api_callback__update_api(PyObject *__pyx_self, PyObject *__pyx_v_xvalue); /* proto */
3449static PyObject *__pyx_pf_7xmmsapi_17XmmsServiceClient_2_update_api_callback(CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cb, PyObject *__pyx_v_recursive); /* proto */
3450static PyObject *__pyx_pf_7xmmsapi_17XmmsServiceClient_4__call__(CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_recursive, PyObject *__pyx_v_cb); /* proto */
3451static PyObject *__pyx_pf_7xmmsapi_6userconfdir_get(CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_self); /* proto */
3452static PyObject *__pyx_pf_7xmmsapi_8enforce_unicode(CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_self, PyObject *__pyx_v_o); /* proto */
3453static int __pyx_pf_7xmmsapi_9XmmsProxy___init__(struct __pyx_obj_7xmmsapi_XmmsProxy *__pyx_v_self, PyObject *__pyx_v_xmms); /* proto */
3454static int __pyx_pf_7xmmsapi_8XmmsCore___cinit__(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kargs); /* proto */
3455static int __pyx_pf_7xmmsapi_8XmmsCore_2__init__(CYTHON_UNUSED__attribute__ ((__unused__)) struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_v_clientname); /* proto */
3456static void __pyx_pf_7xmmsapi_8XmmsCore_4__dealloc__(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self); /* proto */
3457static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_6__del__(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self); /* proto */
3458static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_8get_source_preference(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self); /* proto */
3459static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_10set_source_preference(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self, PyObject *__pyx_v_sources); /* proto */
3460static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_12_needout_cb(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self, int __pyx_v_i); /* proto */
3461static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_14_disconnect_cb(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self); /* proto */
3462static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_16disconnect(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self); /* proto */
3463static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_18ioin(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self); /* proto */
3464static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_20ioout(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self); /* proto */
3465static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_22want_ioout(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self); /* proto */
3466static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_24set_need_out_fun(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self, PyObject *__pyx_v_fun); /* proto */
3467static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_26get_fd(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self); /* proto */
3468static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_28connect(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self, PyObject *__pyx_v_path, PyObject *__pyx_v_disconnect_func); /* proto */
3469static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_30is_connected(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self); /* proto */
3470static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_17source_preference___get__(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self); /* proto */
3471static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_10clientname___get__(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self); /* proto */
3472static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_9client_id___get__(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self); /* proto */
3473static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_c2c_get_own_id(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self); /* proto */
3474static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_2quit(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3475static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_4plugin_list(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_typ, PyObject *__pyx_v_cb); /* proto */
3476static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_6playback_start(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3477static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_8playback_stop(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3478static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_10playback_tickle(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3479static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_12playback_pause(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3480static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_14playback_current_id(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3481static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_16playback_seek_ms(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_ms, xmms_playback_seek_mode_t __pyx_v_whence, PyObject *__pyx_v_cb); /* proto */
3482static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_18playback_seek_samples(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_samples, xmms_playback_seek_mode_t __pyx_v_whence, PyObject *__pyx_v_cb); /* proto */
3483static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_20playback_status(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3484static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_22broadcast_playback_status(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3485static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_24broadcast_playback_current_id(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3486static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_26playback_playtime(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3487static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_28signal_playback_playtime(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3488static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_30playback_volume_set(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_channel, int __pyx_v_volume, PyObject *__pyx_v_cb); /* proto */
3489static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_32playback_volume_get(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3490static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_34broadcast_playback_volume_changed(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3491static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_36broadcast_playlist_loaded(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3492static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_38playlist_load(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb); /* proto */
3493static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_40playlist_list(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3494static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_42playlist_remove(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb); /* proto */
3495static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_44playlist_shuffle(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb); /* proto */
3496static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_46playlist_rinsert(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_pos, PyObject *__pyx_v_url, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb, PyObject *__pyx_v_encoded); /* proto */
3497static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_48playlist_rinsert_encoded(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_pos, PyObject *__pyx_v_url, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb); /* proto */
3498static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_50playlist_insert_url(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_pos, PyObject *__pyx_v_url, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb, PyObject *__pyx_v_encoded); /* proto */
3499static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_52playlist_insert_encoded(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_pos, PyObject *__pyx_v_url, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb); /* proto */
3500static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_54playlist_insert_id(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_pos, int __pyx_v_id, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb); /* proto */
3501static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_56playlist_insert_collection(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_pos, struct __pyx_obj_9xmmsvalue_Collection *__pyx_v_coll, PyObject *__pyx_v_order, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb); /* proto */
3502static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_58playlist_radd(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_url, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb, PyObject *__pyx_v_encoded); /* proto */
3503static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_60playlist_radd_encoded(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_url, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb); /* proto */
3504static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_62playlist_add_url(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_url, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb, PyObject *__pyx_v_encoded); /* proto */
3505static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_64playlist_add_encoded(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_url, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb); /* proto */
3506static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_66playlist_add_id(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_id, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb); /* proto */
3507static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_68playlist_add_collection(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, struct __pyx_obj_9xmmsvalue_Collection *__pyx_v_coll, PyObject *__pyx_v_order, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb); /* proto */
3508static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_70playlist_remove_entry(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_id, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb); /* proto */
3509static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_72playlist_clear(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb); /* proto */
3510static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_74playlist_list_entries(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb); /* proto */
3511static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_76playlist_sort(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_props, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb); /* proto */
3512static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_78playlist_set_next_rel(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_position, PyObject *__pyx_v_cb); /* proto */
3513static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_80playlist_set_next(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_position, PyObject *__pyx_v_cb); /* proto */
3514static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_82playlist_move(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_cur_pos, int __pyx_v_new_pos, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb); /* proto */
3515static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_84playlist_create(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb); /* proto */
3516static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_86playlist_current_pos(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb); /* proto */
3517static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_88playlist_current_active(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3518static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_90broadcast_playlist_current_pos(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3519static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_92broadcast_playlist_changed(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3520static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_94broadcast_config_value_changed(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3521static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_96config_set_value(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_val, PyObject *__pyx_v_cb); /* proto */
3522static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_98config_get_value(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_cb); /* proto */
3523static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_100config_list_values(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3524static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_102config_register_value(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_valuename, PyObject *__pyx_v_defaultvalue, PyObject *__pyx_v_cb); /* proto */
3525static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_104medialib_add_entry(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_path, PyObject *__pyx_v_cb, PyObject *__pyx_v_encoded); /* proto */
3526static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_106medialib_add_entry_encoded(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_path, PyObject *__pyx_v_cb); /* proto */
3527static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_108medialib_remove_entry(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_id, PyObject *__pyx_v_cb); /* proto */
3528static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_110medialib_move_entry(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_id, PyObject *__pyx_v_url, PyObject *__pyx_v_cb, PyObject *__pyx_v_encoded); /* proto */
3529static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_112medialib_get_info(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_id, PyObject *__pyx_v_cb); /* proto */
3530static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_114medialib_rehash(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_id, PyObject *__pyx_v_cb); /* proto */
3531static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_116medialib_get_id(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_url, PyObject *__pyx_v_cb, PyObject *__pyx_v_encoded); /* proto */
3532static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_118medialib_import_path(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_path, PyObject *__pyx_v_cb, PyObject *__pyx_v_encoded); /* proto */
3533static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_120medialib_path_import(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_path, PyObject *__pyx_v_cb, PyObject *__pyx_v_encoded); /* proto */
3534static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_122medialib_path_import_encoded(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_path, PyObject *__pyx_v_cb); /* proto */
3535static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_124medialib_property_set(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_id, PyObject *__pyx_v_key, PyObject *__pyx_v_value, PyObject *__pyx_v_source, PyObject *__pyx_v_cb); /* proto */
3536static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_126medialib_property_remove(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_id, PyObject *__pyx_v_key, PyObject *__pyx_v_source, PyObject *__pyx_v_cb); /* proto */
3537static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_128broadcast_medialib_entry_added(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3538static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_130broadcast_medialib_entry_changed(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3539static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_132broadcast_medialib_entry_updated(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3540static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_134broadcast_medialib_entry_removed(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3541static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_136broadcast_collection_changed(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3542static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_138signal_mediainfo_reader_unindexed(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3543static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_140broadcast_mediainfo_reader_status(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3544static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_142xform_media_browse(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_url, PyObject *__pyx_v_cb, PyObject *__pyx_v_encoded); /* proto */
3545static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_144xform_media_browse_encoded(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_url, PyObject *__pyx_v_cb); /* proto */
3546static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_146coll_get(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_ns, PyObject *__pyx_v_cb); /* proto */
3547static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_148coll_list(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_ns, PyObject *__pyx_v_cb); /* proto */
3548static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_150coll_save(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, struct __pyx_obj_9xmmsvalue_Collection *__pyx_v_coll, PyObject *__pyx_v_name, PyObject *__pyx_v_ns, PyObject *__pyx_v_cb); /* proto */
3549static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_152coll_remove(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_ns, PyObject *__pyx_v_cb); /* proto */
3550static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_154coll_rename(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_oldname, PyObject *__pyx_v_newname, PyObject *__pyx_v_ns, PyObject *__pyx_v_cb); /* proto */
3551static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_156coll_idlist_from_playlist_file(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_path, PyObject *__pyx_v_cb); /* proto */
3552static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_158coll_query(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, struct __pyx_obj_9xmmsvalue_Collection *__pyx_v_coll, PyObject *__pyx_v_fetch, PyObject *__pyx_v_cb); /* proto */
3553static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_160coll_query_ids(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, struct __pyx_obj_9xmmsvalue_Collection *__pyx_v_coll, PyObject *__pyx_v_start, PyObject *__pyx_v_leng, PyObject *__pyx_v_order, PyObject *__pyx_v_cb); /* proto */
3554static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_162coll_query_infos(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, struct __pyx_obj_9xmmsvalue_Collection *__pyx_v_coll, PyObject *__pyx_v_fields, PyObject *__pyx_v_start, PyObject *__pyx_v_leng, PyObject *__pyx_v_order, PyObject *__pyx_v_groupby, PyObject *__pyx_v_cb); /* proto */
3555static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_164c2c_ready(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3556static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_166c2c_get_connected_clients(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3557static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_168c2c_get_ready_clients(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3558static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_170broadcast_c2c_ready(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3559static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_172broadcast_c2c_client_connected(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3560static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_174broadcast_c2c_client_disconnected(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3561static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_176sc_init(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self); /* proto */
3562static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_178sc_broadcast_emit(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_broadcast, PyObject *__pyx_v_value); /* proto */
3563static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_180sc_broadcast_subscribe(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_dest, PyObject *__pyx_v_broadcast, PyObject *__pyx_v_cb); /* proto */
3564static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_182sc_call(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_dest, PyObject *__pyx_v_method, PyObject *__pyx_v_args, PyObject *__pyx_v_kargs, PyObject *__pyx_v_cb); /* proto */
3565static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_184sc_introspect_namespace(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_dest, PyObject *__pyx_v_path, PyObject *__pyx_v_cb); /* proto */
3566static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_186sc_introspect_method(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_dest, PyObject *__pyx_v_path, PyObject *__pyx_v_cb); /* proto */
3567static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_188sc_introspect_broadcast(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_dest, PyObject *__pyx_v_path, PyObject *__pyx_v_cb); /* proto */
3568static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_190sc_introspect_constant(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_dest, PyObject *__pyx_v_path, PyObject *__pyx_v_cb); /* proto */
3569static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_192sc_introspect_docstring(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_dest, PyObject *__pyx_v_path, PyObject *__pyx_v_cb); /* proto */
3570static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_194bindata_add(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_data, PyObject *__pyx_v_cb); /* proto */
3571static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_196bindata_retrieve(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_hash, PyObject *__pyx_v_cb); /* proto */
3572static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_198bindata_remove(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_hash, PyObject *__pyx_v_cb); /* proto */
3573static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_200bindata_list(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3574static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_202stats(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3575static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_204visualization_version(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3576static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_206visualization_init(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb); /* proto */
3577static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_208visualization_start(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_handle, PyObject *__pyx_v_cb); /* proto */
3578static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_210visualization_started(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_handle); /* proto */
3579static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_212visualization_errored(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_handle); /* proto */
3580static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_214visualization_property_set(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_handle, PyObject *__pyx_v_key, PyObject *__pyx_v_value, PyObject *__pyx_v_cb); /* proto */
3581static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_216visualization_properties_set(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_handle, PyObject *__pyx_v_props, PyObject *__pyx_v_cb); /* proto */
3582static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_218visualization_chunk_get(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_handle, int __pyx_v_drawtime, int __pyx_v_blocking); /* proto */
3583static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_220visualization_shutdown(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_handle); /* proto */
3584static int __pyx_pf_7xmmsapi_8XmmsLoop___cinit__(struct __pyx_obj_7xmmsapi_XmmsLoop *__pyx_v_self); /* proto */
3585static PyObject *__pyx_pf_7xmmsapi_8XmmsLoop_2_loop_set_wakeup(struct __pyx_obj_7xmmsapi_XmmsLoop *__pyx_v_self, PyObject *__pyx_v_fd); /* proto */
3586static PyObject *__pyx_pf_7xmmsapi_8XmmsLoop_4_loop_get_wakeup(struct __pyx_obj_7xmmsapi_XmmsLoop *__pyx_v_self); /* proto */
3587static PyObject *__pyx_pf_7xmmsapi_8XmmsLoop_6exit_loop(struct __pyx_obj_7xmmsapi_XmmsLoop *__pyx_v_self); /* proto */
3588static PyObject *__pyx_pf_7xmmsapi_8XmmsLoop_8loop_tickle(struct __pyx_obj_7xmmsapi_XmmsLoop *__pyx_v_self); /* proto */
3589static PyObject *__pyx_pf_7xmmsapi_8XmmsLoop_10loop_iter(struct __pyx_obj_7xmmsapi_XmmsLoop *__pyx_v_self, PyObject *__pyx_v_infd, PyObject *__pyx_v_outfd, PyObject *__pyx_v_errfd, PyObject *__pyx_v_timeout); /* proto */
3590static PyObject *__pyx_pf_7xmmsapi_8XmmsLoop_12loop(struct __pyx_obj_7xmmsapi_XmmsLoop *__pyx_v_self); /* proto */
3591static PyObject *__pyx_tp_new_7xmmsapi_XmmsSourcePreference(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
3592static PyObject *__pyx_tp_new_7xmmsapi_XmmsResult(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
3593static PyObject *__pyx_tp_new_7xmmsapi_XmmsResultTracker(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
3594static PyObject *__pyx_tp_new_7xmmsapi_XmmsVisResult(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
3595static PyObject *__pyx_tp_new_7xmmsapi_XmmsVisChunk(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
3596static PyObject *__pyx_tp_new_7xmmsapi_XmmsCore(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
3597static PyObject *__pyx_tp_new_7xmmsapi_XmmsServiceNamespace(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
3598static PyObject *__pyx_tp_new_7xmmsapi_service_broadcast(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
3599static PyObject *__pyx_tp_new_7xmmsapi__XmmsServiceClient(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
3600static PyObject *__pyx_tp_new_7xmmsapi_client_broadcast(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
3601static PyObject *__pyx_tp_new_7xmmsapi_client_method(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
3602static PyObject *__pyx_tp_new_7xmmsapi_XmmsProxy(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
3603static PyObject *__pyx_tp_new_7xmmsapi_XmmsApi(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
3604static PyObject *__pyx_tp_new_7xmmsapi_XmmsLoop(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
3605static PyObject *__pyx_tp_new_7xmmsapi___pyx_scope_struct__deprecated(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
3606static PyObject *__pyx_tp_new_7xmmsapi___pyx_scope_struct_1__update_api_callback(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
3607static char __pyx_k_1[] = "1";
3608static char __pyx_k_a[] = "a";
3609static char __pyx_k_c[] = "c";
3610static char __pyx_k_d[] = "d";
3611static char __pyx_k_f[] = "f";
3612static char __pyx_k_i[] = "i";
3613static char __pyx_k_l[] = "l";
3614static char __pyx_k_m[] = "m";
3615static char __pyx_k_o[] = "o";
3616static char __pyx_k_s[] = "%s";
3617static char __pyx_k_v[] = "v";
3618static char __pyx_k_bc[] = "bc";
3619static char __pyx_k_cb[] = "cb";
3620static char __pyx_k_fb[] = "fb";
3621static char __pyx_k_id[] = "id";
3622static char __pyx_k_kw[] = "kw";
3623static char __pyx_k_ms[] = "ms";
3624static char __pyx_k_ns[] = "ns";
3625static char __pyx_k_os[] = "os";
3626static char __pyx_k_sc[] = "sc";
3627static char __pyx_k__15[] = "";
3628static char __pyx_k__17[] = "_";
3629static char __pyx_k__31[] = ".";
3630static char __pyx_k_add[] = "add";
3631static char __pyx_k_doc[] = "__doc__";
3632static char __pyx_k_end[] = "end";
3633static char __pyx_k_get[] = "get";
3634static char __pyx_k_key[] = "key";
3635static char __pyx_k_pos[] = "pos";
3636static char __pyx_k_res[] = "res";
3637static char __pyx_k_s_2[] = "s";
3638static char __pyx_k_set[] = "set";
3639static char __pyx_k_sys[] = "sys";
3640static char __pyx_k_typ[] = "typ";
3641static char __pyx_k_url[] = "url";
3642static char __pyx_k_val[] = "val";
3643static char __pyx_k_Xmms[] = "Xmms";
3644static char __pyx_k_args[] = "args";
3645static char __pyx_k_call[] = "__call__";
3646static char __pyx_k_coll[] = "coll";
3647static char __pyx_k_data[] = "data";
3648static char __pyx_k_deep[] = "deep";
3649static char __pyx_k_dest[] = "dest";
3650static char __pyx_k_dict[] = "dict";
3651static char __pyx_k_emit[] = "emit";
3652static char __pyx_k_file[] = "file";
3653static char __pyx_k_hash[] = "hash";
3654static char __pyx_k_infd[] = "infd";
3655static char __pyx_k_init[] = "__init__";
3656static char __pyx_k_ioin[] = "ioin";
3657static char __pyx_k_join[] = "join";
3658static char __pyx_k_leng[] = "leng";
3659static char __pyx_k_list[] = "list";
3660static char __pyx_k_main[] = "__main__";
3661static char __pyx_k_meth[] = "meth";
3662static char __pyx_k_name[] = "__name__";
3663static char __pyx_k_noop[] = "_noop";
3664static char __pyx_k_path[] = "path";
3665static char __pyx_k_pipe[] = "pipe";
3666static char __pyx_k_quit[] = "quit";
3667static char __pyx_k_read[] = "read";
3668static char __pyx_k_self[] = "self";
3669static char __pyx_k_test[] = "__test__";
3670static char __pyx_k_type[] = "type";
3671static char __pyx_k_wait[] = "wait";
3672static char __pyx_k_walk[] = "_walk";
3673static char __pyx_k_xmms[] = "xmms";
3674static char __pyx_k_TYPES[] = "TYPES";
3675static char __pyx_k_UTF_8[] = "UTF-8";
3676static char __pyx_k_ascii[] = "ascii";
3677static char __pyx_k_async[] = "_async";
3678static char __pyx_k_class[] = "__class__";
3679static char __pyx_k_depth[] = "depth";
3680static char __pyx_k_doc_2[] = "doc";
3681static char __pyx_k_errfd[] = "errfd";
3682static char __pyx_k_fetch[] = "fetch";
3683static char __pyx_k_float[] = "float";
3684static char __pyx_k_infos[] = "infos";
3685static char __pyx_k_ioout[] = "ioout";
3686static char __pyx_k_items[] = "items";
3687static char __pyx_k_kargs[] = "kargs";
3688static char __pyx_k_lower[] = "lower";
3689static char __pyx_k_named[] = "named";
3690static char __pyx_k_order[] = "order";
3691static char __pyx_k_other[] = "other";
3692static char __pyx_k_outfd[] = "outfd";
3693static char __pyx_k_print[] = "print";
3694static char __pyx_k_props[] = "props";
3695static char __pyx_k_pyval[] = "pyval";
3696static char __pyx_k_range[] = "range";
3697static char __pyx_k_setcb[] = "_setcb";
3698static char __pyx_k_start[] = "start";
3699static char __pyx_k_stats[] = "stats";
3700static char __pyx_k_value[] = "value";
3701static char __pyx_k_write[] = "write";
3702static char __pyx_k_append[] = "append";
3703static char __pyx_k_call_2[] = "call";
3704static char __pyx_k_client[] = "client/";
3705static char __pyx_k_encode[] = "encode";
3706static char __pyx_k_entity[] = "entity";
3707static char __pyx_k_fields[] = "fields";
3708static char __pyx_k_get_fd[] = "get_fd";
3709static char __pyx_k_getenv[] = "getenv";
3710static char __pyx_k_handle[] = "handle";
3711static char __pyx_k_import[] = "__import__";
3712static char __pyx_k_insert[] = "insert";
3713static char __pyx_k_method[] = "method";
3714static char __pyx_k_module[] = "__module__";
3715static char __pyx_k_name_2[] = "name";
3716static char __pyx_k_parent[] = "parent";
3717static char __pyx_k_path_2[] = "_path";
3718static char __pyx_k_remove[] = "remove";
3719static char __pyx_k_select[] = "select";
3720static char __pyx_k_sender[] = "sender";
3721static char __pyx_k_source[] = "source";
3722static char __pyx_k_stderr[] = "stderr";
3723static char __pyx_k_string[] = "string";
3724static char __pyx_k_urllib[] = "urllib";
3725static char __pyx_k_volume[] = "volume";
3726static char __pyx_k_whence[] = "whence";
3727static char __pyx_k_x_type[] = "_x_type";
3728static char __pyx_k_xmms_2[] = "_xmms";
3729static char __pyx_k_xvalue[] = "xvalue";
3730static char __pyx_k_IOError[] = "IOError";
3731static char __pyx_k_channel[] = "channel";
3732static char __pyx_k_connect[] = "connect";
3733static char __pyx_k_cur_pos[] = "cur_pos";
3734static char __pyx_k_cxvalue[] = "cxvalue";
3735static char __pyx_k_default[] = "default";
3736static char __pyx_k_encoded[] = "encoded";
3737static char __pyx_k_groupby[] = "groupby";
3738static char __pyx_k_inspect[] = "inspect";
3739static char __pyx_k_integer[] = "integer";
3740static char __pyx_k_iserror[] = "iserror";
3741static char __pyx_k_methods[] = "methods";
3742static char __pyx_k_new_pos[] = "new_pos";
3743static char __pyx_k_newname[] = "newname";
3744static char __pyx_k_oldname[] = "oldname";
3745static char __pyx_k_payload[] = "payload";
3746static char __pyx_k_prepare[] = "__prepare__";
3747static char __pyx_k_replace[] = "replace";
3748static char __pyx_k_samples[] = "samples";
3749static char __pyx_k_sc_call[] = "sc_call";
3750static char __pyx_k_sc_init[] = "sc_init";
3751static char __pyx_k_sources[] = "sources";
3752static char __pyx_k_timeout[] = "timeout";
3753static char __pyx_k_value_2[] = "_value";
3754static char __pyx_k_xmmsapi[] = "xmmsapi";
3755static char __pyx_k_KeyError[] = "KeyError";
3756static char __pyx_k_blocking[] = "blocking";
3757static char __pyx_k_callback[] = "callback";
3758static char __pyx_k_clientid[] = "clientid";
3759static char __pyx_k_coll_get[] = "coll_get";
3760static char __pyx_k_constant[] = "constant";
3761static char __pyx_k_drawtime[] = "drawtime";
3762static char __pyx_k_exc_info[] = "exc_info";
3763static char __pyx_k_get_data[] = "get_data";
3764static char __pyx_k_get_dict[] = "get_dict";
3765static char __pyx_k_get_type[] = "get_type";
3766static char __pyx_k_instance[] = "instance";
3767static char __pyx_k_is_error[] = "is_error";
3768static char __pyx_k_playlist[] = "playlist";
3769static char __pyx_k_position[] = "position";
3770static char __pyx_k_qualname[] = "__qualname__";
3771static char __pyx_k_register[] = "register";
3772static char __pyx_k_Exception[] = "Exception";
3773static char __pyx_k_TypeError[] = "TypeError";
3774static char __pyx_k_broadcast[] = "broadcast";
3775static char __pyx_k_c2c_ready[] = "c2c_ready";
3776static char __pyx_k_coll_list[] = "coll_list";
3777static char __pyx_k_coll_save[] = "coll_save";
3778static char __pyx_k_constants[] = "constants";
3779static char __pyx_k_docstring[] = "docstring";
3780static char __pyx_k_get_error[] = "get_error";
3781static char __pyx_k_loop_iter[] = "loop_iter";
3782static char __pyx_k_metaclass[] = "__metaclass__";
3783static char __pyx_k_namespace[] = "namespace";
3784static char __pyx_k_recursive[] = "recursive";
3785static char __pyx_k_subscribe[] = "subscribe";
3786static char __pyx_k_traceback[] = "traceback";
3787static char __pyx_k_valuename[] = "valuename";
3788static char __pyx_k_xmmsvalue[] = "xmmsvalue";
3789static char __pyx_k_ValueError[] = "ValueError";
3790static char __pyx_k_broadcasts[] = "broadcasts";
3791static char __pyx_k_callback_2[] = "_callback";
3792static char __pyx_k_clientid_2[] = "_clientid";
3793static char __pyx_k_clientname[] = "clientname";
3794static char __pyx_k_coll_query[] = "coll_query";
3795static char __pyx_k_deprecated[] = "deprecated";
3796static char __pyx_k_disconnect[] = "disconnect";
3797static char __pyx_k_doc_object[] = "doc: object";
3798static char __pyx_k_get_buffer[] = "get_buffer";
3799static char __pyx_k_method_arg[] = "method_arg";
3800static char __pyx_k_namespaces[] = "namespaces";
3801static char __pyx_k_needout_cb[] = "_needout_cb";
3802static char __pyx_k_positional[] = "positional";
3803static char __pyx_k_pyx_vtable[] = "__pyx_vtable__";
3804static char __pyx_k_update_api[] = "_update_api";
3805static char __pyx_k_want_ioout[] = "want_ioout";
3806static char __pyx_k_Collections[] = "Collections";
3807static char __pyx_k_ImportError[] = "ImportError";
3808static char __pyx_k_bindata_add[] = "bindata_add";
3809static char __pyx_k_coll_remove[] = "coll_remove";
3810static char __pyx_k_coll_rename[] = "coll_rename";
3811static char __pyx_k_loop_tickle[] = "loop_tickle";
3812static char __pyx_k_method_varg[] = "method_varg";
3813static char __pyx_k_name_object[] = "name: object";
3814static char __pyx_k_plugin_list[] = "plugin_list";
3815static char __pyx_k_DEPRECATED_s[] = "DEPRECATED: %s()";
3816static char __pyx_k_RuntimeError[] = "RuntimeError";
3817static char __pyx_k_bindata_list[] = "bindata_list";
3818static char __pyx_k_defaultvalue[] = "defaultvalue";
3819static char __pyx_k_unquote_plus[] = "unquote_plus";
3820static char __pyx_k_urllib_parse[] = "urllib.parse";
3821static char __pyx_k_Bad_namespace[] = "Bad namespace";
3822static char __pyx_k_disconnect_cb[] = "_disconnect_cb";
3823static char __pyx_k_playback_stop[] = "playback_stop";
3824static char __pyx_k_playlist_list[] = "playlist_list";
3825static char __pyx_k_playlist_load[] = "playlist_load";
3826static char __pyx_k_playlist_move[] = "playlist_move";
3827static char __pyx_k_playlist_radd[] = "playlist_radd";
3828static char __pyx_k_playlist_sort[] = "playlist_sort";
3829static char __pyx_k_AttributeError[] = "AttributeError";
3830static char __pyx_k_bindata_remove[] = "bindata_remove";
3831static char __pyx_k_c2c_get_own_id[] = "c2c_get_own_id";
3832static char __pyx_k_coll_query_ids[] = "coll_query_ids";
3833static char __pyx_k_namespace_path[] = "namespace_path";
3834static char __pyx_k_playback_pause[] = "playback_pause";
3835static char __pyx_k_playback_start[] = "playback_start";
3836static char __pyx_k_playlist_clear[] = "playlist_clear";
3837static char __pyx_k_service_method[] = "service_method";
3838static char __pyx_k_ACTIVE_PLAYLIST[] = "ACTIVE_PLAYLIST";
3839static char __pyx_k_PLUGIN_TYPE_ALL[] = "PLUGIN_TYPE_ALL";
3840static char __pyx_k_disconnect_func[] = "disconnect_func";
3841static char __pyx_k_enforce_unicode[] = "enforce_unicode";
3842static char __pyx_k_loop_get_wakeup[] = "_loop_get_wakeup";
3843static char __pyx_k_loop_set_wakeup[] = "_loop_set_wakeup";
3844static char __pyx_k_medialib_get_id[] = "medialib_get_id";
3845static char __pyx_k_medialib_rehash[] = "medialib_rehash";
3846static char __pyx_k_playback_status[] = "playback_status";
3847static char __pyx_k_playback_tickle[] = "playback_tickle";
3848static char __pyx_k_playlist_add_id[] = "playlist_add_id";
3849static char __pyx_k_playlist_create[] = "playlist_create";
3850static char __pyx_k_playlist_remove[] = "playlist_remove";
3851static char __pyx_k_print_exception[] = "print_exception";
3852static char __pyx_k_register_method[] = "register_method";
3853static char __pyx_k_bindata_retrieve[] = "bindata_retrieve";
3854static char __pyx_k_coll_query_infos[] = "coll_query_infos";
3855static char __pyx_k_config_get_value[] = "config_get_value";
3856static char __pyx_k_config_set_value[] = "config_set_value";
3857static char __pyx_k_playback_seek_ms[] = "playback_seek_ms";
3858static char __pyx_k_playlist_add_url[] = "playlist_add_url";
3859static char __pyx_k_playlist_rinsert[] = "playlist_rinsert";
3860static char __pyx_k_playlist_shuffle[] = "playlist_shuffle";
3861static char __pyx_k_service_constant[] = "service_constant";
3862static char __pyx_k_set_need_out_fun[] = "set_need_out_fun";
3863static char __pyx_k_COLLECTION_NS_ALL[] = "COLLECTION_NS_ALL";
3864static char __pyx_k_PLAYBACK_SEEK_CUR[] = "PLAYBACK_SEEK_CUR";
3865static char __pyx_k_PLAYBACK_SEEK_SET[] = "PLAYBACK_SEEK_SET";
3866static char __pyx_k_PLUGIN_TYPE_XFORM[] = "PLUGIN_TYPE_XFORM";
3867static char __pyx_k_XmmsServiceClient[] = "XmmsServiceClient";
3868static char __pyx_k_medialib_get_info[] = "medialib_get_info";
3869static char __pyx_k_method_arg___init[] = "method_arg.__init__";
3870static char __pyx_k_playback_playtime[] = "playback_playtime";
3871static char __pyx_k_playlist_set_next[] = "playlist_set_next";
3872static char __pyx_k_register_constant[] = "register_constant";
3873static char __pyx_k_sc_broadcast_emit[] = "sc_broadcast_emit";
3874static char __pyx_k_PLUGIN_TYPE_OUTPUT[] = "PLUGIN_TYPE_OUTPUT";
3875static char __pyx_k_VisualizationError[] = "VisualizationError";
3876static char __pyx_k_config_list_values[] = "config_list_values";
3877static char __pyx_k_medialib_add_entry[] = "medialib_add_entry";
3878static char __pyx_k_method_varg___init[] = "method_varg.__init__";
3879static char __pyx_k_playlist_insert_id[] = "playlist_insert_id";
3880static char __pyx_k_register_broadcast[] = "register_broadcast";
3881static char __pyx_k_register_namespace[] = "register_namespace";
3882static char __pyx_k_visualization_init[] = "visualization_init";
3883static char __pyx_k_xform_media_browse[] = "xform_media_browse";
3884static char __pyx_k_NotImplementedError[] = "NotImplementedError";
3885static char __pyx_k_UnnamedPythonClient[] = "UnnamedPythonClient";
3886static char __pyx_k_broadcast_c2c_ready[] = "broadcast_c2c_ready";
3887static char __pyx_k_medialib_move_entry[] = "medialib_move_entry";
3888static char __pyx_k_playback_current_id[] = "playback_current_id";
3889static char __pyx_k_playback_volume_get[] = "playback_volume_get";
3890static char __pyx_k_playback_volume_set[] = "playback_volume_set";
3891static char __pyx_k_playlist_insert_url[] = "playlist_insert_url";
3892static char __pyx_k_update_api_callback[] = "_update_api_callback";
3893static char __pyx_k_visualization_start[] = "visualization_start";
3894static char __pyx_k_xmms_service_entity[] = "_xmms_service_entity";
3895static char __pyx_k_Bad_whence_parameter[] = "Bad whence parameter";
3896static char __pyx_k_PLAYBACK_STATUS_PLAY[] = "PLAYBACK_STATUS_PLAY";
3897static char __pyx_k_PLAYBACK_STATUS_STOP[] = "PLAYBACK_STATUS_STOP";
3898static char __pyx_k_PLAYLIST_CHANGED_ADD[] = "PLAYLIST_CHANGED_ADD";
3899static char __pyx_k_Uninitialized_result[] = "Uninitialized result";
3900static char __pyx_k_deprecated_decorator[] = "deprecated_decorator";
3901static char __pyx_k_expected_str_s_found[] = "expected str, %s found";
3902static char __pyx_k_medialib_import_path[] = "medialib_import_path";
3903static char __pyx_k_medialib_path_import[] = "medialib_path_import";
3904static char __pyx_k_method_s_on_client_d[] = "<method '%s' on client #%d>";
3905static char __pyx_k_playlist_add_encoded[] = "playlist_add_encoded";
3906static char __pyx_k_playlist_current_pos[] = "playlist_current_pos";
3907static char __pyx_k_sc_introspect_method[] = "sc_introspect_method";
3908static char __pyx_k_PLAYBACK_STATUS_PAUSE[] = "PLAYBACK_STATUS_PAUSE";
3909static char __pyx_k_PLAYLIST_CHANGED_MOVE[] = "PLAYLIST_CHANGED_MOVE";
3910static char __pyx_k_PLAYLIST_CHANGED_SORT[] = "PLAYLIST_CHANGED_SORT";
3911static char __pyx_k_c2c_get_ready_clients[] = "c2c_get_ready_clients";
3912static char __pyx_k_config_register_value[] = "config_register_value";
3913static char __pyx_k_get_source_preference[] = "get_source_preference";
3914static char __pyx_k_medialib_property_set[] = "medialib_property_set";
3915static char __pyx_k_medialib_remove_entry[] = "medialib_remove_entry";
3916static char __pyx_k_playback_seek_samples[] = "playback_seek_samples";
3917static char __pyx_k_playlist_list_entries[] = "playlist_list_entries";
3918static char __pyx_k_playlist_radd_encoded[] = "playlist_radd_encoded";
3919static char __pyx_k_playlist_remove_entry[] = "playlist_remove_entry";
3920static char __pyx_k_playlist_set_next_rel[] = "playlist_set_next_rel";
3921static char __pyx_k_service_method___call[] = "service_method.__call__";
3922static char __pyx_k_service_method___init[] = "service_method.__init__";
3923static char __pyx_k_set_source_preference[] = "set_source_preference";
3924static char __pyx_k_visualization_errored[] = "visualization_errored";
3925static char __pyx_k_visualization_started[] = "visualization_started";
3926static char __pyx_k_visualization_version[] = "visualization_version";
3927static char __pyx_k_COLLECTION_CHANGED_ADD[] = "COLLECTION_CHANGED_ADD";
3928static char __pyx_k_PLAYLIST_CHANGED_CLEAR[] = "PLAYLIST_CHANGED_CLEAR";
3929static char __pyx_k_Type_s_is_not_callable[] = "Type '%s' is not callable";
3930static char __pyx_k_sc_broadcast_subscribe[] = "sc_broadcast_subscribe";
3931static char __pyx_k_sc_introspect_constant[] = "sc_introspect_constant";
3932static char __pyx_k_visualization_shutdown[] = "visualization_shutdown";
3933static char __pyx_k_xmms_service_constants[] = "_xmms_service_constants";
3934static char __pyx_k_COLLECTION_NS_PLAYLISTS[] = "COLLECTION_NS_PLAYLISTS";
3935static char __pyx_k_PLAYLIST_CHANGED_INSERT[] = "PLAYLIST_CHANGED_INSERT";
3936static char __pyx_k_PLAYLIST_CHANGED_REMOVE[] = "PLAYLIST_CHANGED_REMOVE";
3937static char __pyx_k_PLAYLIST_CHANGED_UPDATE[] = "PLAYLIST_CHANGED_UPDATE";
3938static char __pyx_k_XmmsDisconnectException[] = "XmmsDisconnectException";
3939static char __pyx_k_broadcast_s_on_client_d[] = "<broadcast '%s' on client #%d>";
3940static char __pyx_k_namespace_s_on_client_d[] = "<namespace '%s' on client #%d>";
3941static char __pyx_k_playlist_add_collection[] = "playlist_add_collection";
3942static char __pyx_k_playlist_current_active[] = "playlist_current_active";
3943static char __pyx_k_playlist_insert_encoded[] = "playlist_insert_encoded";
3944static char __pyx_k_sc_introspect_broadcast[] = "sc_introspect_broadcast";
3945static char __pyx_k_sc_introspect_docstring[] = "sc_introspect_docstring";
3946static char __pyx_k_sc_introspect_namespace[] = "sc_introspect_namespace";
3947static char __pyx_k_service_constant___init[] = "service_constant.__init__";
3948static char __pyx_k_visualization_chunk_get[] = "visualization_chunk_get";
3949static char __pyx_k_MEDIALIB_ENTRY_STATUS_OK[] = "MEDIALIB_ENTRY_STATUS_OK";
3950static char __pyx_k_PLAYLIST_CHANGED_SHUFFLE[] = "PLAYLIST_CHANGED_SHUFFLE";
3951static char __pyx_k_XmmsServiceClient___call[] = "XmmsServiceClient.__call__";
3952static char __pyx_k_medialib_property_remove[] = "medialib_property_remove";
3953static char __pyx_k_playlist_rinsert_encoded[] = "playlist_rinsert_encoded";
3954static char __pyx_k_signal_playback_playtime[] = "signal_playback_playtime";
3955static char __pyx_k_COLLECTION_CHANGED_REMOVE[] = "COLLECTION_CHANGED_REMOVE";
3956static char __pyx_k_COLLECTION_CHANGED_RENAME[] = "COLLECTION_CHANGED_RENAME";
3957static char __pyx_k_COLLECTION_CHANGED_UPDATE[] = "COLLECTION_CHANGED_UPDATE";
3958static char __pyx_k_COLLECTION_NS_COLLECTIONS[] = "COLLECTION_NS_COLLECTIONS";
3959static char __pyx_k_MEDIALIB_ENTRY_STATUS_NEW[] = "MEDIALIB_ENTRY_STATUS_NEW";
3960static char __pyx_k_Python_bindings_for_XMMS2[] = "\nPython bindings for XMMS2.\n";
3961static char __pyx_k_broadcast_playback_status[] = "broadcast_playback_status";
3962static char __pyx_k_broadcast_playlist_loaded[] = "broadcast_playlist_loaded";
3963static char __pyx_k_c2c_get_connected_clients[] = "c2c_get_connected_clients";
3964static char __pyx_k_broadcast_playlist_changed[] = "broadcast_playlist_changed";
3965static char __pyx_k_chunk_data_not_initialized[] = "chunk data not initialized";
3966static char __pyx_k_medialib_add_entry_encoded[] = "medialib_add_entry_encoded";
3967static char __pyx_k_playlist_insert_collection[] = "playlist_insert_collection";
3968static char __pyx_k_visualization_property_set[] = "visualization_property_set";
3969static char __pyx_k_xform_media_browse_encoded[] = "xform_media_browse_encoded";
3970static char __pyx_k_Unsupported_argument_type_s[] = "Unsupported argument type %s";
3971static char __pyx_k_XMMS_PYTHON_SHOW_DEPRECATED[] = "XMMS_PYTHON_SHOW_DEPRECATED";
3972static char __pyx_k_MEDIALIB_ENTRY_STATUS_REHASH[] = "MEDIALIB_ENTRY_STATUS_REHASH";
3973static char __pyx_k_broadcast_collection_changed[] = "broadcast_collection_changed";
3974static char __pyx_k_medialib_path_import_encoded[] = "medialib_path_import_encoded";
3975static char __pyx_k_visualization_properties_set[] = "visualization_properties_set";
3976static char __pyx_k_XmmsServiceClient__update_api[] = "XmmsServiceClient._update_api";
3977static char __pyx_k_broadcast_playback_current_id[] = "broadcast_playback_current_id";
3978static char __pyx_k_Couldn_t_connect_to_the_server[] = "Couldn't connect to the server";
3979static char __pyx_k_broadcast_c2c_client_connected[] = "broadcast_c2c_client_connected";
3980static char __pyx_k_broadcast_config_value_changed[] = "broadcast_config_value_changed";
3981static char __pyx_k_broadcast_medialib_entry_added[] = "broadcast_medialib_entry_added";
3982static char __pyx_k_broadcast_playlist_current_pos[] = "broadcast_playlist_current_pos";
3983static char __pyx_k_coll_idlist_from_playlist_file[] = "coll_idlist_from_playlist_file";
3984static char __pyx_k_Failed_to_initialize_chunk_data[] = "Failed to initialize chunk data";
3985static char __pyx_k_Failed_to_initialize_xmmsclient[] = "Failed to initialize xmmsclient library! Probably due to broken name.";
3986static char __pyx_k_MEDIALIB_ENTRY_STATUS_RESOLVING[] = "MEDIALIB_ENTRY_STATUS_RESOLVING";
3987static char __pyx_k_No_namespace_bound_to_broadcast[] = "No namespace bound to broadcast";
3988static char __pyx_k_home_travis_build_dsvensson_xmm[] = "/home/travis/build/dsvensson/xmms2-devel/src/clients/lib/python/xmmsapi.pyx";
3989static char __pyx_k_Broadcast_is_available_only_on_a[] = "Broadcast is available only on asynchronous connections";
3990static char __pyx_k_Failed_to_initialize_visualizati[] = "Failed to initialize visualization";
3991static char __pyx_k_Internal_connection_reference_no[] = "Internal connection reference not set";
3992static char __pyx_k_MEDIALIB_ENTRY_STATUS_NOT_AVAILA[] = "MEDIALIB_ENTRY_STATUS_NOT_AVAILABLE";
3993static char __pyx_k_Not_a_valid_Xmms_client_instance[] = "Not a valid Xmms client instance";
3994static char __pyx_k_Unrecoverable_error_in_visualiza[] = "Unrecoverable error in visualization";
3995static char __pyx_k_XmmsServiceClient__update_api_ca[] = "XmmsServiceClient._update_api_callback.<locals>._update_api";
3996static char __pyx_k_broadcast_c2c_client_disconnecte[] = "broadcast_c2c_client_disconnected";
3997static char __pyx_k_broadcast_mediainfo_reader_statu[] = "broadcast_mediainfo_reader_status";
3998static char __pyx_k_broadcast_medialib_entry_changed[] = "broadcast_medialib_entry_changed";
3999static char __pyx_k_broadcast_medialib_entry_removed[] = "broadcast_medialib_entry_removed";
4000static char __pyx_k_broadcast_medialib_entry_updated[] = "broadcast_medialib_entry_updated";
4001static char __pyx_k_broadcast_playback_volume_change[] = "broadcast_playback_volume_changed";
4002static char __pyx_k_deprecated_locals_deprecated_dec[] = "deprecated.<locals>.deprecated_decorator";
4003static char __pyx_k_signal_mediainfo_reader_unindexe[] = "signal_mediainfo_reader_unindexed";
4004static char __pyx_k_xmmsc_result_t_couldn_t_be_alloc[] = "xmmsc_result_t couldn't be allocated";
4005static char __pyx_k_XmmsServiceClient__update_api_ca_2[] = "XmmsServiceClient._update_api_callback";
4006static PyObject *__pyx_kp_s_1;
4007static PyObject *__pyx_n_s_ACTIVE_PLAYLIST;
4008static PyObject *__pyx_n_s_AttributeError;
4009static PyObject *__pyx_kp_s_Bad_namespace;
4010static PyObject *__pyx_kp_s_Bad_whence_parameter;
4011static PyObject *__pyx_kp_s_Broadcast_is_available_only_on_a;
4012static PyObject *__pyx_n_s_COLLECTION_CHANGED_ADD;
4013static PyObject *__pyx_n_s_COLLECTION_CHANGED_REMOVE;
4014static PyObject *__pyx_n_s_COLLECTION_CHANGED_RENAME;
4015static PyObject *__pyx_n_s_COLLECTION_CHANGED_UPDATE;
4016static PyObject *__pyx_n_s_COLLECTION_NS_ALL;
4017static PyObject *__pyx_n_s_COLLECTION_NS_COLLECTIONS;
4018static PyObject *__pyx_n_s_COLLECTION_NS_PLAYLISTS;
4019static PyObject *__pyx_n_s_Collections;
4020static PyObject *__pyx_kp_s_Couldn_t_connect_to_the_server;
4021static PyObject *__pyx_kp_s_DEPRECATED_s;
4022static PyObject *__pyx_n_s_Exception;
4023static PyObject *__pyx_kp_s_Failed_to_initialize_chunk_data;
4024static PyObject *__pyx_kp_s_Failed_to_initialize_xmmsclient;
4025static PyObject *__pyx_n_s_IOError;
4026static PyObject *__pyx_n_s_ImportError;
4027static PyObject *__pyx_kp_s_Internal_connection_reference_no;
4028static PyObject *__pyx_n_s_KeyError;
4029static PyObject *__pyx_n_s_MEDIALIB_ENTRY_STATUS_NEW;
4030static PyObject *__pyx_n_s_MEDIALIB_ENTRY_STATUS_NOT_AVAILA;
4031static PyObject *__pyx_n_s_MEDIALIB_ENTRY_STATUS_OK;
4032static PyObject *__pyx_n_s_MEDIALIB_ENTRY_STATUS_REHASH;
4033static PyObject *__pyx_n_s_MEDIALIB_ENTRY_STATUS_RESOLVING;
4034static PyObject *__pyx_kp_s_No_namespace_bound_to_broadcast;
4035static PyObject *__pyx_n_s_NotImplementedError;
4036static PyObject *__pyx_kp_s_Not_a_valid_Xmms_client_instance;
4037static PyObject *__pyx_n_s_PLAYBACK_SEEK_CUR;
4038static PyObject *__pyx_n_s_PLAYBACK_SEEK_SET;
4039static PyObject *__pyx_n_s_PLAYBACK_STATUS_PAUSE;
4040static PyObject *__pyx_n_s_PLAYBACK_STATUS_PLAY;
4041static PyObject *__pyx_n_s_PLAYBACK_STATUS_STOP;
4042static PyObject *__pyx_n_s_PLAYLIST_CHANGED_ADD;
4043static PyObject *__pyx_n_s_PLAYLIST_CHANGED_CLEAR;
4044static PyObject *__pyx_n_s_PLAYLIST_CHANGED_INSERT;
4045static PyObject *__pyx_n_s_PLAYLIST_CHANGED_MOVE;
4046static PyObject *__pyx_n_s_PLAYLIST_CHANGED_REMOVE;
4047static PyObject *__pyx_n_s_PLAYLIST_CHANGED_SHUFFLE;
4048static PyObject *__pyx_n_s_PLAYLIST_CHANGED_SORT;
4049static PyObject *__pyx_n_s_PLAYLIST_CHANGED_UPDATE;
4050static PyObject *__pyx_n_s_PLUGIN_TYPE_ALL;
4051static PyObject *__pyx_n_s_PLUGIN_TYPE_OUTPUT;
4052static PyObject *__pyx_n_s_PLUGIN_TYPE_XFORM;
4053static PyObject *__pyx_n_s_RuntimeError;
4054static PyObject *__pyx_n_s_TYPES;
4055static PyObject *__pyx_n_s_TypeError;
4056static PyObject *__pyx_kp_s_Type_s_is_not_callable;
4057static PyObject *__pyx_kp_s_UTF_8;
4058static PyObject *__pyx_kp_s_Uninitialized_result;
4059static PyObject *__pyx_n_s_UnnamedPythonClient;
4060static PyObject *__pyx_kp_s_Unrecoverable_error_in_visualiza;
4061static PyObject *__pyx_kp_s_Unsupported_argument_type_s;
4062static PyObject *__pyx_n_s_ValueError;
4063static PyObject *__pyx_n_s_VisualizationError;
4064static PyObject *__pyx_n_s_XMMS_PYTHON_SHOW_DEPRECATED;
4065static PyObject *__pyx_n_s_Xmms;
4066static PyObject *__pyx_n_s_XmmsDisconnectException;
4067static PyObject *__pyx_n_s_XmmsServiceClient;
4068static PyObject *__pyx_n_s_XmmsServiceClient___call;
4069static PyObject *__pyx_n_s_XmmsServiceClient__update_api;
4070static PyObject *__pyx_n_s_XmmsServiceClient__update_api_ca;
4071static PyObject *__pyx_n_s_XmmsServiceClient__update_api_ca_2;
4072static PyObject *__pyx_kp_s__15;
4073static PyObject *__pyx_n_s__17;
4074static PyObject *__pyx_kp_s__31;
4075static PyObject *__pyx_n_s_a;
4076static PyObject *__pyx_n_s_add;
4077static PyObject *__pyx_n_s_append;
4078static PyObject *__pyx_n_s_args;
4079static PyObject *__pyx_n_s_ascii;
4080static PyObject *__pyx_n_s_async;
4081static PyObject *__pyx_n_s_bc;
4082static PyObject *__pyx_n_s_bindata_add;
4083static PyObject *__pyx_n_s_bindata_list;
4084static PyObject *__pyx_n_s_bindata_remove;
4085static PyObject *__pyx_n_s_bindata_retrieve;
4086static PyObject *__pyx_n_s_blocking;
4087static PyObject *__pyx_n_s_broadcast;
4088static PyObject *__pyx_n_s_broadcast_c2c_client_connected;
4089static PyObject *__pyx_n_s_broadcast_c2c_client_disconnecte;
4090static PyObject *__pyx_n_s_broadcast_c2c_ready;
4091static PyObject *__pyx_n_s_broadcast_collection_changed;
4092static PyObject *__pyx_n_s_broadcast_config_value_changed;
4093static PyObject *__pyx_n_s_broadcast_mediainfo_reader_statu;
4094static PyObject *__pyx_n_s_broadcast_medialib_entry_added;
4095static PyObject *__pyx_n_s_broadcast_medialib_entry_changed;
4096static PyObject *__pyx_n_s_broadcast_medialib_entry_removed;
4097static PyObject *__pyx_n_s_broadcast_medialib_entry_updated;
4098static PyObject *__pyx_n_s_broadcast_playback_current_id;
4099static PyObject *__pyx_n_s_broadcast_playback_status;
4100static PyObject *__pyx_n_s_broadcast_playback_volume_change;
4101static PyObject *__pyx_n_s_broadcast_playlist_changed;
4102static PyObject *__pyx_n_s_broadcast_playlist_current_pos;
4103static PyObject *__pyx_n_s_broadcast_playlist_loaded;
4104static PyObject *__pyx_kp_s_broadcast_s_on_client_d;
4105static PyObject *__pyx_n_s_broadcasts;
4106static PyObject *__pyx_n_s_c;
4107static PyObject *__pyx_n_s_c2c_get_connected_clients;
4108static PyObject *__pyx_n_s_c2c_get_own_id;
4109static PyObject *__pyx_n_s_c2c_get_ready_clients;
4110static PyObject *__pyx_n_s_c2c_ready;
4111static PyObject *__pyx_n_s_call;
4112static PyObject *__pyx_n_s_call_2;
4113static PyObject *__pyx_n_s_callback;
4114static PyObject *__pyx_n_s_callback_2;
4115static PyObject *__pyx_n_s_cb;
4116static PyObject *__pyx_n_s_channel;
4117static PyObject *__pyx_kp_s_chunk_data_not_initialized;
4118static PyObject *__pyx_n_s_class;
4119static PyObject *__pyx_kp_s_client;
4120static PyObject *__pyx_n_s_clientid;
4121static PyObject *__pyx_n_s_clientid_2;
4122static PyObject *__pyx_n_s_clientname;
4123static PyObject *__pyx_n_s_coll;
4124static PyObject *__pyx_n_s_coll_get;
4125static PyObject *__pyx_n_s_coll_idlist_from_playlist_file;
4126static PyObject *__pyx_n_s_coll_list;
4127static PyObject *__pyx_n_s_coll_query;
4128static PyObject *__pyx_n_s_coll_query_ids;
4129static PyObject *__pyx_n_s_coll_query_infos;
4130static PyObject *__pyx_n_s_coll_remove;
4131static PyObject *__pyx_n_s_coll_rename;
4132static PyObject *__pyx_n_s_coll_save;
4133static PyObject *__pyx_n_s_config_get_value;
4134static PyObject *__pyx_n_s_config_list_values;
4135static PyObject *__pyx_n_s_config_register_value;
4136static PyObject *__pyx_n_s_config_set_value;
4137static PyObject *__pyx_n_s_connect;
4138static PyObject *__pyx_n_s_constant;
4139static PyObject *__pyx_n_s_constants;
4140static PyObject *__pyx_n_s_cur_pos;
4141static PyObject *__pyx_n_s_cxvalue;
4142static PyObject *__pyx_n_s_d;
4143static PyObject *__pyx_n_s_data;
4144static PyObject *__pyx_n_s_deep;
4145static PyObject *__pyx_n_s_default;
4146static PyObject *__pyx_n_s_defaultvalue;
4147static PyObject *__pyx_n_s_deprecated;
4148static PyObject *__pyx_n_s_deprecated_decorator;
4149static PyObject *__pyx_n_s_deprecated_locals_deprecated_dec;
4150static PyObject *__pyx_n_s_depth;
4151static PyObject *__pyx_n_s_dest;
4152static PyObject *__pyx_n_s_dict;
4153static PyObject *__pyx_n_s_disconnect;
4154static PyObject *__pyx_n_s_disconnect_cb;
4155static PyObject *__pyx_n_s_disconnect_func;
4156static PyObject *__pyx_n_s_doc;
4157static PyObject *__pyx_n_s_doc_2;
4158static PyObject *__pyx_n_s_docstring;
4159static PyObject *__pyx_n_s_drawtime;
4160static PyObject *__pyx_n_s_emit;
4161static PyObject *__pyx_n_s_encode;
4162static PyObject *__pyx_n_s_encoded;
4163static PyObject *__pyx_n_s_end;
4164static PyObject *__pyx_n_s_enforce_unicode;
4165static PyObject *__pyx_n_s_entity;
4166static PyObject *__pyx_n_s_errfd;
4167static PyObject *__pyx_n_s_exc_info;
4168static PyObject *__pyx_kp_s_expected_str_s_found;
4169static PyObject *__pyx_n_s_f;
4170static PyObject *__pyx_n_s_fb;
4171static PyObject *__pyx_n_s_fetch;
4172static PyObject *__pyx_n_s_fields;
4173static PyObject *__pyx_n_s_file;
4174static PyObject *__pyx_n_s_float;
4175static PyObject *__pyx_n_s_get;
4176static PyObject *__pyx_n_s_get_buffer;
4177static PyObject *__pyx_n_s_get_data;
4178static PyObject *__pyx_n_s_get_dict;
4179static PyObject *__pyx_n_s_get_error;
4180static PyObject *__pyx_n_s_get_fd;
4181static PyObject *__pyx_n_s_get_source_preference;
4182static PyObject *__pyx_n_s_get_type;
4183static PyObject *__pyx_n_s_getenv;
4184static PyObject *__pyx_n_s_groupby;
4185static PyObject *__pyx_n_s_handle;
4186static PyObject *__pyx_n_s_hash;
4187static PyObject *__pyx_kp_s_home_travis_build_dsvensson_xmm;
4188static PyObject *__pyx_n_s_i;
4189static PyObject *__pyx_n_s_id;
4190static PyObject *__pyx_n_s_import;
4191static PyObject *__pyx_n_s_infd;
4192static PyObject *__pyx_n_s_infos;
4193static PyObject *__pyx_n_s_init;
4194static PyObject *__pyx_n_s_insert;
4195static PyObject *__pyx_n_s_inspect;
4196static PyObject *__pyx_n_s_instance;
4197static PyObject *__pyx_n_s_integer;
4198static PyObject *__pyx_n_s_ioin;
4199static PyObject *__pyx_n_s_ioout;
4200static PyObject *__pyx_n_s_is_error;
4201static PyObject *__pyx_n_s_iserror;
4202static PyObject *__pyx_n_s_items;
4203static PyObject *__pyx_n_s_join;
4204static PyObject *__pyx_n_s_kargs;
4205static PyObject *__pyx_n_s_key;
4206static PyObject *__pyx_n_s_kw;
4207static PyObject *__pyx_n_s_l;
4208static PyObject *__pyx_n_s_leng;
4209static PyObject *__pyx_n_s_list;
4210static PyObject *__pyx_n_s_loop_get_wakeup;
4211static PyObject *__pyx_n_s_loop_iter;
4212static PyObject *__pyx_n_s_loop_set_wakeup;
4213static PyObject *__pyx_n_s_loop_tickle;
4214static PyObject *__pyx_n_s_lower;
4215static PyObject *__pyx_n_s_m;
4216static PyObject *__pyx_n_s_main;
4217static PyObject *__pyx_n_s_medialib_add_entry;
4218static PyObject *__pyx_n_s_medialib_add_entry_encoded;
4219static PyObject *__pyx_n_s_medialib_get_id;
4220static PyObject *__pyx_n_s_medialib_get_info;
4221static PyObject *__pyx_n_s_medialib_import_path;
4222static PyObject *__pyx_n_s_medialib_move_entry;
4223static PyObject *__pyx_n_s_medialib_path_import;
4224static PyObject *__pyx_n_s_medialib_path_import_encoded;
4225static PyObject *__pyx_n_s_medialib_property_remove;
4226static PyObject *__pyx_n_s_medialib_property_set;
4227static PyObject *__pyx_n_s_medialib_rehash;
4228static PyObject *__pyx_n_s_medialib_remove_entry;
4229static PyObject *__pyx_n_s_metaclass;
4230static PyObject *__pyx_n_s_meth;
4231static PyObject *__pyx_n_s_method;
4232static PyObject *__pyx_n_s_method_arg;
4233static PyObject *__pyx_n_s_method_arg___init;
4234static PyObject *__pyx_kp_s_method_s_on_client_d;
4235static PyObject *__pyx_n_s_method_varg;
4236static PyObject *__pyx_n_s_method_varg___init;
4237static PyObject *__pyx_n_s_methods;
4238static PyObject *__pyx_n_s_module;
4239static PyObject *__pyx_n_s_ms;
4240static PyObject *__pyx_n_s_name;
4241static PyObject *__pyx_n_s_name_2;
4242static PyObject *__pyx_n_s_named;
4243static PyObject *__pyx_n_s_namespace;
4244static PyObject *__pyx_n_s_namespace_path;
4245static PyObject *__pyx_kp_s_namespace_s_on_client_d;
4246static PyObject *__pyx_n_s_namespaces;
4247static PyObject *__pyx_n_s_needout_cb;
4248static PyObject *__pyx_n_s_new_pos;
4249static PyObject *__pyx_n_s_newname;
4250static PyObject *__pyx_n_s_noop;
4251static PyObject *__pyx_n_s_ns;
4252static PyObject *__pyx_n_s_o;
4253static PyObject *__pyx_n_s_oldname;
4254static PyObject *__pyx_n_s_order;
4255static PyObject *__pyx_n_s_os;
4256static PyObject *__pyx_n_s_other;
4257static PyObject *__pyx_n_s_outfd;
4258static PyObject *__pyx_n_s_parent;
4259static PyObject *__pyx_n_s_path;
4260static PyObject *__pyx_n_s_path_2;
4261static PyObject *__pyx_n_s_payload;
4262static PyObject *__pyx_n_s_pipe;
4263static PyObject *__pyx_n_s_playback_current_id;
4264static PyObject *__pyx_n_s_playback_pause;
4265static PyObject *__pyx_n_s_playback_playtime;
4266static PyObject *__pyx_n_s_playback_seek_ms;
4267static PyObject *__pyx_n_s_playback_seek_samples;
4268static PyObject *__pyx_n_s_playback_start;
4269static PyObject *__pyx_n_s_playback_status;
4270static PyObject *__pyx_n_s_playback_stop;
4271static PyObject *__pyx_n_s_playback_tickle;
4272static PyObject *__pyx_n_s_playback_volume_get;
4273static PyObject *__pyx_n_s_playback_volume_set;
4274static PyObject *__pyx_n_s_playlist;
4275static PyObject *__pyx_n_s_playlist_add_collection;
4276static PyObject *__pyx_n_s_playlist_add_encoded;
4277static PyObject *__pyx_n_s_playlist_add_id;
4278static PyObject *__pyx_n_s_playlist_add_url;
4279static PyObject *__pyx_n_s_playlist_clear;
4280static PyObject *__pyx_n_s_playlist_create;
4281static PyObject *__pyx_n_s_playlist_current_active;
4282static PyObject *__pyx_n_s_playlist_current_pos;
4283static PyObject *__pyx_n_s_playlist_insert_collection;
4284static PyObject *__pyx_n_s_playlist_insert_encoded;
4285static PyObject *__pyx_n_s_playlist_insert_id;
4286static PyObject *__pyx_n_s_playlist_insert_url;
4287static PyObject *__pyx_n_s_playlist_list;
4288static PyObject *__pyx_n_s_playlist_list_entries;
4289static PyObject *__pyx_n_s_playlist_load;
4290static PyObject *__pyx_n_s_playlist_move;
4291static PyObject *__pyx_n_s_playlist_radd;
4292static PyObject *__pyx_n_s_playlist_radd_encoded;
4293static PyObject *__pyx_n_s_playlist_remove;
4294static PyObject *__pyx_n_s_playlist_remove_entry;
4295static PyObject *__pyx_n_s_playlist_rinsert;
4296static PyObject *__pyx_n_s_playlist_rinsert_encoded;
4297static PyObject *__pyx_n_s_playlist_set_next;
4298static PyObject *__pyx_n_s_playlist_set_next_rel;
4299static PyObject *__pyx_n_s_playlist_shuffle;
4300static PyObject *__pyx_n_s_playlist_sort;
4301static PyObject *__pyx_n_s_plugin_list;
4302static PyObject *__pyx_n_s_pos;
4303static PyObject *__pyx_n_s_position;
4304static PyObject *__pyx_n_s_positional;
4305static PyObject *__pyx_n_s_prepare;
4306static PyObject *__pyx_n_s_print;
4307static PyObject *__pyx_n_s_print_exception;
4308static PyObject *__pyx_n_s_props;
4309static PyObject *__pyx_n_s_pyval;
4310static PyObject *__pyx_n_s_pyx_vtable;
4311static PyObject *__pyx_n_s_qualname;
4312static PyObject *__pyx_n_s_quit;
4313static PyObject *__pyx_n_s_range;
4314static PyObject *__pyx_n_s_read;
4315static PyObject *__pyx_n_s_recursive;
4316static PyObject *__pyx_n_s_register;
4317static PyObject *__pyx_n_s_register_broadcast;
4318static PyObject *__pyx_n_s_register_constant;
4319static PyObject *__pyx_n_s_register_method;
4320static PyObject *__pyx_n_s_register_namespace;
4321static PyObject *__pyx_n_s_remove;
4322static PyObject *__pyx_n_s_res;
4323static PyObject *__pyx_kp_s_s;
4324static PyObject *__pyx_n_s_s_2;
4325static PyObject *__pyx_n_s_samples;
4326static PyObject *__pyx_n_s_sc;
4327static PyObject *__pyx_n_s_sc_broadcast_emit;
4328static PyObject *__pyx_n_s_sc_broadcast_subscribe;
4329static PyObject *__pyx_n_s_sc_call;
4330static PyObject *__pyx_n_s_sc_init;
4331static PyObject *__pyx_n_s_sc_introspect_broadcast;
4332static PyObject *__pyx_n_s_sc_introspect_constant;
4333static PyObject *__pyx_n_s_sc_introspect_docstring;
4334static PyObject *__pyx_n_s_sc_introspect_method;
4335static PyObject *__pyx_n_s_sc_introspect_namespace;
4336static PyObject *__pyx_n_s_select;
4337static PyObject *__pyx_n_s_self;
4338static PyObject *__pyx_n_s_sender;
4339static PyObject *__pyx_n_s_service_constant;
4340static PyObject *__pyx_n_s_service_constant___init;
4341static PyObject *__pyx_n_s_service_method;
4342static PyObject *__pyx_n_s_service_method___call;
4343static PyObject *__pyx_n_s_service_method___init;
4344static PyObject *__pyx_n_s_set;
4345static PyObject *__pyx_n_s_set_need_out_fun;
4346static PyObject *__pyx_n_s_set_source_preference;
4347static PyObject *__pyx_n_s_setcb;
4348static PyObject *__pyx_n_s_signal_mediainfo_reader_unindexe;
4349static PyObject *__pyx_n_s_signal_playback_playtime;
4350static PyObject *__pyx_n_s_source;
4351static PyObject *__pyx_n_s_sources;
4352static PyObject *__pyx_n_s_start;
4353static PyObject *__pyx_n_s_stats;
4354static PyObject *__pyx_n_s_stderr;
4355static PyObject *__pyx_n_s_string;
4356static PyObject *__pyx_n_s_subscribe;
4357static PyObject *__pyx_n_s_sys;
4358static PyObject *__pyx_n_s_test;
4359static PyObject *__pyx_n_s_timeout;
4360static PyObject *__pyx_n_s_traceback;
4361static PyObject *__pyx_n_s_typ;
4362static PyObject *__pyx_n_s_type;
4363static PyObject *__pyx_n_s_unquote_plus;
4364static PyObject *__pyx_n_s_update_api;
4365static PyObject *__pyx_n_s_update_api_callback;
4366static PyObject *__pyx_n_s_url;
4367static PyObject *__pyx_n_s_urllib;
4368static PyObject *__pyx_n_s_urllib_parse;
4369static PyObject *__pyx_n_s_v;
4370static PyObject *__pyx_n_s_val;
4371static PyObject *__pyx_n_s_value;
4372static PyObject *__pyx_n_s_value_2;
4373static PyObject *__pyx_n_s_valuename;
4374static PyObject *__pyx_n_s_visualization_chunk_get;
4375static PyObject *__pyx_n_s_visualization_errored;
4376static PyObject *__pyx_n_s_visualization_init;
4377static PyObject *__pyx_n_s_visualization_properties_set;
4378static PyObject *__pyx_n_s_visualization_property_set;
4379static PyObject *__pyx_n_s_visualization_shutdown;
4380static PyObject *__pyx_n_s_visualization_start;
4381static PyObject *__pyx_n_s_visualization_started;
4382static PyObject *__pyx_n_s_visualization_version;
4383static PyObject *__pyx_n_s_volume;
4384static PyObject *__pyx_n_s_wait;
4385static PyObject *__pyx_n_s_walk;
4386static PyObject *__pyx_n_s_want_ioout;
4387static PyObject *__pyx_n_s_whence;
4388static PyObject *__pyx_n_s_write;
4389static PyObject *__pyx_n_s_x_type;
4390static PyObject *__pyx_n_s_xform_media_browse;
4391static PyObject *__pyx_n_s_xform_media_browse_encoded;
4392static PyObject *__pyx_n_s_xmms;
4393static PyObject *__pyx_n_s_xmms_2;
4394static PyObject *__pyx_n_s_xmms_service_constants;
4395static PyObject *__pyx_n_s_xmms_service_entity;
4396static PyObject *__pyx_n_s_xmmsapi;
4397static PyObject *__pyx_kp_s_xmmsc_result_t_couldn_t_be_alloc;
4398static PyObject *__pyx_n_s_xmmsvalue;
4399static PyObject *__pyx_n_s_xvalue;
4400static PyObject *__pyx_int_0;
4401static PyObject *__pyx_int_1;
4402static PyObject *__pyx_int_neg_1;
4403static PyObject *__pyx_k__14;
4404static PyObject *__pyx_k__18;
4405static xmms_playback_seek_mode_t __pyx_k__41;
4406static xmms_playback_seek_mode_t __pyx_k__43;
4407static PyObject *__pyx_k__45;
4408static PyObject *__pyx_k__47;
4409static PyObject *__pyx_tuple_;
4410static PyObject *__pyx_slice__5;
4411static PyObject *__pyx_tuple__2;
4412static PyObject *__pyx_tuple__4;
4413static PyObject *__pyx_tuple__6;
4414static PyObject *__pyx_tuple__7;
4415static PyObject *__pyx_tuple__8;
4416static PyObject *__pyx_tuple__9;
4417static PyObject *__pyx_slice__29;
4418static PyObject *__pyx_slice__46;
4419static PyObject *__pyx_tuple__10;
4420static PyObject *__pyx_tuple__11;
4421static PyObject *__pyx_tuple__12;
4422static PyObject *__pyx_tuple__13;
4423static PyObject *__pyx_tuple__16;
4424static PyObject *__pyx_tuple__19;
4425static PyObject *__pyx_tuple__20;
4426static PyObject *__pyx_tuple__21;
4427static PyObject *__pyx_tuple__22;
4428static PyObject *__pyx_tuple__23;
4429static PyObject *__pyx_tuple__24;
4430static PyObject *__pyx_tuple__25;
4431static PyObject *__pyx_tuple__26;
4432static PyObject *__pyx_tuple__27;
4433static PyObject *__pyx_tuple__28;
4434static PyObject *__pyx_tuple__30;
4435static PyObject *__pyx_tuple__32;
4436static PyObject *__pyx_tuple__33;
4437static PyObject *__pyx_tuple__34;
4438static PyObject *__pyx_tuple__35;
4439static PyObject *__pyx_tuple__36;
4440static PyObject *__pyx_tuple__38;
4441static PyObject *__pyx_tuple__39;
4442static PyObject *__pyx_tuple__40;
4443static PyObject *__pyx_tuple__42;
4444static PyObject *__pyx_tuple__44;
4445static PyObject *__pyx_tuple__48;
4446static PyObject *__pyx_tuple__49;
4447static PyObject *__pyx_tuple__50;
4448static PyObject *__pyx_tuple__51;
4449static PyObject *__pyx_tuple__53;
4450static PyObject *__pyx_tuple__55;
4451static PyObject *__pyx_tuple__57;
4452static PyObject *__pyx_tuple__59;
4453static PyObject *__pyx_tuple__60;
4454static PyObject *__pyx_tuple__62;
4455static PyObject *__pyx_tuple__63;
4456static PyObject *__pyx_tuple__65;
4457static PyObject *__pyx_tuple__66;
4458static PyObject *__pyx_tuple__68;
4459static PyObject *__pyx_tuple__70;
4460static PyObject *__pyx_tuple__72;
4461static PyObject *__pyx_tuple__73;
4462static PyObject *__pyx_tuple__75;
4463static PyObject *__pyx_tuple__76;
4464static PyObject *__pyx_tuple__78;
4465static PyObject *__pyx_tuple__79;
4466static PyObject *__pyx_codeobj__3;
4467static PyObject *__pyx_codeobj__37;
4468static PyObject *__pyx_codeobj__52;
4469static PyObject *__pyx_codeobj__54;
4470static PyObject *__pyx_codeobj__56;
4471static PyObject *__pyx_codeobj__58;
4472static PyObject *__pyx_codeobj__61;
4473static PyObject *__pyx_codeobj__64;
4474static PyObject *__pyx_codeobj__67;
4475static PyObject *__pyx_codeobj__69;
4476static PyObject *__pyx_codeobj__71;
4477static PyObject *__pyx_codeobj__74;
4478static PyObject *__pyx_codeobj__77;
4479static PyObject *__pyx_codeobj__80;
4480
4481/* "xmmsapi.pyx":55
4482 * #####################################################################
4483 *
4484 * def deprecated(f): # <<<<<<<<<<<<<<
4485 * def deprecated_decorator(*a, **kw):
4486 * from os import getenv
4487 */
4488
4489/* Python wrapper */
4490static PyObject *__pyx_pw_7xmmsapi_1deprecated(PyObject *__pyx_self, PyObject *__pyx_v_f); /*proto*/
4491static char __pyx_doc_7xmmsapi_deprecated[] = "deprecated(f)";
4492static PyMethodDef __pyx_mdef_7xmmsapi_1deprecated = {__Pyx_NAMESTR("deprecated")("deprecated"), (PyCFunction)__pyx_pw_7xmmsapi_1deprecated, METH_O0x0008, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_deprecated)(__pyx_doc_7xmmsapi_deprecated)};
4493static PyObject *__pyx_pw_7xmmsapi_1deprecated(PyObject *__pyx_self, PyObject *__pyx_v_f) {
4494 PyObject *__pyx_r = 0;
4495 __Pyx_RefNannyDeclarations
4496 __Pyx_RefNannySetupContext("deprecated (wrapper)", 0);
4497 __pyx_r = __pyx_pf_7xmmsapi_deprecated(__pyx_self, ((PyObject *)__pyx_v_f));
4498
4499 /* function exit code */
4500 __Pyx_RefNannyFinishContext();
4501 return __pyx_r;
4502}
4503
4504/* "xmmsapi.pyx":56
4505 *
4506 * def deprecated(f):
4507 * def deprecated_decorator(*a, **kw): # <<<<<<<<<<<<<<
4508 * from os import getenv
4509 * if getenv('XMMS_PYTHON_SHOW_DEPRECATED'):
4510 */
4511
4512/* Python wrapper */
4513static PyObject *__pyx_pw_7xmmsapi_10deprecated_1deprecated_decorator(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
4514static PyMethodDef __pyx_mdef_7xmmsapi_10deprecated_1deprecated_decorator = {__Pyx_NAMESTR("deprecated_decorator")("deprecated_decorator"), (PyCFunction)__pyx_pw_7xmmsapi_10deprecated_1deprecated_decorator, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(0)(0)};
4515static PyObject *__pyx_pw_7xmmsapi_10deprecated_1deprecated_decorator(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
4516 PyObject *__pyx_v_a = 0;
4517 PyObject *__pyx_v_kw = 0;
4518 PyObject *__pyx_r = 0;
4519 __Pyx_RefNannyDeclarations
4520 __Pyx_RefNannySetupContext("deprecated_decorator (wrapper)", 0);
4521 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "deprecated_decorator", 1))__builtin_expect(!!(!__Pyx_CheckKeywordStrings(__pyx_kwds, "deprecated_decorator"
, 1)), 0)
) return NULL((void*)0);
4522 __pyx_v_kw = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New();
4523 if (unlikely(!__pyx_v_kw)__builtin_expect(!!(!__pyx_v_kw), 0)) return NULL((void*)0);
4524 __Pyx_GOTREF(__pyx_v_kw);
4525 __Pyx_INCREF(__pyx_args)( ((PyObject*)(__pyx_args))->ob_refcnt++);
4526 __pyx_v_a = __pyx_args;
4527 __pyx_r = __pyx_pf_7xmmsapi_10deprecated_deprecated_decorator(__pyx_self, __pyx_v_a, __pyx_v_kw);
4528
4529 /* function exit code */
4530 __Pyx_XDECREF(__pyx_v_a)do { if ((__pyx_v_a) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_a))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_a)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_a)))); } while (0); } while (0)
;
4531 __Pyx_XDECREF(__pyx_v_kw)do { if ((__pyx_v_kw) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_kw))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_v_kw)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_kw)))); } while (0); } while (0)
;
4532 __Pyx_RefNannyFinishContext();
4533 return __pyx_r;
4534}
4535
4536static PyObject *__pyx_pf_7xmmsapi_10deprecated_deprecated_decorator(PyObject *__pyx_self, PyObject *__pyx_v_a, PyObject *__pyx_v_kw) {
4537 struct __pyx_obj_7xmmsapi___pyx_scope_struct__deprecated *__pyx_cur_scope;
4538 struct __pyx_obj_7xmmsapi___pyx_scope_struct__deprecated *__pyx_outer_scope;
4539 PyObject *__pyx_v_getenv = NULL((void*)0);
4540 PyObject *__pyx_v_stderr = NULL((void*)0);
4541 PyObject *__pyx_r = NULL((void*)0);
4542 __Pyx_RefNannyDeclarations
4543 PyObject *__pyx_t_1 = NULL((void*)0);
4544 PyObject *__pyx_t_2 = NULL((void*)0);
4545 int __pyx_t_3;
4546 PyObject *__pyx_t_4 = NULL((void*)0);
4547 int __pyx_lineno = 0;
4548 const char *__pyx_filename = NULL((void*)0);
4549 int __pyx_clineno = 0;
4550 __Pyx_RefNannySetupContext("deprecated_decorator", 0);
4551 __pyx_outer_scope = (struct __pyx_obj_7xmmsapi___pyx_scope_struct__deprecated *) __Pyx_CyFunction_GetClosure(__pyx_self)(((__pyx_CyFunctionObject *) (__pyx_self))->func_closure);
4552 __pyx_cur_scope = __pyx_outer_scope;
4553
4554 /* "xmmsapi.pyx":57
4555 * def deprecated(f):
4556 * def deprecated_decorator(*a, **kw):
4557 * from os import getenv # <<<<<<<<<<<<<<
4558 * if getenv('XMMS_PYTHON_SHOW_DEPRECATED'):
4559 * from sys import stderr
4560 */
4561 __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__4561; goto __pyx_L1_error;}
4562 __Pyx_GOTREF(__pyx_t_1);
4563 __Pyx_INCREF(__pyx_n_s_getenv)( ((PyObject*)(__pyx_n_s_getenv))->ob_refcnt++);
4564 PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_getenv)(((PyListObject *)(__pyx_t_1))->ob_item[0] = (__pyx_n_s_getenv
))
;
4565 __Pyx_GIVEREF(__pyx_n_s_getenv);
4566 __pyx_t_2 = __Pyx_Import(__pyx_n_s_os, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__4566; goto __pyx_L1_error;}
4567 __Pyx_GOTREF(__pyx_t_2);
4568 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
4569 __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_getenv); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__4569; goto __pyx_L1_error;}
4570 __Pyx_GOTREF(__pyx_t_1);
4571 __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++);
4572 __pyx_v_getenv = __pyx_t_1;
4573 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
4574 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
4575
4576 /* "xmmsapi.pyx":58
4577 * def deprecated_decorator(*a, **kw):
4578 * from os import getenv
4579 * if getenv('XMMS_PYTHON_SHOW_DEPRECATED'): # <<<<<<<<<<<<<<
4580 * from sys import stderr
4581 * print >>stderr, "DEPRECATED: %s()" % f.__name__
4582 */
4583 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_v_getenv, __pyx_tuple_, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__4583; goto __pyx_L1_error;}
4584 __Pyx_GOTREF(__pyx_t_2);
4585 __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)__builtin_expect(!!(__pyx_t_3 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__4585; goto __pyx_L1_error;}
4586 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
4587 if (__pyx_t_3) {
4588
4589 /* "xmmsapi.pyx":59
4590 * from os import getenv
4591 * if getenv('XMMS_PYTHON_SHOW_DEPRECATED'):
4592 * from sys import stderr # <<<<<<<<<<<<<<
4593 * print >>stderr, "DEPRECATED: %s()" % f.__name__
4594 * return f(*a, **kw)
4595 */
4596 __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; __pyx_clineno = __LINE__4596; goto __pyx_L1_error;}
4597 __Pyx_GOTREF(__pyx_t_2);
4598 __Pyx_INCREF(__pyx_n_s_stderr)( ((PyObject*)(__pyx_n_s_stderr))->ob_refcnt++);
4599 PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_stderr)(((PyListObject *)(__pyx_t_2))->ob_item[0] = (__pyx_n_s_stderr
))
;
4600 __Pyx_GIVEREF(__pyx_n_s_stderr);
4601 __pyx_t_1 = __Pyx_Import(__pyx_n_s_sys, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; __pyx_clineno = __LINE__4601; goto __pyx_L1_error;}
4602 __Pyx_GOTREF(__pyx_t_1);
4603 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
4604 __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_stderr); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; __pyx_clineno = __LINE__4604; goto __pyx_L1_error;}
4605 __Pyx_GOTREF(__pyx_t_2);
4606 __Pyx_INCREF(__pyx_t_2)( ((PyObject*)(__pyx_t_2))->ob_refcnt++);
4607 __pyx_v_stderr = __pyx_t_2;
4608 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
4609 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
4610
4611 /* "xmmsapi.pyx":60
4612 * if getenv('XMMS_PYTHON_SHOW_DEPRECATED'):
4613 * from sys import stderr
4614 * print >>stderr, "DEPRECATED: %s()" % f.__name__ # <<<<<<<<<<<<<<
4615 * return f(*a, **kw)
4616 * deprecated_decorator.__doc__ = f.__doc__
4617 */
4618 if (unlikely(!__pyx_cur_scope->__pyx_v_f)__builtin_expect(!!(!__pyx_cur_scope->__pyx_v_f), 0)) { __Pyx_RaiseClosureNameError("f"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__4618; goto __pyx_L1_error;} }
4619 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_f, __pyx_n_s_name); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__4619; goto __pyx_L1_error;}
4620 __Pyx_GOTREF(__pyx_t_1);
4621 __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_DEPRECATED_s, __pyx_t_1)PyString_Format(__pyx_kp_s_DEPRECATED_s, __pyx_t_1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__4621; goto __pyx_L1_error;}
4622 __Pyx_GOTREF(__pyx_t_2);
4623 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
4624 if (__Pyx_PrintOne(__pyx_v_stderr, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__4624; goto __pyx_L1_error;}
4625 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
4626 goto __pyx_L3;
4627 }
4628 __pyx_L3:;
4629
4630 /* "xmmsapi.pyx":61
4631 * from sys import stderr
4632 * print >>stderr, "DEPRECATED: %s()" % f.__name__
4633 * return f(*a, **kw) # <<<<<<<<<<<<<<
4634 * deprecated_decorator.__doc__ = f.__doc__
4635 * deprecated_decorator.__name__ = f.__name__
4636 */
4637 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
4638 if (unlikely(!__pyx_cur_scope->__pyx_v_f)__builtin_expect(!!(!__pyx_cur_scope->__pyx_v_f), 0)) { __Pyx_RaiseClosureNameError("f"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__4638; goto __pyx_L1_error;} }
4639 __pyx_t_2 = PySequence_Tuple(__pyx_v_a); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__4639; goto __pyx_L1_error;}
4640 __Pyx_GOTREF(__pyx_t_2);
4641 __pyx_t_1 = __pyx_v_kw;
4642 __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++);
4643 __pyx_t_4 = __Pyx_PyObject_Call(__pyx_cur_scope->__pyx_v_f, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__4643; goto __pyx_L1_error;}
4644 __Pyx_GOTREF(__pyx_t_4);
4645 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
4646 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
4647 __pyx_r = __pyx_t_4;
4648 __pyx_t_4 = 0;
4649 goto __pyx_L0;
4650
4651 /* "xmmsapi.pyx":56
4652 *
4653 * def deprecated(f):
4654 * def deprecated_decorator(*a, **kw): # <<<<<<<<<<<<<<
4655 * from os import getenv
4656 * if getenv('XMMS_PYTHON_SHOW_DEPRECATED'):
4657 */
4658
4659 /* function exit code */
4660 __pyx_L1_error:;
4661 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
4662 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
4663 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
;
4664 __Pyx_AddTraceback("xmmsapi.deprecated.deprecated_decorator", __pyx_clineno, __pyx_lineno, __pyx_filename);
4665 __pyx_r = NULL((void*)0);
4666 __pyx_L0:;
4667 __Pyx_XDECREF(__pyx_v_getenv)do { if ((__pyx_v_getenv) == ((void*)0)) ; else do { if ( --(
(PyObject*)(__pyx_v_getenv))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(__pyx_v_getenv)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_getenv)))); } while
(0); } while (0)
;
4668 __Pyx_XDECREF(__pyx_v_stderr)do { if ((__pyx_v_stderr) == ((void*)0)) ; else do { if ( --(
(PyObject*)(__pyx_v_stderr))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(__pyx_v_stderr)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_stderr)))); } while
(0); } while (0)
;
4669 __Pyx_XGIVEREF(__pyx_r);
4670 __Pyx_RefNannyFinishContext();
4671 return __pyx_r;
4672}
4673
4674/* "xmmsapi.pyx":55
4675 * #####################################################################
4676 *
4677 * def deprecated(f): # <<<<<<<<<<<<<<
4678 * def deprecated_decorator(*a, **kw):
4679 * from os import getenv
4680 */
4681
4682static PyObject *__pyx_pf_7xmmsapi_deprecated(CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_self, PyObject *__pyx_v_f) {
4683 struct __pyx_obj_7xmmsapi___pyx_scope_struct__deprecated *__pyx_cur_scope;
4684 PyObject *__pyx_v_deprecated_decorator = 0;
4685 PyObject *__pyx_r = NULL((void*)0);
4686 __Pyx_RefNannyDeclarations
4687 PyObject *__pyx_t_1 = NULL((void*)0);
4688 int __pyx_lineno = 0;
4689 const char *__pyx_filename = NULL((void*)0);
4690 int __pyx_clineno = 0;
4691 __Pyx_RefNannySetupContext("deprecated", 0);
4692 __pyx_cur_scope = (struct __pyx_obj_7xmmsapi___pyx_scope_struct__deprecated *)__pyx_tp_new_7xmmsapi___pyx_scope_struct__deprecated(__pyx_ptype_7xmmsapi___pyx_scope_struct__deprecated, __pyx_empty_tuple, NULL((void*)0));
4693 if (unlikely(!__pyx_cur_scope)__builtin_expect(!!(!__pyx_cur_scope), 0)) {
4694 __Pyx_RefNannyFinishContext();
4695 return NULL((void*)0);
4696 }
4697 __Pyx_GOTREF(__pyx_cur_scope);
4698 __pyx_cur_scope->__pyx_v_f = __pyx_v_f;
4699 __Pyx_INCREF(__pyx_cur_scope->__pyx_v_f)( ((PyObject*)(__pyx_cur_scope->__pyx_v_f))->ob_refcnt++
)
;
4700 __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_f);
4701
4702 /* "xmmsapi.pyx":56
4703 *
4704 * def deprecated(f):
4705 * def deprecated_decorator(*a, **kw): # <<<<<<<<<<<<<<
4706 * from os import getenv
4707 * if getenv('XMMS_PYTHON_SHOW_DEPRECATED'):
4708 */
4709 __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_7xmmsapi_10deprecated_1deprecated_decorator, 0, __pyx_n_s_deprecated_locals_deprecated_dec, ((PyObject*)__pyx_cur_scope), __pyx_n_s_xmmsapi, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__3))__Pyx_CyFunction_New(__pyx_CyFunctionType, &__pyx_mdef_7xmmsapi_10deprecated_1deprecated_decorator
, 0, __pyx_n_s_deprecated_locals_deprecated_dec, ((PyObject*)
__pyx_cur_scope), __pyx_n_s_xmmsapi, PyModule_GetDict(__pyx_m
), ((PyObject *)__pyx_codeobj__3))
; if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__4709; goto __pyx_L1_error;}
4710 __Pyx_GOTREF(__pyx_t_1);
4711 __pyx_v_deprecated_decorator = __pyx_t_1;
4712 __pyx_t_1 = 0;
4713
4714 /* "xmmsapi.pyx":62
4715 * print >>stderr, "DEPRECATED: %s()" % f.__name__
4716 * return f(*a, **kw)
4717 * deprecated_decorator.__doc__ = f.__doc__ # <<<<<<<<<<<<<<
4718 * deprecated_decorator.__name__ = f.__name__
4719 * return deprecated_decorator
4720 */
4721 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_f, __pyx_n_s_doc); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__4721; goto __pyx_L1_error;}
4722 __Pyx_GOTREF(__pyx_t_1);
4723 if (__Pyx_PyObject_SetAttrStr(__pyx_v_deprecated_decorator, __pyx_n_s_doc, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__4723; goto __pyx_L1_error;}
4724 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
4725
4726 /* "xmmsapi.pyx":63
4727 * return f(*a, **kw)
4728 * deprecated_decorator.__doc__ = f.__doc__
4729 * deprecated_decorator.__name__ = f.__name__ # <<<<<<<<<<<<<<
4730 * return deprecated_decorator
4731 *
4732 */
4733 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_f, __pyx_n_s_name); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__4733; goto __pyx_L1_error;}
4734 __Pyx_GOTREF(__pyx_t_1);
4735 if (__Pyx_PyObject_SetAttrStr(__pyx_v_deprecated_decorator, __pyx_n_s_name, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__4735; goto __pyx_L1_error;}
4736 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
4737
4738 /* "xmmsapi.pyx":64
4739 * deprecated_decorator.__doc__ = f.__doc__
4740 * deprecated_decorator.__name__ = f.__name__
4741 * return deprecated_decorator # <<<<<<<<<<<<<<
4742 *
4743 * # Trick to not expose select in the module, but keep it accessible from builtins
4744 */
4745 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
4746 __Pyx_INCREF(__pyx_v_deprecated_decorator)( ((PyObject*)(__pyx_v_deprecated_decorator))->ob_refcnt++
)
;
4747 __pyx_r = __pyx_v_deprecated_decorator;
4748 goto __pyx_L0;
4749
4750 /* "xmmsapi.pyx":55
4751 * #####################################################################
4752 *
4753 * def deprecated(f): # <<<<<<<<<<<<<<
4754 * def deprecated_decorator(*a, **kw):
4755 * from os import getenv
4756 */
4757
4758 /* function exit code */
4759 __pyx_L1_error:;
4760 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
4761 __Pyx_AddTraceback("xmmsapi.deprecated", __pyx_clineno, __pyx_lineno, __pyx_filename);
4762 __pyx_r = NULL((void*)0);
4763 __pyx_L0:;
4764 __Pyx_XDECREF(__pyx_v_deprecated_decorator)do { if ((__pyx_v_deprecated_decorator) == ((void*)0)) ; else
do { if ( --((PyObject*)(__pyx_v_deprecated_decorator))->
ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(__pyx_v_deprecated_decorator
)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_deprecated_decorator
)))); } while (0); } while (0)
;
4765 __Pyx_DECREF(((PyObject *)__pyx_cur_scope))do { if ( --((PyObject*)(((PyObject *)__pyx_cur_scope)))->
ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(((PyObject
*)__pyx_cur_scope))))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(((PyObject *)__pyx_cur_scope))))); } while (
0)
;
4766 __Pyx_XGIVEREF(__pyx_r);
4767 __Pyx_RefNannyFinishContext();
4768 return __pyx_r;
4769}
4770
4771/* "xmmsapi.pyx":69
4772 * # methods.
4773 * cdef object select
4774 * cdef _install_select(): # <<<<<<<<<<<<<<
4775 * global select
4776 * from select import select as _sel
4777 */
4778
4779static PyObject *__pyx_f_7xmmsapi__install_select(void) {
4780 PyObject *__pyx_v__sel = NULL((void*)0);
4781 PyObject *__pyx_r = NULL((void*)0);
4782 __Pyx_RefNannyDeclarations
4783 PyObject *__pyx_t_1 = NULL((void*)0);
4784 PyObject *__pyx_t_2 = NULL((void*)0);
4785 int __pyx_lineno = 0;
4786 const char *__pyx_filename = NULL((void*)0);
4787 int __pyx_clineno = 0;
4788 __Pyx_RefNannySetupContext("_install_select", 0);
4789
4790 /* "xmmsapi.pyx":71
4791 * cdef _install_select():
4792 * global select
4793 * from select import select as _sel # <<<<<<<<<<<<<<
4794 * select = _sel
4795 * _install_select()
4796 */
4797 __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__4797; goto __pyx_L1_error;}
4798 __Pyx_GOTREF(__pyx_t_1);
4799 __Pyx_INCREF(__pyx_n_s_select)( ((PyObject*)(__pyx_n_s_select))->ob_refcnt++);
4800 PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_select)(((PyListObject *)(__pyx_t_1))->ob_item[0] = (__pyx_n_s_select
))
;
4801 __Pyx_GIVEREF(__pyx_n_s_select);
4802 __pyx_t_2 = __Pyx_Import(__pyx_n_s_select, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__4802; goto __pyx_L1_error;}
4803 __Pyx_GOTREF(__pyx_t_2);
4804 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
4805 __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_select); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__4805; goto __pyx_L1_error;}
4806 __Pyx_GOTREF(__pyx_t_1);
4807 __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++);
4808 __pyx_v__sel = __pyx_t_1;
4809 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
4810 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
4811
4812 /* "xmmsapi.pyx":72
4813 * global select
4814 * from select import select as _sel
4815 * select = _sel # <<<<<<<<<<<<<<
4816 * _install_select()
4817 *
4818 */
4819 __Pyx_INCREF(__pyx_v__sel)( ((PyObject*)(__pyx_v__sel))->ob_refcnt++);
4820 __Pyx_XGOTREF(__pyx_v_7xmmsapi_select);
4821 __Pyx_DECREF_SET(__pyx_v_7xmmsapi_select, __pyx_v__sel)do { PyObject *tmp = (PyObject *) __pyx_v_7xmmsapi_select; __pyx_v_7xmmsapi_select
= __pyx_v__sel; do { if ( --((PyObject*)(tmp))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)(tmp)))->ob_type
)->tp_dealloc)((PyObject *)((PyObject *)(tmp)))); } while (
0); } while (0)
;
4822 __Pyx_GIVEREF(__pyx_v__sel);
4823
4824 /* "xmmsapi.pyx":69
4825 * # methods.
4826 * cdef object select
4827 * cdef _install_select(): # <<<<<<<<<<<<<<
4828 * global select
4829 * from select import select as _sel
4830 */
4831
4832 /* function exit code */
4833 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
4834 goto __pyx_L0;
4835 __pyx_L1_error:;
4836 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
4837 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
4838 __Pyx_AddTraceback("xmmsapi._install_select", __pyx_clineno, __pyx_lineno, __pyx_filename);
4839 __pyx_r = 0;
4840 __pyx_L0:;
4841 __Pyx_XDECREF(__pyx_v__sel)do { if ((__pyx_v__sel) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v__sel))->ob_refcnt != 0) ; else ( (*(((PyObject*
)((PyObject *)(__pyx_v__sel)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(__pyx_v__sel)))); } while (0); } while
(0)
;
4842 __Pyx_XGIVEREF(__pyx_r);
4843 __Pyx_RefNannyFinishContext();
4844 return __pyx_r;
4845}
4846
4847/* "xmmsapi.pyx":75
4848 * _install_select()
4849 *
4850 * cdef char *check_namespace(object ns, bint can_be_all) except NULL: # <<<<<<<<<<<<<<
4851 * cdef char *n
4852 * if ns == COLLECTION_NS_COLLECTIONS:
4853 */
4854
4855static char *__pyx_f_7xmmsapi_check_namespace(PyObject *__pyx_v_ns, int __pyx_v_can_be_all) {
4856 char *__pyx_v_n;
4857 char *__pyx_r;
4858 __Pyx_RefNannyDeclarations
4859 PyObject *__pyx_t_1 = NULL((void*)0);
4860 PyObject *__pyx_t_2 = NULL((void*)0);
4861 int __pyx_t_3;
4862 int __pyx_t_4;
4863 int __pyx_t_5;
4864 int __pyx_lineno = 0;
4865 const char *__pyx_filename = NULL((void*)0);
4866 int __pyx_clineno = 0;
4867 __Pyx_RefNannySetupContext("check_namespace", 0);
4868
4869 /* "xmmsapi.pyx":77
4870 * cdef char *check_namespace(object ns, bint can_be_all) except NULL:
4871 * cdef char *n
4872 * if ns == COLLECTION_NS_COLLECTIONS: # <<<<<<<<<<<<<<
4873 * n = <char *>XMMS_COLLECTION_NS_COLLECTIONS
4874 * elif ns == COLLECTION_NS_PLAYLISTS:
4875 */
4876 __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_COLLECTION_NS_COLLECTIONS); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__4876; goto __pyx_L1_error;}
4877 __Pyx_GOTREF(__pyx_t_1);
4878 __pyx_t_2 = PyObject_RichCompare(__pyx_v_ns, __pyx_t_1, Py_EQ2); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__4878; goto __pyx_L1_error;}
4879 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
4880 __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)__builtin_expect(!!(__pyx_t_3 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__4880; goto __pyx_L1_error;}
4881 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
4882 if (__pyx_t_3) {
4883
4884 /* "xmmsapi.pyx":78
4885 * cdef char *n
4886 * if ns == COLLECTION_NS_COLLECTIONS:
4887 * n = <char *>XMMS_COLLECTION_NS_COLLECTIONS # <<<<<<<<<<<<<<
4888 * elif ns == COLLECTION_NS_PLAYLISTS:
4889 * n = <char *>XMMS_COLLECTION_NS_PLAYLISTS
4890 */
4891 __pyx_v_n = ((char *)XMMS_COLLECTION_NS_COLLECTIONS"Collections");
4892 goto __pyx_L3;
4893 }
4894
4895 /* "xmmsapi.pyx":79
4896 * if ns == COLLECTION_NS_COLLECTIONS:
4897 * n = <char *>XMMS_COLLECTION_NS_COLLECTIONS
4898 * elif ns == COLLECTION_NS_PLAYLISTS: # <<<<<<<<<<<<<<
4899 * n = <char *>XMMS_COLLECTION_NS_PLAYLISTS
4900 * elif can_be_all and ns == COLLECTION_NS_ALL:
4901 */
4902 __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_COLLECTION_NS_PLAYLISTS); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__4902; goto __pyx_L1_error;}
4903 __Pyx_GOTREF(__pyx_t_2);
4904 __pyx_t_1 = PyObject_RichCompare(__pyx_v_ns, __pyx_t_2, Py_EQ2); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__4904; goto __pyx_L1_error;}
4905 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
4906 __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)__builtin_expect(!!(__pyx_t_3 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__4906; goto __pyx_L1_error;}
4907 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
4908 if (__pyx_t_3) {
4909
4910 /* "xmmsapi.pyx":80
4911 * n = <char *>XMMS_COLLECTION_NS_COLLECTIONS
4912 * elif ns == COLLECTION_NS_PLAYLISTS:
4913 * n = <char *>XMMS_COLLECTION_NS_PLAYLISTS # <<<<<<<<<<<<<<
4914 * elif can_be_all and ns == COLLECTION_NS_ALL:
4915 * n = <char *>XMMS_COLLECTION_NS_ALL
4916 */
4917 __pyx_v_n = ((char *)XMMS_COLLECTION_NS_PLAYLISTS"Playlists");
4918 goto __pyx_L3;
4919 }
4920
4921 /* "xmmsapi.pyx":81
4922 * elif ns == COLLECTION_NS_PLAYLISTS:
4923 * n = <char *>XMMS_COLLECTION_NS_PLAYLISTS
4924 * elif can_be_all and ns == COLLECTION_NS_ALL: # <<<<<<<<<<<<<<
4925 * n = <char *>XMMS_COLLECTION_NS_ALL
4926 * else:
4927 */
4928 __pyx_t_3 = __pyx_v_can_be_all;
4929 if (__pyx_t_3) {
4930 __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_COLLECTION_NS_ALL); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__4930; goto __pyx_L1_error;}
4931 __Pyx_GOTREF(__pyx_t_1);
4932 __pyx_t_2 = PyObject_RichCompare(__pyx_v_ns, __pyx_t_1, Py_EQ2); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__4932; goto __pyx_L1_error;}
4933 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
4934 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)__builtin_expect(!!(__pyx_t_4 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__4934; goto __pyx_L1_error;}
4935 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
4936 __pyx_t_5 = __pyx_t_4;
4937 } else {
4938 __pyx_t_5 = __pyx_t_3;
4939 }
4940 if (__pyx_t_5) {
4941
4942 /* "xmmsapi.pyx":82
4943 * n = <char *>XMMS_COLLECTION_NS_PLAYLISTS
4944 * elif can_be_all and ns == COLLECTION_NS_ALL:
4945 * n = <char *>XMMS_COLLECTION_NS_ALL # <<<<<<<<<<<<<<
4946 * else:
4947 * raise ValueError("Bad namespace")
4948 */
4949 __pyx_v_n = ((char *)XMMS_COLLECTION_NS_ALL"*");
4950 goto __pyx_L3;
4951 }
4952 /*else*/ {
4953
4954 /* "xmmsapi.pyx":84
4955 * n = <char *>XMMS_COLLECTION_NS_ALL
4956 * else:
4957 * raise ValueError("Bad namespace") # <<<<<<<<<<<<<<
4958 * return n
4959 *
4960 */
4961 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__4, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__4961; goto __pyx_L1_error;}
4962 __Pyx_GOTREF(__pyx_t_2);
4963 __Pyx_Raise(__pyx_t_2, 0, 0, 0);
4964 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
4965 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__4965; goto __pyx_L1_error;}
4966 }
4967 __pyx_L3:;
4968
4969 /* "xmmsapi.pyx":85
4970 * else:
4971 * raise ValueError("Bad namespace")
4972 * return n # <<<<<<<<<<<<<<
4973 *
4974 * cdef bint ResultNotifier(xmmsv_t *res, void *o):
4975 */
4976 __pyx_r = __pyx_v_n;
4977 goto __pyx_L0;
4978
4979 /* "xmmsapi.pyx":75
4980 * _install_select()
4981 *
4982 * cdef char *check_namespace(object ns, bint can_be_all) except NULL: # <<<<<<<<<<<<<<
4983 * cdef char *n
4984 * if ns == COLLECTION_NS_COLLECTIONS:
4985 */
4986
4987 /* function exit code */
4988 __pyx_L1_error:;
4989 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
4990 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
4991 __Pyx_AddTraceback("xmmsapi.check_namespace", __pyx_clineno, __pyx_lineno, __pyx_filename);
4992 __pyx_r = NULL((void*)0);
4993 __pyx_L0:;
4994 __Pyx_RefNannyFinishContext();
4995 return __pyx_r;
4996}
4997
4998/* "xmmsapi.pyx":87
4999 * return n
5000 *
5001 * cdef bint ResultNotifier(xmmsv_t *res, void *o): # <<<<<<<<<<<<<<
5002 * cdef object xres
5003 * xres = <object> o
5004 */
5005
5006static int __pyx_f_7xmmsapi_ResultNotifier(CYTHON_UNUSED__attribute__ ((__unused__)) xmmsv_t *__pyx_v_res, void *__pyx_v_o) {
5007 PyObject *__pyx_v_xres = 0;
5008 PyObject *__pyx_v_traceback = NULL((void*)0);
5009 PyObject *__pyx_v_sys = NULL((void*)0);
5010 PyObject *__pyx_v_exc = NULL((void*)0);
5011 int __pyx_r;
5012 __Pyx_RefNannyDeclarations
5013 PyObject *__pyx_t_1 = NULL((void*)0);
5014 PyObject *__pyx_t_2 = NULL((void*)0);
5015 PyObject *__pyx_t_3 = NULL((void*)0);
5016 PyObject *__pyx_t_4 = NULL((void*)0);
5017 int __pyx_t_5;
5018 PyObject *__pyx_t_6 = NULL((void*)0);
5019 PyObject *__pyx_t_7 = NULL((void*)0);
5020 PyObject *__pyx_t_8 = NULL((void*)0);
5021 PyObject *__pyx_t_9 = NULL((void*)0);
5022 PyObject *__pyx_t_10 = NULL((void*)0);
5023 int __pyx_lineno = 0;
5024 const char *__pyx_filename = NULL((void*)0);
5025 int __pyx_clineno = 0;
5026 __Pyx_RefNannySetupContext("ResultNotifier", 0);
5027
5028 /* "xmmsapi.pyx":89
5029 * cdef bint ResultNotifier(xmmsv_t *res, void *o):
5030 * cdef object xres
5031 * xres = <object> o # <<<<<<<<<<<<<<
5032 * try:
5033 * return xres()
5034 */
5035 __pyx_t_1 = ((PyObject *)__pyx_v_o);
5036 __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++);
5037 __pyx_v_xres = __pyx_t_1;
5038 __pyx_t_1 = 0;
5039
5040 /* "xmmsapi.pyx":90
5041 * cdef object xres
5042 * xres = <object> o
5043 * try: # <<<<<<<<<<<<<<
5044 * return xres()
5045 * except:
5046 */
5047 {
5048 __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4);
5049 __Pyx_XGOTREF(__pyx_t_2);
5050 __Pyx_XGOTREF(__pyx_t_3);
5051 __Pyx_XGOTREF(__pyx_t_4);
5052 /*try:*/ {
5053
5054 /* "xmmsapi.pyx":91
5055 * xres = <object> o
5056 * try:
5057 * return xres() # <<<<<<<<<<<<<<
5058 * except:
5059 * import traceback, sys
5060 */
5061 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_v_xres, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__5061; goto __pyx_L3_error;}
5062 __Pyx_GOTREF(__pyx_t_1);
5063 __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_t_5 == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__5063; goto __pyx_L3_error;}
5064 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
5065 __pyx_r = __pyx_t_5;
5066 goto __pyx_L7_try_return;
5067 }
5068 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
; __pyx_t_2 = 0;
5069 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
; __pyx_t_3 = 0;
5070 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
; __pyx_t_4 = 0;
5071 goto __pyx_L10_try_end;
5072 __pyx_L3_error:;
5073 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
; __pyx_t_1 = 0;
5074
5075 /* "xmmsapi.pyx":92
5076 * try:
5077 * return xres()
5078 * except: # <<<<<<<<<<<<<<
5079 * import traceback, sys
5080 * exc = sys.exc_info()
5081 */
5082 /*except:*/ {
5083 __Pyx_AddTraceback("xmmsapi.ResultNotifier", __pyx_clineno, __pyx_lineno, __pyx_filename);
5084 if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_6, &__pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__5084; goto __pyx_L5_except_error;}
5085 __Pyx_GOTREF(__pyx_t_1);
5086 __Pyx_GOTREF(__pyx_t_6);
5087 __Pyx_GOTREF(__pyx_t_7);
5088
5089 /* "xmmsapi.pyx":93
5090 * return xres()
5091 * except:
5092 * import traceback, sys # <<<<<<<<<<<<<<
5093 * exc = sys.exc_info()
5094 * traceback.print_exception(*exc)
5095 */
5096 __pyx_t_8 = __Pyx_Import(__pyx_n_s_traceback, 0, -1); if (unlikely(!__pyx_t_8)__builtin_expect(!!(!__pyx_t_8), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__5096; goto __pyx_L5_except_error;}
5097 __Pyx_GOTREF(__pyx_t_8);
5098 __pyx_v_traceback = __pyx_t_8;
5099 __pyx_t_8 = 0;
5100 __pyx_t_8 = __Pyx_Import(__pyx_n_s_sys, 0, -1); if (unlikely(!__pyx_t_8)__builtin_expect(!!(!__pyx_t_8), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__5100; goto __pyx_L5_except_error;}
5101 __Pyx_GOTREF(__pyx_t_8);
5102 __pyx_v_sys = __pyx_t_8;
5103 __pyx_t_8 = 0;
5104
5105 /* "xmmsapi.pyx":94
5106 * except:
5107 * import traceback, sys
5108 * exc = sys.exc_info() # <<<<<<<<<<<<<<
5109 * traceback.print_exception(*exc)
5110 * return False
5111 */
5112 __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_sys, __pyx_n_s_exc_info); if (unlikely(!__pyx_t_8)__builtin_expect(!!(!__pyx_t_8), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__5112; goto __pyx_L5_except_error;}
5113 __Pyx_GOTREF(__pyx_t_8);
5114 __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_9)__builtin_expect(!!(!__pyx_t_9), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__5114; goto __pyx_L5_except_error;}
5115 __Pyx_GOTREF(__pyx_t_9);
5116 __Pyx_DECREF(__pyx_t_8)do { if ( --((PyObject*)(__pyx_t_8))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_8)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_8)))); } while (
0)
; __pyx_t_8 = 0;
5117 __pyx_v_exc = __pyx_t_9;
5118 __pyx_t_9 = 0;
5119
5120 /* "xmmsapi.pyx":95
5121 * import traceback, sys
5122 * exc = sys.exc_info()
5123 * traceback.print_exception(*exc) # <<<<<<<<<<<<<<
5124 * return False
5125 *
5126 */
5127 __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_traceback, __pyx_n_s_print_exception); if (unlikely(!__pyx_t_9)__builtin_expect(!!(!__pyx_t_9), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__5127; goto __pyx_L5_except_error;}
5128 __Pyx_GOTREF(__pyx_t_9);
5129 __pyx_t_8 = PySequence_Tuple(__pyx_v_exc); if (unlikely(!__pyx_t_8)__builtin_expect(!!(!__pyx_t_8), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__5129; goto __pyx_L5_except_error;}
5130 __Pyx_GOTREF(__pyx_t_8);
5131 __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL((void*)0)); if (unlikely(!__pyx_t_10)__builtin_expect(!!(!__pyx_t_10), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__5131; goto __pyx_L5_except_error;}
5132 __Pyx_GOTREF(__pyx_t_10);
5133 __Pyx_DECREF(__pyx_t_9)do { if ( --((PyObject*)(__pyx_t_9))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_9)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_9)))); } while (
0)
; __pyx_t_9 = 0;
5134 __Pyx_DECREF(__pyx_t_8)do { if ( --((PyObject*)(__pyx_t_8))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_8)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_8)))); } while (
0)
; __pyx_t_8 = 0;
5135 __Pyx_DECREF(__pyx_t_10)do { if ( --((PyObject*)(__pyx_t_10))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_10)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_10)))); } while
(0)
; __pyx_t_10 = 0;
5136
5137 /* "xmmsapi.pyx":96
5138 * exc = sys.exc_info()
5139 * traceback.print_exception(*exc)
5140 * return False # <<<<<<<<<<<<<<
5141 *
5142 * cdef void ResultDestroyNotifier(void *o):
5143 */
5144 __pyx_r = 0;
5145 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
5146 __Pyx_DECREF(__pyx_t_6)do { if ( --((PyObject*)(__pyx_t_6))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_6)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_6)))); } while (
0)
; __pyx_t_6 = 0;
5147 __Pyx_DECREF(__pyx_t_7)do { if ( --((PyObject*)(__pyx_t_7))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_7)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_7)))); } while (
0)
; __pyx_t_7 = 0;
5148 goto __pyx_L6_except_return;
5149 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
5150 __Pyx_DECREF(__pyx_t_6)do { if ( --((PyObject*)(__pyx_t_6))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_6)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_6)))); } while (
0)
; __pyx_t_6 = 0;
5151 __Pyx_DECREF(__pyx_t_7)do { if ( --((PyObject*)(__pyx_t_7))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_7)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_7)))); } while (
0)
; __pyx_t_7 = 0;
5152 goto __pyx_L4_exception_handled;
5153 }
5154 __pyx_L5_except_error:;
5155 __Pyx_XGIVEREF(__pyx_t_2);
5156 __Pyx_XGIVEREF(__pyx_t_3);
5157 __Pyx_XGIVEREF(__pyx_t_4);
5158 __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
5159 goto __pyx_L1_error;
5160 __pyx_L7_try_return:;
5161 __Pyx_XGIVEREF(__pyx_t_2);
5162 __Pyx_XGIVEREF(__pyx_t_3);
5163 __Pyx_XGIVEREF(__pyx_t_4);
5164 __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
5165 goto __pyx_L0;
5166 __pyx_L6_except_return:;
5167 __Pyx_XGIVEREF(__pyx_t_2);
5168 __Pyx_XGIVEREF(__pyx_t_3);
5169 __Pyx_XGIVEREF(__pyx_t_4);
5170 __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
5171 goto __pyx_L0;
5172 __pyx_L4_exception_handled:;
5173 __Pyx_XGIVEREF(__pyx_t_2);
5174 __Pyx_XGIVEREF(__pyx_t_3);
5175 __Pyx_XGIVEREF(__pyx_t_4);
5176 __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
5177 __pyx_L10_try_end:;
5178 }
5179
5180 /* "xmmsapi.pyx":87
5181 * return n
5182 *
5183 * cdef bint ResultNotifier(xmmsv_t *res, void *o): # <<<<<<<<<<<<<<
5184 * cdef object xres
5185 * xres = <object> o
5186 */
5187
5188 /* function exit code */
5189 __pyx_L1_error:;
5190 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
5191 __Pyx_XDECREF(__pyx_t_6)do { if ((__pyx_t_6) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_6))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_6)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_6)))); } while (0); } while (0)
;
5192 __Pyx_XDECREF(__pyx_t_7)do { if ((__pyx_t_7) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_7))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_7)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_7)))); } while (0); } while (0)
;
5193 __Pyx_XDECREF(__pyx_t_8)do { if ((__pyx_t_8) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_8))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_8)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_8)))); } while (0); } while (0)
;
5194 __Pyx_XDECREF(__pyx_t_9)do { if ((__pyx_t_9) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_9))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_9)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_9)))); } while (0); } while (0)
;
5195 __Pyx_XDECREF(__pyx_t_10)do { if ((__pyx_t_10) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_10))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_t_10)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_10)))); } while (0); } while (0)
;
5196 __Pyx_WriteUnraisable("xmmsapi.ResultNotifier", __pyx_clineno, __pyx_lineno, __pyx_filename, 0);
5197 __pyx_r = 0;
5198 __pyx_L0:;
5199 __Pyx_XDECREF(__pyx_v_xres)do { if ((__pyx_v_xres) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_xres))->ob_refcnt != 0) ; else ( (*(((PyObject*
)((PyObject *)(__pyx_v_xres)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(__pyx_v_xres)))); } while (0); } while
(0)
;
5200 __Pyx_XDECREF(__pyx_v_traceback)do { if ((__pyx_v_traceback) == ((void*)0)) ; else do { if ( --
((PyObject*)(__pyx_v_traceback))->ob_refcnt != 0) ; else (
(*(((PyObject*)((PyObject *)(__pyx_v_traceback)))->ob_type
)->tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_traceback
)))); } while (0); } while (0)
;
5201 __Pyx_XDECREF(__pyx_v_sys)do { if ((__pyx_v_sys) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_sys))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(__pyx_v_sys)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_sys)))); } while (0); } while (0)
;
5202 __Pyx_XDECREF(__pyx_v_exc)do { if ((__pyx_v_exc) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_exc))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(__pyx_v_exc)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_exc)))); } while (0); } while (0)
;
5203 __Pyx_RefNannyFinishContext();
5204 return __pyx_r;
5205}
5206
5207/* "xmmsapi.pyx":98
5208 * return False
5209 *
5210 * cdef void ResultDestroyNotifier(void *o): # <<<<<<<<<<<<<<
5211 * cdef XmmsResult obj
5212 * obj = <XmmsResult>o
5213 */
5214
5215static void __pyx_f_7xmmsapi_ResultDestroyNotifier(void *__pyx_v_o) {
5216 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_obj = 0;
5217 __Pyx_RefNannyDeclarations
5218 PyObject *__pyx_t_1 = NULL((void*)0);
5219 int __pyx_lineno = 0;
5220 const char *__pyx_filename = NULL((void*)0);
5221 int __pyx_clineno = 0;
5222 __Pyx_RefNannySetupContext("ResultDestroyNotifier", 0);
5223
5224 /* "xmmsapi.pyx":100
5225 * cdef void ResultDestroyNotifier(void *o):
5226 * cdef XmmsResult obj
5227 * obj = <XmmsResult>o # <<<<<<<<<<<<<<
5228 * obj._cb = None
5229 * obj.result_tracker.release_result(obj)
5230 */
5231 __pyx_t_1 = ((PyObject *)__pyx_v_o);
5232 __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++);
5233 __pyx_v_obj = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
5234 __pyx_t_1 = 0;
5235
5236 /* "xmmsapi.pyx":101
5237 * cdef XmmsResult obj
5238 * obj = <XmmsResult>o
5239 * obj._cb = None # <<<<<<<<<<<<<<
5240 * obj.result_tracker.release_result(obj)
5241 *
5242 */
5243 __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
5244 __Pyx_GIVEREF(Py_None);
5245 __Pyx_GOTREF(__pyx_v_obj->_cb);
5246 __Pyx_DECREF(__pyx_v_obj->_cb)do { if ( --((PyObject*)(__pyx_v_obj->_cb))->ob_refcnt !=
0) ; else ( (*(((PyObject*)((PyObject *)(__pyx_v_obj->_cb
)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_obj
->_cb)))); } while (0)
;
5247 __pyx_v_obj->_cb = Py_None(&_Py_NoneStruct);
5248
5249 /* "xmmsapi.pyx":102
5250 * obj = <XmmsResult>o
5251 * obj._cb = None
5252 * obj.result_tracker.release_result(obj) # <<<<<<<<<<<<<<
5253 *
5254 * cdef class XmmsSourcePreference:
5255 */
5256 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsResultTracker *)__pyx_v_obj->result_tracker->__pyx_vtab)->release_result(__pyx_v_obj->result_tracker, __pyx_v_obj); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__5256; goto __pyx_L1_error;}
5257 __Pyx_GOTREF(__pyx_t_1);
5258 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
5259
5260 /* "xmmsapi.pyx":98
5261 * return False
5262 *
5263 * cdef void ResultDestroyNotifier(void *o): # <<<<<<<<<<<<<<
5264 * cdef XmmsResult obj
5265 * obj = <XmmsResult>o
5266 */
5267
5268 /* function exit code */
5269 goto __pyx_L0;
5270 __pyx_L1_error:;
5271 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
5272 __Pyx_WriteUnraisable("xmmsapi.ResultDestroyNotifier", __pyx_clineno, __pyx_lineno, __pyx_filename, 0);
5273 __pyx_L0:;
5274 __Pyx_XDECREF((PyObject *)__pyx_v_obj)do { if (((PyObject *)__pyx_v_obj) == ((void*)0)) ; else do {
if ( --((PyObject*)((PyObject *)__pyx_v_obj))->ob_refcnt !=
0) ; else ( (*(((PyObject*)((PyObject *)((PyObject *)__pyx_v_obj
)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)((PyObject
*)__pyx_v_obj)))); } while (0); } while (0)
;
5275 __Pyx_RefNannyFinishContext();
5276}
5277
5278/* "xmmsapi.pyx":110
5279 * #cdef object sources
5280 *
5281 * def __init__(self, sources = None): # <<<<<<<<<<<<<<
5282 * self.set(sources)
5283 *
5284 */
5285
5286/* Python wrapper */
5287static int __pyx_pw_7xmmsapi_20XmmsSourcePreference_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
5288static int __pyx_pw_7xmmsapi_20XmmsSourcePreference_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
5289 PyObject *__pyx_v_sources = 0;
5290 int __pyx_lineno = 0;
5291 const char *__pyx_filename = NULL((void*)0);
5292 int __pyx_clineno = 0;
5293 int __pyx_r;
5294 __Pyx_RefNannyDeclarations
5295 __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
5296 {
5297 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_sources,0};
5298 PyObject* values[1] = {0};
5299 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
5300 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
5301 Py_ssize_t kw_args;
5302 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
5303 switch (pos_args) {
5304 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
5305 case 0: break;
5306 default: goto __pyx_L5_argtuple_error;
5307 }
5308 kw_args = PyDict_Size(__pyx_kwds);
5309 switch (pos_args) {
5310 case 0:
5311 if (kw_args > 0) {
5312 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_sources);
5313 if (value) { values[0] = value; kw_args--; }
5314 }
5315 }
5316 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
5317 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "__init__") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__5317; goto __pyx_L3_error;}
5318 }
5319 } else {
5320 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
5321 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
5322 case 0: break;
5323 default: goto __pyx_L5_argtuple_error;
5324 }
5325 }
5326 __pyx_v_sources = values[0];
5327 }
5328 goto __pyx_L4_argument_unpacking_done;
5329 __pyx_L5_argtuple_error:;
5330 __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__5330; goto __pyx_L3_error;}
5331 __pyx_L3_error:;
5332 __Pyx_AddTraceback("xmmsapi.XmmsSourcePreference.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5333 __Pyx_RefNannyFinishContext();
5334 return -1;
5335 __pyx_L4_argument_unpacking_done:;
5336 __pyx_r = __pyx_pf_7xmmsapi_20XmmsSourcePreference___init__(((struct __pyx_obj_7xmmsapi_XmmsSourcePreference *)__pyx_v_self), __pyx_v_sources);
5337
5338 /* function exit code */
5339 __Pyx_RefNannyFinishContext();
5340 return __pyx_r;
5341}
5342
5343static int __pyx_pf_7xmmsapi_20XmmsSourcePreference___init__(struct __pyx_obj_7xmmsapi_XmmsSourcePreference *__pyx_v_self, PyObject *__pyx_v_sources) {
5344 int __pyx_r;
5345 __Pyx_RefNannyDeclarations
5346 PyObject *__pyx_t_1 = NULL((void*)0);
5347 PyObject *__pyx_t_2 = NULL((void*)0);
5348 PyObject *__pyx_t_3 = NULL((void*)0);
5349 int __pyx_lineno = 0;
5350 const char *__pyx_filename = NULL((void*)0);
5351 int __pyx_clineno = 0;
5352 __Pyx_RefNannySetupContext("__init__", 0);
5353
5354 /* "xmmsapi.pyx":111
5355 *
5356 * def __init__(self, sources = None):
5357 * self.set(sources) # <<<<<<<<<<<<<<
5358 *
5359 * def get(self):
5360 */
5361 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__5361; goto __pyx_L1_error;}
5362 __Pyx_GOTREF(__pyx_t_1);
5363 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__5363; goto __pyx_L1_error;}
5364 __Pyx_GOTREF(__pyx_t_2);
5365 __Pyx_INCREF(__pyx_v_sources)( ((PyObject*)(__pyx_v_sources))->ob_refcnt++);
5366 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_sources)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_sources
)
;
5367 __Pyx_GIVEREF(__pyx_v_sources);
5368 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__5368; goto __pyx_L1_error;}
5369 __Pyx_GOTREF(__pyx_t_3);
5370 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
5371 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
5372 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
5373
5374 /* "xmmsapi.pyx":110
5375 * #cdef object sources
5376 *
5377 * def __init__(self, sources = None): # <<<<<<<<<<<<<<
5378 * self.set(sources)
5379 *
5380 */
5381
5382 /* function exit code */
5383 __pyx_r = 0;
5384 goto __pyx_L0;
5385 __pyx_L1_error:;
5386 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
5387 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
5388 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
5389 __Pyx_AddTraceback("xmmsapi.XmmsSourcePreference.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5390 __pyx_r = -1;
5391 __pyx_L0:;
5392 __Pyx_RefNannyFinishContext();
5393 return __pyx_r;
5394}
5395
5396/* "xmmsapi.pyx":113
5397 * self.set(sources)
5398 *
5399 * def get(self): # <<<<<<<<<<<<<<
5400 * return self.sources
5401 *
5402 */
5403
5404/* Python wrapper */
5405static PyObject *__pyx_pw_7xmmsapi_20XmmsSourcePreference_3get(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
5406static char __pyx_doc_7xmmsapi_20XmmsSourcePreference_2get[] = "XmmsSourcePreference.get(self)";
5407static PyObject *__pyx_pw_7xmmsapi_20XmmsSourcePreference_3get(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
5408 PyObject *__pyx_r = 0;
5409 __Pyx_RefNannyDeclarations
5410 __Pyx_RefNannySetupContext("get (wrapper)", 0);
5411 __pyx_r = __pyx_pf_7xmmsapi_20XmmsSourcePreference_2get(((struct __pyx_obj_7xmmsapi_XmmsSourcePreference *)__pyx_v_self));
5412
5413 /* function exit code */
5414 __Pyx_RefNannyFinishContext();
5415 return __pyx_r;
5416}
5417
5418static PyObject *__pyx_pf_7xmmsapi_20XmmsSourcePreference_2get(struct __pyx_obj_7xmmsapi_XmmsSourcePreference *__pyx_v_self) {
5419 PyObject *__pyx_r = NULL((void*)0);
5420 __Pyx_RefNannyDeclarations
5421 __Pyx_RefNannySetupContext("get", 0);
5422
5423 /* "xmmsapi.pyx":114
5424 *
5425 * def get(self):
5426 * return self.sources # <<<<<<<<<<<<<<
5427 *
5428 * def set(self, sources):
5429 */
5430 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
5431 __Pyx_INCREF(__pyx_v_self->sources)( ((PyObject*)(__pyx_v_self->sources))->ob_refcnt++);
5432 __pyx_r = __pyx_v_self->sources;
5433 goto __pyx_L0;
5434
5435 /* "xmmsapi.pyx":113
5436 * self.set(sources)
5437 *
5438 * def get(self): # <<<<<<<<<<<<<<
5439 * return self.sources
5440 *
5441 */
5442
5443 /* function exit code */
5444 __pyx_L0:;
5445 __Pyx_XGIVEREF(__pyx_r);
5446 __Pyx_RefNannyFinishContext();
5447 return __pyx_r;
5448}
5449
5450/* "xmmsapi.pyx":116
5451 * return self.sources
5452 *
5453 * def set(self, sources): # <<<<<<<<<<<<<<
5454 * if sources is None:
5455 * self.sources = []
5456 */
5457
5458/* Python wrapper */
5459static PyObject *__pyx_pw_7xmmsapi_20XmmsSourcePreference_5set(PyObject *__pyx_v_self, PyObject *__pyx_v_sources); /*proto*/
5460static char __pyx_doc_7xmmsapi_20XmmsSourcePreference_4set[] = "XmmsSourcePreference.set(self, sources)";
5461static PyObject *__pyx_pw_7xmmsapi_20XmmsSourcePreference_5set(PyObject *__pyx_v_self, PyObject *__pyx_v_sources) {
5462 PyObject *__pyx_r = 0;
5463 __Pyx_RefNannyDeclarations
5464 __Pyx_RefNannySetupContext("set (wrapper)", 0);
5465 __pyx_r = __pyx_pf_7xmmsapi_20XmmsSourcePreference_4set(((struct __pyx_obj_7xmmsapi_XmmsSourcePreference *)__pyx_v_self), ((PyObject *)__pyx_v_sources));
5466
5467 /* function exit code */
5468 __Pyx_RefNannyFinishContext();
5469 return __pyx_r;
5470}
5471
5472static PyObject *__pyx_pf_7xmmsapi_20XmmsSourcePreference_4set(struct __pyx_obj_7xmmsapi_XmmsSourcePreference *__pyx_v_self, PyObject *__pyx_v_sources) {
5473 PyObject *__pyx_v_s = NULL((void*)0);
5474 PyObject *__pyx_r = NULL((void*)0);
5475 __Pyx_RefNannyDeclarations
5476 int __pyx_t_1;
5477 int __pyx_t_2;
5478 PyObject *__pyx_t_3 = NULL((void*)0);
5479 PyObject *__pyx_t_4 = NULL((void*)0);
5480 Py_ssize_t __pyx_t_5;
5481 PyObject *(*__pyx_t_6)(PyObject *);
5482 PyObject *__pyx_t_7 = NULL((void*)0);
5483 PyObject *__pyx_t_8 = NULL((void*)0);
5484 PyObject *__pyx_t_9 = NULL((void*)0);
5485 int __pyx_lineno = 0;
5486 const char *__pyx_filename = NULL((void*)0);
5487 int __pyx_clineno = 0;
5488 __Pyx_RefNannySetupContext("set", 0);
5489
5490 /* "xmmsapi.pyx":117
5491 *
5492 * def set(self, sources):
5493 * if sources is None: # <<<<<<<<<<<<<<
5494 * self.sources = []
5495 * else:
5496 */
5497 __pyx_t_1 = (__pyx_v_sources == Py_None(&_Py_NoneStruct));
5498 __pyx_t_2 = (__pyx_t_1 != 0);
5499 if (__pyx_t_2) {
5500
5501 /* "xmmsapi.pyx":118
5502 * def set(self, sources):
5503 * if sources is None:
5504 * self.sources = [] # <<<<<<<<<<<<<<
5505 * else:
5506 * self.sources = [enforce_unicode(s) for s in sources]
5507 */
5508 __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__5508; goto __pyx_L1_error;}
5509 __Pyx_GOTREF(__pyx_t_3);
5510 __Pyx_GIVEREF(__pyx_t_3);
5511 __Pyx_GOTREF(__pyx_v_self->sources);
5512 __Pyx_DECREF(__pyx_v_self->sources)do { if ( --((PyObject*)(__pyx_v_self->sources))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)(__pyx_v_self->
sources)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_v_self->sources)))); } while (0)
;
5513 __pyx_v_self->sources = __pyx_t_3;
5514 __pyx_t_3 = 0;
5515 goto __pyx_L3;
5516 }
5517 /*else*/ {
5518
5519 /* "xmmsapi.pyx":120
5520 * self.sources = []
5521 * else:
5522 * self.sources = [enforce_unicode(s) for s in sources] # <<<<<<<<<<<<<<
5523 *
5524 * cdef class XmmsResultTracker:
5525 */
5526 __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__5526; goto __pyx_L1_error;}
5527 __Pyx_GOTREF(__pyx_t_3);
5528 if (PyList_CheckExact(__pyx_v_sources)((((PyObject*)(__pyx_v_sources))->ob_type) == &PyList_Type
)
|| PyTuple_CheckExact(__pyx_v_sources)((((PyObject*)(__pyx_v_sources))->ob_type) == &PyTuple_Type
)
) {
5529 __pyx_t_4 = __pyx_v_sources; __Pyx_INCREF(__pyx_t_4)( ((PyObject*)(__pyx_t_4))->ob_refcnt++); __pyx_t_5 = 0;
5530 __pyx_t_6 = NULL((void*)0);
5531 } else {
5532 __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_v_sources); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__5532; goto __pyx_L1_error;}
5533 __Pyx_GOTREF(__pyx_t_4);
5534 __pyx_t_6 = Py_TYPE(__pyx_t_4)(((PyObject*)(__pyx_t_4))->ob_type)->tp_iternext;
5535 }
5536 for (;;) {
5537 if (!__pyx_t_6 && PyList_CheckExact(__pyx_t_4)((((PyObject*)(__pyx_t_4))->ob_type) == &PyList_Type)) {
5538 if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)(((PyVarObject*)(__pyx_t_4))->ob_size)) break;
5539 #if CYTHON_COMPILING_IN_CPYTHON1
5540 __pyx_t_7 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5)(((PyListObject *)(__pyx_t_4))->ob_item[__pyx_t_5]); __Pyx_INCREF(__pyx_t_7)( ((PyObject*)(__pyx_t_7))->ob_refcnt++); __pyx_t_5++; if (unlikely(0 < 0)__builtin_expect(!!(0 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__5540; goto __pyx_L1_error;}
5541 #else
5542 __pyx_t_7 = PySequence_ITEM(__pyx_t_4, __pyx_t_5)( (((PyObject*)(__pyx_t_4))->ob_type)->tp_as_sequence->
sq_item(__pyx_t_4, __pyx_t_5) )
; __pyx_t_5++; if (unlikely(!__pyx_t_7)__builtin_expect(!!(!__pyx_t_7), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__5542; goto __pyx_L1_error;}
5543 #endif
5544 } else if (!__pyx_t_6 && PyTuple_CheckExact(__pyx_t_4)((((PyObject*)(__pyx_t_4))->ob_type) == &PyTuple_Type)) {
5545 if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_4)(((PyVarObject*)(__pyx_t_4))->ob_size)) break;
5546 #if CYTHON_COMPILING_IN_CPYTHON1
5547 __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5)(((PyTupleObject *)(__pyx_t_4))->ob_item[__pyx_t_5]); __Pyx_INCREF(__pyx_t_7)( ((PyObject*)(__pyx_t_7))->ob_refcnt++); __pyx_t_5++; if (unlikely(0 < 0)__builtin_expect(!!(0 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__5547; goto __pyx_L1_error;}
5548 #else
5549 __pyx_t_7 = PySequence_ITEM(__pyx_t_4, __pyx_t_5)( (((PyObject*)(__pyx_t_4))->ob_type)->tp_as_sequence->
sq_item(__pyx_t_4, __pyx_t_5) )
; __pyx_t_5++; if (unlikely(!__pyx_t_7)__builtin_expect(!!(!__pyx_t_7), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__5549; goto __pyx_L1_error;}
5550 #endif
5551 } else {
5552 __pyx_t_7 = __pyx_t_6(__pyx_t_4);
5553 if (unlikely(!__pyx_t_7)__builtin_expect(!!(!__pyx_t_7), 0)) {
5554 PyObject* exc_type = PyErr_Occurred();
5555 if (exc_type) {
5556 if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))__builtin_expect(!!(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches
(exc_type, PyExc_StopIteration)), 1)
) PyErr_Clear();
5557 else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__5557; goto __pyx_L1_error;}
5558 }
5559 break;
5560 }
5561 __Pyx_GOTREF(__pyx_t_7);
5562 }
5563 __Pyx_XDECREF_SET(__pyx_v_s, __pyx_t_7)do { PyObject *tmp = (PyObject *) __pyx_v_s; __pyx_v_s = __pyx_t_7
; do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0); } while (0)
;
5564 __pyx_t_7 = 0;
5565 __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_enforce_unicode); if (unlikely(!__pyx_t_7)__builtin_expect(!!(!__pyx_t_7), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__5565; goto __pyx_L1_error;}
5566 __Pyx_GOTREF(__pyx_t_7);
5567 __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)__builtin_expect(!!(!__pyx_t_8), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__5567; goto __pyx_L1_error;}
5568 __Pyx_GOTREF(__pyx_t_8);
5569 __Pyx_INCREF(__pyx_v_s)( ((PyObject*)(__pyx_v_s))->ob_refcnt++);
5570 PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_s)(((PyTupleObject *)(__pyx_t_8))->ob_item[0] = __pyx_v_s);
5571 __Pyx_GIVEREF(__pyx_v_s);
5572 __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_8, NULL((void*)0)); if (unlikely(!__pyx_t_9)__builtin_expect(!!(!__pyx_t_9), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__5572; goto __pyx_L1_error;}
5573 __Pyx_GOTREF(__pyx_t_9);
5574 __Pyx_DECREF(__pyx_t_7)do { if ( --((PyObject*)(__pyx_t_7))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_7)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_7)))); } while (
0)
; __pyx_t_7 = 0;
5575 __Pyx_DECREF(__pyx_t_8)do { if ( --((PyObject*)(__pyx_t_8))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_8)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_8)))); } while (
0)
; __pyx_t_8 = 0;
5576 if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_9))__builtin_expect(!!(__Pyx_ListComp_Append(__pyx_t_3, (PyObject
*)__pyx_t_9)), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__5576; goto __pyx_L1_error;}
5577 __Pyx_DECREF(__pyx_t_9)do { if ( --((PyObject*)(__pyx_t_9))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_9)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_9)))); } while (
0)
; __pyx_t_9 = 0;
5578 }
5579 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
5580 __Pyx_GIVEREF(__pyx_t_3);
5581 __Pyx_GOTREF(__pyx_v_self->sources);
5582 __Pyx_DECREF(__pyx_v_self->sources)do { if ( --((PyObject*)(__pyx_v_self->sources))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)(__pyx_v_self->
sources)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_v_self->sources)))); } while (0)
;
5583 __pyx_v_self->sources = __pyx_t_3;
5584 __pyx_t_3 = 0;
5585 }
5586 __pyx_L3:;
5587
5588 /* "xmmsapi.pyx":116
5589 * return self.sources
5590 *
5591 * def set(self, sources): # <<<<<<<<<<<<<<
5592 * if sources is None:
5593 * self.sources = []
5594 */
5595
5596 /* function exit code */
5597 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
5598 goto __pyx_L0;
5599 __pyx_L1_error:;
5600 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
5601 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
;
5602 __Pyx_XDECREF(__pyx_t_7)do { if ((__pyx_t_7) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_7))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_7)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_7)))); } while (0); } while (0)
;
5603 __Pyx_XDECREF(__pyx_t_8)do { if ((__pyx_t_8) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_8))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_8)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_8)))); } while (0); } while (0)
;
5604 __Pyx_XDECREF(__pyx_t_9)do { if ((__pyx_t_9) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_9))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_9)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_9)))); } while (0); } while (0)
;
5605 __Pyx_AddTraceback("xmmsapi.XmmsSourcePreference.set", __pyx_clineno, __pyx_lineno, __pyx_filename);
5606 __pyx_r = NULL((void*)0);
5607 __pyx_L0:;
5608 __Pyx_XDECREF(__pyx_v_s)do { if ((__pyx_v_s) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_s))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_s)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_s)))); } while (0); } while (0)
;
5609 __Pyx_XGIVEREF(__pyx_r);
5610 __Pyx_RefNannyFinishContext();
5611 return __pyx_r;
5612}
5613
5614/* "xmmsapi.pyx":128
5615 * #cdef object results
5616 *
5617 * def __cinit__(self): # <<<<<<<<<<<<<<
5618 * self.results = []
5619 *
5620 */
5621
5622/* Python wrapper */
5623static int __pyx_pw_7xmmsapi_17XmmsResultTracker_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
5624static int __pyx_pw_7xmmsapi_17XmmsResultTracker_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
5625 int __pyx_r;
5626 __Pyx_RefNannyDeclarations
5627 __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
5628 if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)__builtin_expect(!!((((PyVarObject*)(__pyx_args))->ob_size
) > 0), 0)
) {
5629 __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); return -1;}
5630 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0) && unlikely(PyDict_Size(__pyx_kwds) > 0)__builtin_expect(!!(PyDict_Size(__pyx_kwds) > 0), 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))__builtin_expect(!!(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__"
, 0)), 0)
) return -1;
5631 __pyx_r = __pyx_pf_7xmmsapi_17XmmsResultTracker___cinit__(((struct __pyx_obj_7xmmsapi_XmmsResultTracker *)__pyx_v_self));
5632
5633 /* function exit code */
5634 __Pyx_RefNannyFinishContext();
5635 return __pyx_r;
5636}
5637
5638static int __pyx_pf_7xmmsapi_17XmmsResultTracker___cinit__(struct __pyx_obj_7xmmsapi_XmmsResultTracker *__pyx_v_self) {
5639 int __pyx_r;
5640 __Pyx_RefNannyDeclarations
5641 PyObject *__pyx_t_1 = NULL((void*)0);
5642 int __pyx_lineno = 0;
5643 const char *__pyx_filename = NULL((void*)0);
5644 int __pyx_clineno = 0;
5645 __Pyx_RefNannySetupContext("__cinit__", 0);
5646
5647 /* "xmmsapi.pyx":129
5648 *
5649 * def __cinit__(self):
5650 * self.results = [] # <<<<<<<<<<<<<<
5651 *
5652 * cdef track_result(self, XmmsResult r):
5653 */
5654 __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__5654; goto __pyx_L1_error;}
5655 __Pyx_GOTREF(__pyx_t_1);
5656 __Pyx_GIVEREF(__pyx_t_1);
5657 __Pyx_GOTREF(__pyx_v_self->results);
5658 __Pyx_DECREF(__pyx_v_self->results)do { if ( --((PyObject*)(__pyx_v_self->results))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)(__pyx_v_self->
results)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_v_self->results)))); } while (0)
;
5659 __pyx_v_self->results = __pyx_t_1;
5660 __pyx_t_1 = 0;
5661
5662 /* "xmmsapi.pyx":128
5663 * #cdef object results
5664 *
5665 * def __cinit__(self): # <<<<<<<<<<<<<<
5666 * self.results = []
5667 *
5668 */
5669
5670 /* function exit code */
5671 __pyx_r = 0;
5672 goto __pyx_L0;
5673 __pyx_L1_error:;
5674 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
5675 __Pyx_AddTraceback("xmmsapi.XmmsResultTracker.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5676 __pyx_r = -1;
5677 __pyx_L0:;
5678 __Pyx_RefNannyFinishContext();
5679 return __pyx_r;
5680}
5681
5682/* "xmmsapi.pyx":131
5683 * self.results = []
5684 *
5685 * cdef track_result(self, XmmsResult r): # <<<<<<<<<<<<<<
5686 * self.results.append(r)
5687 *
5688 */
5689
5690static PyObject *__pyx_f_7xmmsapi_17XmmsResultTracker_track_result(struct __pyx_obj_7xmmsapi_XmmsResultTracker *__pyx_v_self, struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_r) {
5691 PyObject *__pyx_r = NULL((void*)0);
5692 __Pyx_RefNannyDeclarations
5693 int __pyx_t_1;
5694 int __pyx_lineno = 0;
5695 const char *__pyx_filename = NULL((void*)0);
5696 int __pyx_clineno = 0;
5697 __Pyx_RefNannySetupContext("track_result", 0);
5698
5699 /* "xmmsapi.pyx":132
5700 *
5701 * cdef track_result(self, XmmsResult r):
5702 * self.results.append(r) # <<<<<<<<<<<<<<
5703 *
5704 * cdef release_result(self, XmmsResult r):
5705 */
5706 __pyx_t_1 = __Pyx_PyObject_Append(__pyx_v_self->results, ((PyObject *)__pyx_v_r)); if (unlikely(__pyx_t_1 == -1)__builtin_expect(!!(__pyx_t_1 == -1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__5706; goto __pyx_L1_error;}
5707
5708 /* "xmmsapi.pyx":131
5709 * self.results = []
5710 *
5711 * cdef track_result(self, XmmsResult r): # <<<<<<<<<<<<<<
5712 * self.results.append(r)
5713 *
5714 */
5715
5716 /* function exit code */
5717 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
5718 goto __pyx_L0;
5719 __pyx_L1_error:;
5720 __Pyx_AddTraceback("xmmsapi.XmmsResultTracker.track_result", __pyx_clineno, __pyx_lineno, __pyx_filename);
5721 __pyx_r = 0;
5722 __pyx_L0:;
5723 __Pyx_XGIVEREF(__pyx_r);
5724 __Pyx_RefNannyFinishContext();
5725 return __pyx_r;
5726}
5727
5728/* "xmmsapi.pyx":134
5729 * self.results.append(r)
5730 *
5731 * cdef release_result(self, XmmsResult r): # <<<<<<<<<<<<<<
5732 * self.results.remove(r)
5733 *
5734 */
5735
5736static PyObject *__pyx_f_7xmmsapi_17XmmsResultTracker_release_result(struct __pyx_obj_7xmmsapi_XmmsResultTracker *__pyx_v_self, struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_r) {
5737 PyObject *__pyx_r = NULL((void*)0);
5738 __Pyx_RefNannyDeclarations
5739 PyObject *__pyx_t_1 = NULL((void*)0);
5740 PyObject *__pyx_t_2 = NULL((void*)0);
5741 PyObject *__pyx_t_3 = NULL((void*)0);
5742 int __pyx_lineno = 0;
5743 const char *__pyx_filename = NULL((void*)0);
5744 int __pyx_clineno = 0;
5745 __Pyx_RefNannySetupContext("release_result", 0);
5746
5747 /* "xmmsapi.pyx":135
5748 *
5749 * cdef release_result(self, XmmsResult r):
5750 * self.results.remove(r) # <<<<<<<<<<<<<<
5751 *
5752 * cdef disconnect_all(self, bint unset_result):
5753 */
5754 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->results, __pyx_n_s_remove); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__5754; goto __pyx_L1_error;}
5755 __Pyx_GOTREF(__pyx_t_1);
5756 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__5756; goto __pyx_L1_error;}
5757 __Pyx_GOTREF(__pyx_t_2);
5758 __Pyx_INCREF(((PyObject *)__pyx_v_r))( ((PyObject*)(((PyObject *)__pyx_v_r)))->ob_refcnt++);
5759 PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_r))(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = ((PyObject *
)__pyx_v_r))
;
5760 __Pyx_GIVEREF(((PyObject *)__pyx_v_r));
5761 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__5761; goto __pyx_L1_error;}
5762 __Pyx_GOTREF(__pyx_t_3);
5763 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
5764 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
5765 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
5766
5767 /* "xmmsapi.pyx":134
5768 * self.results.append(r)
5769 *
5770 * cdef release_result(self, XmmsResult r): # <<<<<<<<<<<<<<
5771 * self.results.remove(r)
5772 *
5773 */
5774
5775 /* function exit code */
5776 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
5777 goto __pyx_L0;
5778 __pyx_L1_error:;
5779 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
5780 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
5781 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
5782 __Pyx_AddTraceback("xmmsapi.XmmsResultTracker.release_result", __pyx_clineno, __pyx_lineno, __pyx_filename);
5783 __pyx_r = 0;
5784 __pyx_L0:;
5785 __Pyx_XGIVEREF(__pyx_r);
5786 __Pyx_RefNannyFinishContext();
5787 return __pyx_r;
5788}
5789
5790/* "xmmsapi.pyx":137
5791 * self.results.remove(r)
5792 *
5793 * cdef disconnect_all(self, bint unset_result): # <<<<<<<<<<<<<<
5794 * cdef XmmsResult r
5795 * for r in self.results[:]: # Create a copy because r.disconnect() will remove the result from the list.
5796 */
5797
5798static PyObject *__pyx_f_7xmmsapi_17XmmsResultTracker_disconnect_all(struct __pyx_obj_7xmmsapi_XmmsResultTracker *__pyx_v_self, int __pyx_v_unset_result) {
5799 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_r = 0;
5800 PyObject *__pyx_r = NULL((void*)0);
5801 __Pyx_RefNannyDeclarations
5802 PyObject *__pyx_t_1 = NULL((void*)0);
5803 PyObject *__pyx_t_2 = NULL((void*)0);
5804 Py_ssize_t __pyx_t_3;
5805 PyObject *(*__pyx_t_4)(PyObject *);
5806 int __pyx_t_5;
5807 int __pyx_lineno = 0;
5808 const char *__pyx_filename = NULL((void*)0);
5809 int __pyx_clineno = 0;
5810 __Pyx_RefNannySetupContext("disconnect_all", 0);
5811
5812 /* "xmmsapi.pyx":139
5813 * cdef disconnect_all(self, bint unset_result):
5814 * cdef XmmsResult r
5815 * for r in self.results[:]: # Create a copy because r.disconnect() will remove the result from the list. # <<<<<<<<<<<<<<
5816 * r.disconnect()
5817 * if unset_result: #This would become useless if results didn't xmmsc_ref() the connection.
5818 */
5819 __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_v_self->results, 0, 0, NULL((void*)0), NULL((void*)0), &__pyx_slice__5, 0, 0, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__5819; goto __pyx_L1_error;}
5820 __Pyx_GOTREF(__pyx_t_1);
5821 if (PyList_CheckExact(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyList_Type) || PyTuple_CheckExact(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyTuple_Type)) {
5822 __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2)( ((PyObject*)(__pyx_t_2))->ob_refcnt++); __pyx_t_3 = 0;
5823 __pyx_t_4 = NULL((void*)0);
5824 } else {
5825 __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__5825; goto __pyx_L1_error;}
5826 __Pyx_GOTREF(__pyx_t_2);
5827 __pyx_t_4 = Py_TYPE(__pyx_t_2)(((PyObject*)(__pyx_t_2))->ob_type)->tp_iternext;
5828 }
5829 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
5830 for (;;) {
5831 if (!__pyx_t_4 && PyList_CheckExact(__pyx_t_2)((((PyObject*)(__pyx_t_2))->ob_type) == &PyList_Type)) {
5832 if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)(((PyVarObject*)(__pyx_t_2))->ob_size)) break;
5833 #if CYTHON_COMPILING_IN_CPYTHON1
5834 __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3)(((PyListObject *)(__pyx_t_2))->ob_item[__pyx_t_3]); __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++); __pyx_t_3++; if (unlikely(0 < 0)__builtin_expect(!!(0 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__5834; goto __pyx_L1_error;}
5835 #else
5836 __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3)( (((PyObject*)(__pyx_t_2))->ob_type)->tp_as_sequence->
sq_item(__pyx_t_2, __pyx_t_3) )
; __pyx_t_3++; if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__5836; goto __pyx_L1_error;}
5837 #endif
5838 } else if (!__pyx_t_4 && PyTuple_CheckExact(__pyx_t_2)((((PyObject*)(__pyx_t_2))->ob_type) == &PyTuple_Type)) {
5839 if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)(((PyVarObject*)(__pyx_t_2))->ob_size)) break;
5840 #if CYTHON_COMPILING_IN_CPYTHON1
5841 __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3)(((PyTupleObject *)(__pyx_t_2))->ob_item[__pyx_t_3]); __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++); __pyx_t_3++; if (unlikely(0 < 0)__builtin_expect(!!(0 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__5841; goto __pyx_L1_error;}
5842 #else
5843 __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3)( (((PyObject*)(__pyx_t_2))->ob_type)->tp_as_sequence->
sq_item(__pyx_t_2, __pyx_t_3) )
; __pyx_t_3++; if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__5843; goto __pyx_L1_error;}
5844 #endif
5845 } else {
5846 __pyx_t_1 = __pyx_t_4(__pyx_t_2);
5847 if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {
5848 PyObject* exc_type = PyErr_Occurred();
5849 if (exc_type) {
5850 if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))__builtin_expect(!!(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches
(exc_type, PyExc_StopIteration)), 1)
) PyErr_Clear();
5851 else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__5851; goto __pyx_L1_error;}
5852 }
5853 break;
5854 }
5855 __Pyx_GOTREF(__pyx_t_1);
5856 }
5857 if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_1) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__5857; goto __pyx_L1_error;}
5858 __Pyx_XDECREF_SET(__pyx_v_r, ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1))do { PyObject *tmp = (PyObject *) __pyx_v_r; __pyx_v_r = ((struct
__pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1); do { if ((tmp) ==
((void*)0)) ; else do { if ( --((PyObject*)(tmp))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)(tmp)))->ob_type
)->tp_dealloc)((PyObject *)((PyObject *)(tmp)))); } while (
0); } while (0); } while (0)
;
5859 __pyx_t_1 = 0;
5860
5861 /* "xmmsapi.pyx":140
5862 * cdef XmmsResult r
5863 * for r in self.results[:]: # Create a copy because r.disconnect() will remove the result from the list.
5864 * r.disconnect() # <<<<<<<<<<<<<<
5865 * if unset_result: #This would become useless if results didn't xmmsc_ref() the connection.
5866 * xmmsc_result_unref(r.res)
5867 */
5868 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsResult *)__pyx_v_r->__pyx_vtab)->disconnect(__pyx_v_r, 0); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__5868; goto __pyx_L1_error;}
5869 __Pyx_GOTREF(__pyx_t_1);
5870 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
5871
5872 /* "xmmsapi.pyx":141
5873 * for r in self.results[:]: # Create a copy because r.disconnect() will remove the result from the list.
5874 * r.disconnect()
5875 * if unset_result: #This would become useless if results didn't xmmsc_ref() the connection. # <<<<<<<<<<<<<<
5876 * xmmsc_result_unref(r.res)
5877 * r.res = NULL
5878 */
5879 __pyx_t_5 = (__pyx_v_unset_result != 0);
5880 if (__pyx_t_5) {
5881
5882 /* "xmmsapi.pyx":142
5883 * r.disconnect()
5884 * if unset_result: #This would become useless if results didn't xmmsc_ref() the connection.
5885 * xmmsc_result_unref(r.res) # <<<<<<<<<<<<<<
5886 * r.res = NULL
5887 *
5888 */
5889 xmmsc_result_unref(__pyx_v_r->res);
5890
5891 /* "xmmsapi.pyx":143
5892 * if unset_result: #This would become useless if results didn't xmmsc_ref() the connection.
5893 * xmmsc_result_unref(r.res)
5894 * r.res = NULL # <<<<<<<<<<<<<<
5895 *
5896 * cdef class XmmsResult:
5897 */
5898 __pyx_v_r->res = NULL((void*)0);
5899 goto __pyx_L5;
5900 }
5901 __pyx_L5:;
5902 }
5903 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
5904
5905 /* "xmmsapi.pyx":137
5906 * self.results.remove(r)
5907 *
5908 * cdef disconnect_all(self, bint unset_result): # <<<<<<<<<<<<<<
5909 * cdef XmmsResult r
5910 * for r in self.results[:]: # Create a copy because r.disconnect() will remove the result from the list.
5911 */
5912
5913 /* function exit code */
5914 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
5915 goto __pyx_L0;
5916 __pyx_L1_error:;
5917 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
5918 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
5919 __Pyx_AddTraceback("xmmsapi.XmmsResultTracker.disconnect_all", __pyx_clineno, __pyx_lineno, __pyx_filename);
5920 __pyx_r = 0;
5921 __pyx_L0:;
5922 __Pyx_XDECREF((PyObject *)__pyx_v_r)do { if (((PyObject *)__pyx_v_r) == ((void*)0)) ; else do { if
( --((PyObject*)((PyObject *)__pyx_v_r))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)((PyObject *)__pyx_v_r)
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)((PyObject
*)__pyx_v_r)))); } while (0); } while (0)
;
5923 __Pyx_XGIVEREF(__pyx_r);
5924 __Pyx_RefNannyFinishContext();
5925 return __pyx_r;
5926}
5927
5928/* "xmmsapi.pyx":156
5929 * #cdef XmmsResultTracker result_tracker
5930 *
5931 * def __cinit__(self): # <<<<<<<<<<<<<<
5932 * self.res = NULL
5933 * self.ispropdict = 0
5934 */
5935
5936/* Python wrapper */
5937static int __pyx_pw_7xmmsapi_10XmmsResult_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
5938static int __pyx_pw_7xmmsapi_10XmmsResult_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
5939 int __pyx_r;
5940 __Pyx_RefNannyDeclarations
5941 __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
5942 if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)__builtin_expect(!!((((PyVarObject*)(__pyx_args))->ob_size
) > 0), 0)
) {
5943 __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); return -1;}
5944 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0) && unlikely(PyDict_Size(__pyx_kwds) > 0)__builtin_expect(!!(PyDict_Size(__pyx_kwds) > 0), 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))__builtin_expect(!!(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__"
, 0)), 0)
) return -1;
5945 __pyx_r = __pyx_pf_7xmmsapi_10XmmsResult___cinit__(((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_v_self));
5946
5947 /* function exit code */
5948 __Pyx_RefNannyFinishContext();
5949 return __pyx_r;
5950}
5951
5952static int __pyx_pf_7xmmsapi_10XmmsResult___cinit__(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self) {
5953 int __pyx_r;
5954 __Pyx_RefNannyDeclarations
5955 __Pyx_RefNannySetupContext("__cinit__", 0);
5956
5957 /* "xmmsapi.pyx":157
5958 *
5959 * def __cinit__(self):
5960 * self.res = NULL # <<<<<<<<<<<<<<
5961 * self.ispropdict = 0
5962 * self._cb_issetup = False
5963 */
5964 __pyx_v_self->res = NULL((void*)0);
5965
5966 /* "xmmsapi.pyx":158
5967 * def __cinit__(self):
5968 * self.res = NULL
5969 * self.ispropdict = 0 # <<<<<<<<<<<<<<
5970 * self._cb_issetup = False
5971 *
5972 */
5973 __pyx_v_self->ispropdict = 0;
5974
5975 /* "xmmsapi.pyx":159
5976 * self.res = NULL
5977 * self.ispropdict = 0
5978 * self._cb_issetup = False # <<<<<<<<<<<<<<
5979 *
5980 * def __dealloc__(self):
5981 */
5982 __pyx_v_self->_cb_issetup = 0;
5983
5984 /* "xmmsapi.pyx":156
5985 * #cdef XmmsResultTracker result_tracker
5986 *
5987 * def __cinit__(self): # <<<<<<<<<<<<<<
5988 * self.res = NULL
5989 * self.ispropdict = 0
5990 */
5991
5992 /* function exit code */
5993 __pyx_r = 0;
5994 __Pyx_RefNannyFinishContext();
5995 return __pyx_r;
5996}
5997
5998/* "xmmsapi.pyx":161
5999 * self._cb_issetup = False
6000 *
6001 * def __dealloc__(self): # <<<<<<<<<<<<<<
6002 * if self.res != NULL:
6003 * xmmsc_result_unref(self.res)
6004 */
6005
6006/* Python wrapper */
6007static void __pyx_pw_7xmmsapi_10XmmsResult_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
6008static void __pyx_pw_7xmmsapi_10XmmsResult_3__dealloc__(PyObject *__pyx_v_self) {
6009 __Pyx_RefNannyDeclarations
6010 __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
6011 __pyx_pf_7xmmsapi_10XmmsResult_2__dealloc__(((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_v_self));
6012
6013 /* function exit code */
6014 __Pyx_RefNannyFinishContext();
6015}
6016
6017static void __pyx_pf_7xmmsapi_10XmmsResult_2__dealloc__(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self) {
6018 __Pyx_RefNannyDeclarations
6019 int __pyx_t_1;
6020 __Pyx_RefNannySetupContext("__dealloc__", 0);
6021
6022 /* "xmmsapi.pyx":162
6023 *
6024 * def __dealloc__(self):
6025 * if self.res != NULL: # <<<<<<<<<<<<<<
6026 * xmmsc_result_unref(self.res)
6027 * self.res = NULL
6028 */
6029 __pyx_t_1 = ((__pyx_v_self->res != NULL((void*)0)) != 0);
6030 if (__pyx_t_1) {
6031
6032 /* "xmmsapi.pyx":163
6033 * def __dealloc__(self):
6034 * if self.res != NULL:
6035 * xmmsc_result_unref(self.res) # <<<<<<<<<<<<<<
6036 * self.res = NULL
6037 *
6038 */
6039 xmmsc_result_unref(__pyx_v_self->res);
6040
6041 /* "xmmsapi.pyx":164
6042 * if self.res != NULL:
6043 * xmmsc_result_unref(self.res)
6044 * self.res = NULL # <<<<<<<<<<<<<<
6045 *
6046 * cdef set_sourcepref(self, XmmsSourcePreference sourcepref):
6047 */
6048 __pyx_v_self->res = NULL((void*)0);
6049 goto __pyx_L3;
6050 }
6051 __pyx_L3:;
6052
6053 /* "xmmsapi.pyx":161
6054 * self._cb_issetup = False
6055 *
6056 * def __dealloc__(self): # <<<<<<<<<<<<<<
6057 * if self.res != NULL:
6058 * xmmsc_result_unref(self.res)
6059 */
6060
6061 /* function exit code */
6062 __Pyx_RefNannyFinishContext();
6063}
6064
6065/* "xmmsapi.pyx":166
6066 * self.res = NULL
6067 *
6068 * cdef set_sourcepref(self, XmmsSourcePreference sourcepref): # <<<<<<<<<<<<<<
6069 * self.source_pref = sourcepref
6070 * cdef set_result(self, xmmsc_result_t *res):
6071 */
6072
6073static PyObject *__pyx_f_7xmmsapi_10XmmsResult_set_sourcepref(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self, struct __pyx_obj_7xmmsapi_XmmsSourcePreference *__pyx_v_sourcepref) {
6074 PyObject *__pyx_r = NULL((void*)0);
6075 __Pyx_RefNannyDeclarations
6076 __Pyx_RefNannySetupContext("set_sourcepref", 0);
6077
6078 /* "xmmsapi.pyx":167
6079 *
6080 * cdef set_sourcepref(self, XmmsSourcePreference sourcepref):
6081 * self.source_pref = sourcepref # <<<<<<<<<<<<<<
6082 * cdef set_result(self, xmmsc_result_t *res):
6083 * self.res = res
6084 */
6085 __Pyx_INCREF(((PyObject *)__pyx_v_sourcepref))( ((PyObject*)(((PyObject *)__pyx_v_sourcepref)))->ob_refcnt
++)
;
6086 __Pyx_GIVEREF(((PyObject *)__pyx_v_sourcepref));
6087 __Pyx_GOTREF(__pyx_v_self->source_pref);
6088 __Pyx_DECREF(((PyObject *)__pyx_v_self->source_pref))do { if ( --((PyObject*)(((PyObject *)__pyx_v_self->source_pref
)))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)
(((PyObject *)__pyx_v_self->source_pref))))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(((PyObject *)__pyx_v_self
->source_pref))))); } while (0)
;
6089 __pyx_v_self->source_pref = __pyx_v_sourcepref;
6090
6091 /* "xmmsapi.pyx":166
6092 * self.res = NULL
6093 *
6094 * cdef set_sourcepref(self, XmmsSourcePreference sourcepref): # <<<<<<<<<<<<<<
6095 * self.source_pref = sourcepref
6096 * cdef set_result(self, xmmsc_result_t *res):
6097 */
6098
6099 /* function exit code */
6100 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
6101 __Pyx_XGIVEREF(__pyx_r);
6102 __Pyx_RefNannyFinishContext();
6103 return __pyx_r;
6104}
6105
6106/* "xmmsapi.pyx":168
6107 * cdef set_sourcepref(self, XmmsSourcePreference sourcepref):
6108 * self.source_pref = sourcepref
6109 * cdef set_result(self, xmmsc_result_t *res): # <<<<<<<<<<<<<<
6110 * self.res = res
6111 * cdef set_callback(self, XmmsResultTracker rt, cb):
6112 */
6113
6114static PyObject *__pyx_f_7xmmsapi_10XmmsResult_set_result(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self, xmmsc_result_t *__pyx_v_res) {
6115 PyObject *__pyx_r = NULL((void*)0);
6116 __Pyx_RefNannyDeclarations
6117 __Pyx_RefNannySetupContext("set_result", 0);
6118
6119 /* "xmmsapi.pyx":169
6120 * self.source_pref = sourcepref
6121 * cdef set_result(self, xmmsc_result_t *res):
6122 * self.res = res # <<<<<<<<<<<<<<
6123 * cdef set_callback(self, XmmsResultTracker rt, cb):
6124 * """
6125 */
6126 __pyx_v_self->res = __pyx_v_res;
6127
6128 /* "xmmsapi.pyx":168
6129 * cdef set_sourcepref(self, XmmsSourcePreference sourcepref):
6130 * self.source_pref = sourcepref
6131 * cdef set_result(self, xmmsc_result_t *res): # <<<<<<<<<<<<<<
6132 * self.res = res
6133 * cdef set_callback(self, XmmsResultTracker rt, cb):
6134 */
6135
6136 /* function exit code */
6137 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
6138 __Pyx_XGIVEREF(__pyx_r);
6139 __Pyx_RefNannyFinishContext();
6140 return __pyx_r;
6141}
6142
6143/* "xmmsapi.pyx":170
6144 * cdef set_result(self, xmmsc_result_t *res):
6145 * self.res = res
6146 * cdef set_callback(self, XmmsResultTracker rt, cb): # <<<<<<<<<<<<<<
6147 * """
6148 * Set a callback function for a result
6149 */
6150
6151static PyObject *__pyx_f_7xmmsapi_10XmmsResult_set_callback(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self, struct __pyx_obj_7xmmsapi_XmmsResultTracker *__pyx_v_rt, PyObject *__pyx_v_cb) {
6152 PyObject *__pyx_r = NULL((void*)0);
6153 __Pyx_RefNannyDeclarations
6154 int __pyx_t_1;
6155 int __pyx_t_2;
6156 int __pyx_t_3;
6157 PyObject *__pyx_t_4 = NULL((void*)0);
6158 PyObject *__pyx_t_5 = NULL((void*)0);
6159 int __pyx_lineno = 0;
6160 const char *__pyx_filename = NULL((void*)0);
6161 int __pyx_clineno = 0;
6162 __Pyx_RefNannySetupContext("set_callback", 0);
6163
6164 /* "xmmsapi.pyx":174
6165 * Set a callback function for a result
6166 * """
6167 * if cb is not None and not hasattr(cb, '__call__'): # <<<<<<<<<<<<<<
6168 * raise TypeError("Type '%s' is not callable" % cb.__class__.__name__)
6169 * self._cb = cb
6170 */
6171 __pyx_t_1 = (__pyx_v_cb != Py_None(&_Py_NoneStruct));
6172 if ((__pyx_t_1 != 0)) {
6173 __pyx_t_2 = PyObject_HasAttr(__pyx_v_cb, __pyx_n_s_call); if (unlikely(__pyx_t_2 == -1)__builtin_expect(!!(__pyx_t_2 == -1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__6173; goto __pyx_L1_error;}
6174 __pyx_t_3 = ((!(__pyx_t_2 != 0)) != 0);
6175 __pyx_t_2 = __pyx_t_3;
6176 } else {
6177 __pyx_t_2 = (__pyx_t_1 != 0);
6178 }
6179 if (__pyx_t_2) {
6180
6181 /* "xmmsapi.pyx":175
6182 * """
6183 * if cb is not None and not hasattr(cb, '__call__'):
6184 * raise TypeError("Type '%s' is not callable" % cb.__class__.__name__) # <<<<<<<<<<<<<<
6185 * self._cb = cb
6186 * if cb is not None and not self._cb_issetup:
6187 */
6188 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cb, __pyx_n_s_class); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__6188; goto __pyx_L1_error;}
6189 __Pyx_GOTREF(__pyx_t_4);
6190 __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_name); if (unlikely(!__pyx_t_5)__builtin_expect(!!(!__pyx_t_5), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__6190; goto __pyx_L1_error;}
6191 __Pyx_GOTREF(__pyx_t_5);
6192 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
6193 __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Type_s_is_not_callable, __pyx_t_5)PyString_Format(__pyx_kp_s_Type_s_is_not_callable, __pyx_t_5); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__6193; goto __pyx_L1_error;}
6194 __Pyx_GOTREF(__pyx_t_4);
6195 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
6196 __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)__builtin_expect(!!(!__pyx_t_5), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__6196; goto __pyx_L1_error;}
6197 __Pyx_GOTREF(__pyx_t_5);
6198 PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4)(((PyTupleObject *)(__pyx_t_5))->ob_item[0] = __pyx_t_4);
6199 __Pyx_GIVEREF(__pyx_t_4);
6200 __pyx_t_4 = 0;
6201 __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_t_5, NULL((void*)0)); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__6201; goto __pyx_L1_error;}
6202 __Pyx_GOTREF(__pyx_t_4);
6203 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
6204 __Pyx_Raise(__pyx_t_4, 0, 0, 0);
6205 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
6206 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__6206; goto __pyx_L1_error;}
6207 }
6208
6209 /* "xmmsapi.pyx":176
6210 * if cb is not None and not hasattr(cb, '__call__'):
6211 * raise TypeError("Type '%s' is not callable" % cb.__class__.__name__)
6212 * self._cb = cb # <<<<<<<<<<<<<<
6213 * if cb is not None and not self._cb_issetup:
6214 * self.result_tracker = rt
6215 */
6216 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
6217 __Pyx_GIVEREF(__pyx_v_cb);
6218 __Pyx_GOTREF(__pyx_v_self->_cb);
6219 __Pyx_DECREF(__pyx_v_self->_cb)do { if ( --((PyObject*)(__pyx_v_self->_cb))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)(__pyx_v_self->
_cb)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)
(__pyx_v_self->_cb)))); } while (0)
;
6220 __pyx_v_self->_cb = __pyx_v_cb;
6221
6222 /* "xmmsapi.pyx":177
6223 * raise TypeError("Type '%s' is not callable" % cb.__class__.__name__)
6224 * self._cb = cb
6225 * if cb is not None and not self._cb_issetup: # <<<<<<<<<<<<<<
6226 * self.result_tracker = rt
6227 * rt.track_result(self)
6228 */
6229 __pyx_t_2 = (__pyx_v_cb != Py_None(&_Py_NoneStruct));
6230 if ((__pyx_t_2 != 0)) {
6231 __pyx_t_1 = ((!(__pyx_v_self->_cb_issetup != 0)) != 0);
6232 __pyx_t_3 = __pyx_t_1;
6233 } else {
6234 __pyx_t_3 = (__pyx_t_2 != 0);
6235 }
6236 if (__pyx_t_3) {
6237
6238 /* "xmmsapi.pyx":178
6239 * self._cb = cb
6240 * if cb is not None and not self._cb_issetup:
6241 * self.result_tracker = rt # <<<<<<<<<<<<<<
6242 * rt.track_result(self)
6243 * xmmsc_result_notifier_set_full(self.res, ResultNotifier, <void *> self, ResultDestroyNotifier)
6244 */
6245 __Pyx_INCREF(((PyObject *)__pyx_v_rt))( ((PyObject*)(((PyObject *)__pyx_v_rt)))->ob_refcnt++);
6246 __Pyx_GIVEREF(((PyObject *)__pyx_v_rt));
6247 __Pyx_GOTREF(__pyx_v_self->result_tracker);
6248 __Pyx_DECREF(((PyObject *)__pyx_v_self->result_tracker))do { if ( --((PyObject*)(((PyObject *)__pyx_v_self->result_tracker
)))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)
(((PyObject *)__pyx_v_self->result_tracker))))->ob_type
)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject *)__pyx_v_self
->result_tracker))))); } while (0)
;
6249 __pyx_v_self->result_tracker = __pyx_v_rt;
6250
6251 /* "xmmsapi.pyx":179
6252 * if cb is not None and not self._cb_issetup:
6253 * self.result_tracker = rt
6254 * rt.track_result(self) # <<<<<<<<<<<<<<
6255 * xmmsc_result_notifier_set_full(self.res, ResultNotifier, <void *> self, ResultDestroyNotifier)
6256 * self._cb_issetup = True
6257 */
6258 __pyx_t_4 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsResultTracker *)__pyx_v_rt->__pyx_vtab)->track_result(__pyx_v_rt, __pyx_v_self); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__6258; goto __pyx_L1_error;}
6259 __Pyx_GOTREF(__pyx_t_4);
6260 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
6261
6262 /* "xmmsapi.pyx":180
6263 * self.result_tracker = rt
6264 * rt.track_result(self)
6265 * xmmsc_result_notifier_set_full(self.res, ResultNotifier, <void *> self, ResultDestroyNotifier) # <<<<<<<<<<<<<<
6266 * self._cb_issetup = True
6267 *
6268 */
6269 xmmsc_result_notifier_set_fullxmmsc_result_notifier_set_default_full(__pyx_v_self->res, __pyx_f_7xmmsapi_ResultNotifier, ((void *)__pyx_v_self), __pyx_f_7xmmsapi_ResultDestroyNotifier);
6270
6271 /* "xmmsapi.pyx":181
6272 * rt.track_result(self)
6273 * xmmsc_result_notifier_set_full(self.res, ResultNotifier, <void *> self, ResultDestroyNotifier)
6274 * self._cb_issetup = True # <<<<<<<<<<<<<<
6275 *
6276 * cpdef disconnect(self):
6277 */
6278 __pyx_v_self->_cb_issetup = 1;
6279 goto __pyx_L4;
6280 }
6281 __pyx_L4:;
6282
6283 /* "xmmsapi.pyx":170
6284 * cdef set_result(self, xmmsc_result_t *res):
6285 * self.res = res
6286 * cdef set_callback(self, XmmsResultTracker rt, cb): # <<<<<<<<<<<<<<
6287 * """
6288 * Set a callback function for a result
6289 */
6290
6291 /* function exit code */
6292 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
6293 goto __pyx_L0;
6294 __pyx_L1_error:;
6295 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
;
6296 __Pyx_XDECREF(__pyx_t_5)do { if ((__pyx_t_5) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_5))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_5)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_5)))); } while (0); } while (0)
;
6297 __Pyx_AddTraceback("xmmsapi.XmmsResult.set_callback", __pyx_clineno, __pyx_lineno, __pyx_filename);
6298 __pyx_r = 0;
6299 __pyx_L0:;
6300 __Pyx_XGIVEREF(__pyx_r);
6301 __Pyx_RefNannyFinishContext();
6302 return __pyx_r;
6303}
6304
6305/* "xmmsapi.pyx":183
6306 * self._cb_issetup = True
6307 *
6308 * cpdef disconnect(self): # <<<<<<<<<<<<<<
6309 * self._cb = None
6310 * if self._cb_issetup and self.res != NULL:
6311 */
6312
6313static PyObject *__pyx_pw_7xmmsapi_10XmmsResult_5disconnect(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
6314static PyObject *__pyx_f_7xmmsapi_10XmmsResult_disconnect(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self, int __pyx_skip_dispatch) {
6315 PyObject *__pyx_r = NULL((void*)0);
6316 __Pyx_RefNannyDeclarations
6317 PyObject *__pyx_t_1 = NULL((void*)0);
6318 PyObject *__pyx_t_2 = NULL((void*)0);
6319 int __pyx_t_3;
6320 int __pyx_t_4;
6321 int __pyx_lineno = 0;
6322 const char *__pyx_filename = NULL((void*)0);
6323 int __pyx_clineno = 0;
6324 __Pyx_RefNannySetupContext("disconnect", 0);
6325 /* Check if called by wrapper */
6326 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
6327 /* Check if overridden in Python */
6328 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
6329 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_disconnect); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__6329; goto __pyx_L1_error;}
6330 __Pyx_GOTREF(__pyx_t_1);
6331 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_10XmmsResult_5disconnect)) {
6332 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
6333 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__6333; goto __pyx_L1_error;}
6334 __Pyx_GOTREF(__pyx_t_2);
6335 __pyx_r = __pyx_t_2;
6336 __pyx_t_2 = 0;
6337 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
6338 goto __pyx_L0;
6339 }
6340 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
6341 }
6342
6343 /* "xmmsapi.pyx":184
6344 *
6345 * cpdef disconnect(self):
6346 * self._cb = None # <<<<<<<<<<<<<<
6347 * if self._cb_issetup and self.res != NULL:
6348 * self._cb_issetup = False
6349 */
6350 __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
6351 __Pyx_GIVEREF(Py_None);
6352 __Pyx_GOTREF(__pyx_v_self->_cb);
6353 __Pyx_DECREF(__pyx_v_self->_cb)do { if ( --((PyObject*)(__pyx_v_self->_cb))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)(__pyx_v_self->
_cb)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)
(__pyx_v_self->_cb)))); } while (0)
;
6354 __pyx_v_self->_cb = Py_None(&_Py_NoneStruct);
6355
6356 /* "xmmsapi.pyx":185
6357 * cpdef disconnect(self):
6358 * self._cb = None
6359 * if self._cb_issetup and self.res != NULL: # <<<<<<<<<<<<<<
6360 * self._cb_issetup = False
6361 * #xmmsc_result_ref(self.res) # Needed ? oO
6362 */
6363 if ((__pyx_v_self->_cb_issetup != 0)) {
6364 __pyx_t_3 = ((__pyx_v_self->res != NULL((void*)0)) != 0);
6365 __pyx_t_4 = __pyx_t_3;
6366 } else {
6367 __pyx_t_4 = (__pyx_v_self->_cb_issetup != 0);
6368 }
6369 if (__pyx_t_4) {
6370
6371 /* "xmmsapi.pyx":186
6372 * self._cb = None
6373 * if self._cb_issetup and self.res != NULL:
6374 * self._cb_issetup = False # <<<<<<<<<<<<<<
6375 * #xmmsc_result_ref(self.res) # Needed ? oO
6376 * xmmsc_result_disconnect(self.res) #self.result_tracker.release_result() called in ResultDestroyNotifier()
6377 */
6378 __pyx_v_self->_cb_issetup = 0;
6379
6380 /* "xmmsapi.pyx":188
6381 * self._cb_issetup = False
6382 * #xmmsc_result_ref(self.res) # Needed ? oO
6383 * xmmsc_result_disconnect(self.res) #self.result_tracker.release_result() called in ResultDestroyNotifier() # <<<<<<<<<<<<<<
6384 *
6385 * property callback:
6386 */
6387 xmmsc_result_disconnect(__pyx_v_self->res);
6388 goto __pyx_L3;
6389 }
6390 __pyx_L3:;
6391
6392 /* "xmmsapi.pyx":183
6393 * self._cb_issetup = True
6394 *
6395 * cpdef disconnect(self): # <<<<<<<<<<<<<<
6396 * self._cb = None
6397 * if self._cb_issetup and self.res != NULL:
6398 */
6399
6400 /* function exit code */
6401 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
6402 goto __pyx_L0;
6403 __pyx_L1_error:;
6404 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
6405 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
6406 __Pyx_AddTraceback("xmmsapi.XmmsResult.disconnect", __pyx_clineno, __pyx_lineno, __pyx_filename);
6407 __pyx_r = 0;
6408 __pyx_L0:;
6409 __Pyx_XGIVEREF(__pyx_r);
6410 __Pyx_RefNannyFinishContext();
6411 return __pyx_r;
6412}
6413
6414/* Python wrapper */
6415static PyObject *__pyx_pw_7xmmsapi_10XmmsResult_5disconnect(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
6416static char __pyx_doc_7xmmsapi_10XmmsResult_4disconnect[] = "XmmsResult.disconnect(self)";
6417static PyObject *__pyx_pw_7xmmsapi_10XmmsResult_5disconnect(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
6418 PyObject *__pyx_r = 0;
6419 __Pyx_RefNannyDeclarations
6420 __Pyx_RefNannySetupContext("disconnect (wrapper)", 0);
6421 __pyx_r = __pyx_pf_7xmmsapi_10XmmsResult_4disconnect(((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_v_self));
6422
6423 /* function exit code */
6424 __Pyx_RefNannyFinishContext();
6425 return __pyx_r;
6426}
6427
6428static PyObject *__pyx_pf_7xmmsapi_10XmmsResult_4disconnect(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self) {
6429 PyObject *__pyx_r = NULL((void*)0);
6430 __Pyx_RefNannyDeclarations
6431 PyObject *__pyx_t_1 = NULL((void*)0);
6432 int __pyx_lineno = 0;
6433 const char *__pyx_filename = NULL((void*)0);
6434 int __pyx_clineno = 0;
6435 __Pyx_RefNannySetupContext("disconnect", 0);
6436 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
6437 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsResult *)__pyx_v_self->__pyx_vtab)->disconnect(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__6437; goto __pyx_L1_error;}
6438 __Pyx_GOTREF(__pyx_t_1);
6439 __pyx_r = __pyx_t_1;
6440 __pyx_t_1 = 0;
6441 goto __pyx_L0;
6442
6443 /* function exit code */
6444 __pyx_L1_error:;
6445 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
6446 __Pyx_AddTraceback("xmmsapi.XmmsResult.disconnect", __pyx_clineno, __pyx_lineno, __pyx_filename);
6447 __pyx_r = NULL((void*)0);
6448 __pyx_L0:;
6449 __Pyx_XGIVEREF(__pyx_r);
6450 __Pyx_RefNannyFinishContext();
6451 return __pyx_r;
6452}
6453
6454/* "xmmsapi.pyx":191
6455 *
6456 * property callback:
6457 * def __get__(self): # <<<<<<<<<<<<<<
6458 * return self._cb
6459 *
6460 */
6461
6462/* Python wrapper */
6463static PyObject *__pyx_pw_7xmmsapi_10XmmsResult_8callback_1__get__(PyObject *__pyx_v_self); /*proto*/
6464static PyObject *__pyx_pw_7xmmsapi_10XmmsResult_8callback_1__get__(PyObject *__pyx_v_self) {
6465 PyObject *__pyx_r = 0;
6466 __Pyx_RefNannyDeclarations
6467 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
6468 __pyx_r = __pyx_pf_7xmmsapi_10XmmsResult_8callback___get__(((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_v_self));
6469
6470 /* function exit code */
6471 __Pyx_RefNannyFinishContext();
6472 return __pyx_r;
6473}
6474
6475static PyObject *__pyx_pf_7xmmsapi_10XmmsResult_8callback___get__(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self) {
6476 PyObject *__pyx_r = NULL((void*)0);
6477 __Pyx_RefNannyDeclarations
6478 __Pyx_RefNannySetupContext("__get__", 0);
6479
6480 /* "xmmsapi.pyx":192
6481 * property callback:
6482 * def __get__(self):
6483 * return self._cb # <<<<<<<<<<<<<<
6484 *
6485 * # XXX Kept for compatibility.
6486 */
6487 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
6488 __Pyx_INCREF(__pyx_v_self->_cb)( ((PyObject*)(__pyx_v_self->_cb))->ob_refcnt++);
6489 __pyx_r = __pyx_v_self->_cb;
6490 goto __pyx_L0;
6491
6492 /* "xmmsapi.pyx":191
6493 *
6494 * property callback:
6495 * def __get__(self): # <<<<<<<<<<<<<<
6496 * return self._cb
6497 *
6498 */
6499
6500 /* function exit code */
6501 __pyx_L0:;
6502 __Pyx_XGIVEREF(__pyx_r);
6503 __Pyx_RefNannyFinishContext();
6504 return __pyx_r;
6505}
6506
6507/* "xmmsapi.pyx":196
6508 * # XXX Kept for compatibility.
6509 * @deprecated
6510 * def _callback(self): # <<<<<<<<<<<<<<
6511 * """
6512 * @deprecated
6513 */
6514
6515/* Python wrapper */
6516static PyObject *__pyx_pw_7xmmsapi_10XmmsResult_7_callback(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
6517static char __pyx_doc_7xmmsapi_10XmmsResult_6_callback[] = "XmmsResult._callback(self)\n\n\t\t@deprecated\n\t\tUse __call__ instead.\n\t\t";
6518static PyObject *__pyx_pw_7xmmsapi_10XmmsResult_7_callback(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
6519 PyObject *__pyx_r = 0;
6520 __Pyx_RefNannyDeclarations
6521 __Pyx_RefNannySetupContext("_callback (wrapper)", 0);
6522 __pyx_r = __pyx_pf_7xmmsapi_10XmmsResult_6_callback(((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_v_self));
6523
6524 /* function exit code */
6525 __Pyx_RefNannyFinishContext();
6526 return __pyx_r;
6527}
6528
6529static PyObject *__pyx_pf_7xmmsapi_10XmmsResult_6_callback(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self) {
6530 PyObject *__pyx_v_ret = NULL((void*)0);
6531 PyObject *__pyx_v_traceback = NULL((void*)0);
6532 PyObject *__pyx_v_sys = NULL((void*)0);
6533 PyObject *__pyx_r = NULL((void*)0);
6534 __Pyx_RefNannyDeclarations
6535 PyObject *__pyx_t_1 = NULL((void*)0);
6536 PyObject *__pyx_t_2 = NULL((void*)0);
6537 PyObject *__pyx_t_3 = NULL((void*)0);
6538 PyObject *__pyx_t_4 = NULL((void*)0);
6539 PyObject *__pyx_t_5 = NULL((void*)0);
6540 PyObject *__pyx_t_6 = NULL((void*)0);
6541 PyObject *__pyx_t_7 = NULL((void*)0);
6542 PyObject *__pyx_t_8 = NULL((void*)0);
6543 PyObject *__pyx_t_9 = NULL((void*)0);
6544 int __pyx_lineno = 0;
6545 const char *__pyx_filename = NULL((void*)0);
6546 int __pyx_clineno = 0;
6547 __Pyx_RefNannySetupContext("_callback", 0);
6548
6549 /* "xmmsapi.pyx":201
6550 * Use __call__ instead.
6551 * """
6552 * try: # <<<<<<<<<<<<<<
6553 * ret = self()
6554 * except:
6555 */
6556 {
6557 __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
6558 __Pyx_XGOTREF(__pyx_t_1);
6559 __Pyx_XGOTREF(__pyx_t_2);
6560 __Pyx_XGOTREF(__pyx_t_3);
6561 /*try:*/ {
6562
6563 /* "xmmsapi.pyx":202
6564 * """
6565 * try:
6566 * ret = self() # <<<<<<<<<<<<<<
6567 * except:
6568 * import traceback, sys
6569 */
6570 __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_v_self), __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__6570; goto __pyx_L3_error;}
6571 __Pyx_GOTREF(__pyx_t_4);
6572 __pyx_v_ret = __pyx_t_4;
6573 __pyx_t_4 = 0;
6574 }
6575 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
; __pyx_t_1 = 0;
6576 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
; __pyx_t_2 = 0;
6577 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
; __pyx_t_3 = 0;
6578 goto __pyx_L10_try_end;
6579 __pyx_L3_error:;
6580 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
; __pyx_t_4 = 0;
6581
6582 /* "xmmsapi.pyx":203
6583 * try:
6584 * ret = self()
6585 * except: # <<<<<<<<<<<<<<
6586 * import traceback, sys
6587 * traceback.print_exception(*sys.exc_info())
6588 */
6589 /*except:*/ {
6590 __Pyx_AddTraceback("xmmsapi.XmmsResult._callback", __pyx_clineno, __pyx_lineno, __pyx_filename);
6591 if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__6591; goto __pyx_L5_except_error;}
6592 __Pyx_GOTREF(__pyx_t_4);
6593 __Pyx_GOTREF(__pyx_t_5);
6594 __Pyx_GOTREF(__pyx_t_6);
6595
6596 /* "xmmsapi.pyx":204
6597 * ret = self()
6598 * except:
6599 * import traceback, sys # <<<<<<<<<<<<<<
6600 * traceback.print_exception(*sys.exc_info())
6601 * return False
6602 */
6603 __pyx_t_7 = __Pyx_Import(__pyx_n_s_traceback, 0, -1); if (unlikely(!__pyx_t_7)__builtin_expect(!!(!__pyx_t_7), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__6603; goto __pyx_L5_except_error;}
6604 __Pyx_GOTREF(__pyx_t_7);
6605 __pyx_v_traceback = __pyx_t_7;
6606 __pyx_t_7 = 0;
6607 __pyx_t_7 = __Pyx_Import(__pyx_n_s_sys, 0, -1); if (unlikely(!__pyx_t_7)__builtin_expect(!!(!__pyx_t_7), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__6607; goto __pyx_L5_except_error;}
6608 __Pyx_GOTREF(__pyx_t_7);
6609 __pyx_v_sys = __pyx_t_7;
6610 __pyx_t_7 = 0;
6611
6612 /* "xmmsapi.pyx":205
6613 * except:
6614 * import traceback, sys
6615 * traceback.print_exception(*sys.exc_info()) # <<<<<<<<<<<<<<
6616 * return False
6617 * return ret
6618 */
6619 __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_traceback, __pyx_n_s_print_exception); if (unlikely(!__pyx_t_7)__builtin_expect(!!(!__pyx_t_7), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__6619; goto __pyx_L5_except_error;}
6620 __Pyx_GOTREF(__pyx_t_7);
6621 __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_sys, __pyx_n_s_exc_info); if (unlikely(!__pyx_t_8)__builtin_expect(!!(!__pyx_t_8), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__6621; goto __pyx_L5_except_error;}
6622 __Pyx_GOTREF(__pyx_t_8);
6623 __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_9)__builtin_expect(!!(!__pyx_t_9), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__6623; goto __pyx_L5_except_error;}
6624 __Pyx_GOTREF(__pyx_t_9);
6625 __Pyx_DECREF(__pyx_t_8)do { if ( --((PyObject*)(__pyx_t_8))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_8)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_8)))); } while (
0)
; __pyx_t_8 = 0;
6626 __pyx_t_8 = PySequence_Tuple(__pyx_t_9); if (unlikely(!__pyx_t_8)__builtin_expect(!!(!__pyx_t_8), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__6626; goto __pyx_L5_except_error;}
6627 __Pyx_GOTREF(__pyx_t_8);
6628 __Pyx_DECREF(__pyx_t_9)do { if ( --((PyObject*)(__pyx_t_9))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_9)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_9)))); } while (
0)
; __pyx_t_9 = 0;
6629 __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_8, NULL((void*)0)); if (unlikely(!__pyx_t_9)__builtin_expect(!!(!__pyx_t_9), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__6629; goto __pyx_L5_except_error;}
6630 __Pyx_GOTREF(__pyx_t_9);
6631 __Pyx_DECREF(__pyx_t_7)do { if ( --((PyObject*)(__pyx_t_7))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_7)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_7)))); } while (
0)
; __pyx_t_7 = 0;
6632 __Pyx_DECREF(__pyx_t_8)do { if ( --((PyObject*)(__pyx_t_8))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_8)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_8)))); } while (
0)
; __pyx_t_8 = 0;
6633 __Pyx_DECREF(__pyx_t_9)do { if ( --((PyObject*)(__pyx_t_9))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_9)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_9)))); } while (
0)
; __pyx_t_9 = 0;
6634
6635 /* "xmmsapi.pyx":206
6636 * import traceback, sys
6637 * traceback.print_exception(*sys.exc_info())
6638 * return False # <<<<<<<<<<<<<<
6639 * return ret
6640 *
6641 */
6642 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
6643 __Pyx_INCREF(Py_False)( ((PyObject*)(((PyObject *) &_Py_ZeroStruct)))->ob_refcnt
++)
;
6644 __pyx_r = Py_False((PyObject *) &_Py_ZeroStruct);
6645 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
6646 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
6647 __Pyx_DECREF(__pyx_t_6)do { if ( --((PyObject*)(__pyx_t_6))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_6)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_6)))); } while (
0)
; __pyx_t_6 = 0;
6648 goto __pyx_L6_except_return;
6649 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
6650 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
6651 __Pyx_DECREF(__pyx_t_6)do { if ( --((PyObject*)(__pyx_t_6))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_6)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_6)))); } while (
0)
; __pyx_t_6 = 0;
6652 goto __pyx_L4_exception_handled;
6653 }
6654 __pyx_L5_except_error:;
6655 __Pyx_XGIVEREF(__pyx_t_1);
6656 __Pyx_XGIVEREF(__pyx_t_2);
6657 __Pyx_XGIVEREF(__pyx_t_3);
6658 __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
6659 goto __pyx_L1_error;
6660 __pyx_L6_except_return:;
6661 __Pyx_XGIVEREF(__pyx_t_1);
6662 __Pyx_XGIVEREF(__pyx_t_2);
6663 __Pyx_XGIVEREF(__pyx_t_3);
6664 __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
6665 goto __pyx_L0;
6666 __pyx_L4_exception_handled:;
6667 __Pyx_XGIVEREF(__pyx_t_1);
6668 __Pyx_XGIVEREF(__pyx_t_2);
6669 __Pyx_XGIVEREF(__pyx_t_3);
6670 __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
6671 __pyx_L10_try_end:;
6672 }
6673
6674 /* "xmmsapi.pyx":207
6675 * traceback.print_exception(*sys.exc_info())
6676 * return False
6677 * return ret # <<<<<<<<<<<<<<
6678 *
6679 * def __call__(self):
6680 */
6681 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
6682 __Pyx_INCREF(__pyx_v_ret)( ((PyObject*)(__pyx_v_ret))->ob_refcnt++);
6683 __pyx_r = __pyx_v_ret;
6684 goto __pyx_L0;
6685
6686 /* "xmmsapi.pyx":196
6687 * # XXX Kept for compatibility.
6688 * @deprecated
6689 * def _callback(self): # <<<<<<<<<<<<<<
6690 * """
6691 * @deprecated
6692 */
6693
6694 /* function exit code */
6695 __pyx_L1_error:;
6696 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
;
6697 __Pyx_XDECREF(__pyx_t_5)do { if ((__pyx_t_5) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_5))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_5)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_5)))); } while (0); } while (0)
;
6698 __Pyx_XDECREF(__pyx_t_6)do { if ((__pyx_t_6) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_6))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_6)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_6)))); } while (0); } while (0)
;
6699 __Pyx_XDECREF(__pyx_t_7)do { if ((__pyx_t_7) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_7))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_7)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_7)))); } while (0); } while (0)
;
6700 __Pyx_XDECREF(__pyx_t_8)do { if ((__pyx_t_8) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_8))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_8)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_8)))); } while (0); } while (0)
;
6701 __Pyx_XDECREF(__pyx_t_9)do { if ((__pyx_t_9) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_9))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_9)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_9)))); } while (0); } while (0)
;
6702 __Pyx_AddTraceback("xmmsapi.XmmsResult._callback", __pyx_clineno, __pyx_lineno, __pyx_filename);
6703 __pyx_r = NULL((void*)0);
6704 __pyx_L0:;
6705 __Pyx_XDECREF(__pyx_v_ret)do { if ((__pyx_v_ret) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_ret))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(__pyx_v_ret)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_ret)))); } while (0); } while (0)
;
6706 __Pyx_XDECREF(__pyx_v_traceback)do { if ((__pyx_v_traceback) == ((void*)0)) ; else do { if ( --
((PyObject*)(__pyx_v_traceback))->ob_refcnt != 0) ; else (
(*(((PyObject*)((PyObject *)(__pyx_v_traceback)))->ob_type
)->tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_traceback
)))); } while (0); } while (0)
;
6707 __Pyx_XDECREF(__pyx_v_sys)do { if ((__pyx_v_sys) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_sys))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(__pyx_v_sys)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_sys)))); } while (0); } while (0)
;
6708 __Pyx_XGIVEREF(__pyx_r);
6709 __Pyx_RefNannyFinishContext();
6710 return __pyx_r;
6711}
6712
6713/* "xmmsapi.pyx":209
6714 * return ret
6715 *
6716 * def __call__(self): # <<<<<<<<<<<<<<
6717 * cb = self.callback
6718 * if cb is not None:
6719 */
6720
6721/* Python wrapper */
6722static PyObject *__pyx_pw_7xmmsapi_10XmmsResult_9__call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
6723static PyObject *__pyx_pw_7xmmsapi_10XmmsResult_9__call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
6724 PyObject *__pyx_r = 0;
6725 __Pyx_RefNannyDeclarations
6726 __Pyx_RefNannySetupContext("__call__ (wrapper)", 0);
6727 if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)__builtin_expect(!!((((PyVarObject*)(__pyx_args))->ob_size
) > 0), 0)
) {
6728 __Pyx_RaiseArgtupleInvalid("__call__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); return NULL((void*)0);}
6729 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0) && unlikely(PyDict_Size(__pyx_kwds) > 0)__builtin_expect(!!(PyDict_Size(__pyx_kwds) > 0), 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__call__", 0))__builtin_expect(!!(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__call__"
, 0)), 0)
) return NULL((void*)0);
6730 __pyx_r = __pyx_pf_7xmmsapi_10XmmsResult_8__call__(((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_v_self));
6731
6732 /* function exit code */
6733 __Pyx_RefNannyFinishContext();
6734 return __pyx_r;
6735}
6736
6737static PyObject *__pyx_pf_7xmmsapi_10XmmsResult_8__call__(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self) {
6738 PyObject *__pyx_v_cb = NULL((void*)0);
6739 PyObject *__pyx_v_ret = NULL((void*)0);
6740 PyObject *__pyx_r = NULL((void*)0);
6741 __Pyx_RefNannyDeclarations
6742 PyObject *__pyx_t_1 = NULL((void*)0);
6743 int __pyx_t_2;
6744 int __pyx_t_3;
6745 PyObject *__pyx_t_4 = NULL((void*)0);
6746 int __pyx_lineno = 0;
6747 const char *__pyx_filename = NULL((void*)0);
6748 int __pyx_clineno = 0;
6749 __Pyx_RefNannySetupContext("__call__", 0);
6750
6751 /* "xmmsapi.pyx":210
6752 *
6753 * def __call__(self):
6754 * cb = self.callback # <<<<<<<<<<<<<<
6755 * if cb is not None:
6756 * ret = cb(self.xmmsvalue())
6757 */
6758 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_callback); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__6758; goto __pyx_L1_error;}
6759 __Pyx_GOTREF(__pyx_t_1);
6760 __pyx_v_cb = __pyx_t_1;
6761 __pyx_t_1 = 0;
6762
6763 /* "xmmsapi.pyx":211
6764 * def __call__(self):
6765 * cb = self.callback
6766 * if cb is not None: # <<<<<<<<<<<<<<
6767 * ret = cb(self.xmmsvalue())
6768 * return True if ret is None else ret
6769 */
6770 __pyx_t_2 = (__pyx_v_cb != Py_None(&_Py_NoneStruct));
6771 __pyx_t_3 = (__pyx_t_2 != 0);
6772 if (__pyx_t_3) {
6773
6774 /* "xmmsapi.pyx":212
6775 * cb = self.callback
6776 * if cb is not None:
6777 * ret = cb(self.xmmsvalue()) # <<<<<<<<<<<<<<
6778 * return True if ret is None else ret
6779 * return False
6780 */
6781 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsResult *)__pyx_v_self->__pyx_vtab)->xmmsvalue(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__6781; goto __pyx_L1_error;}
6782 __Pyx_GOTREF(__pyx_t_1);
6783 __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__6783; goto __pyx_L1_error;}
6784 __Pyx_GOTREF(__pyx_t_4);
6785 PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1)(((PyTupleObject *)(__pyx_t_4))->ob_item[0] = __pyx_t_1);
6786 __Pyx_GIVEREF(__pyx_t_1);
6787 __pyx_t_1 = 0;
6788 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_v_cb, __pyx_t_4, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__6788; goto __pyx_L1_error;}
6789 __Pyx_GOTREF(__pyx_t_1);
6790 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
6791 __pyx_v_ret = __pyx_t_1;
6792 __pyx_t_1 = 0;
6793
6794 /* "xmmsapi.pyx":213
6795 * if cb is not None:
6796 * ret = cb(self.xmmsvalue())
6797 * return True if ret is None else ret # <<<<<<<<<<<<<<
6798 * return False
6799 *
6800 */
6801 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
6802 __pyx_t_3 = (__pyx_v_ret == Py_None(&_Py_NoneStruct));
6803 if ((__pyx_t_3 != 0)) {
6804 __Pyx_INCREF(Py_True)( ((PyObject*)(((PyObject *) &_Py_TrueStruct)))->ob_refcnt
++)
;
6805 __pyx_t_1 = Py_True((PyObject *) &_Py_TrueStruct);
6806 } else {
6807 __Pyx_INCREF(__pyx_v_ret)( ((PyObject*)(__pyx_v_ret))->ob_refcnt++);
6808 __pyx_t_1 = __pyx_v_ret;
6809 }
6810 __pyx_r = __pyx_t_1;
6811 __pyx_t_1 = 0;
6812 goto __pyx_L0;
6813 }
6814
6815 /* "xmmsapi.pyx":214
6816 * ret = cb(self.xmmsvalue())
6817 * return True if ret is None else ret
6818 * return False # <<<<<<<<<<<<<<
6819 *
6820 * cpdef wait(self):
6821 */
6822 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
6823 __Pyx_INCREF(Py_False)( ((PyObject*)(((PyObject *) &_Py_ZeroStruct)))->ob_refcnt
++)
;
6824 __pyx_r = Py_False((PyObject *) &_Py_ZeroStruct);
6825 goto __pyx_L0;
6826
6827 /* "xmmsapi.pyx":209
6828 * return ret
6829 *
6830 * def __call__(self): # <<<<<<<<<<<<<<
6831 * cb = self.callback
6832 * if cb is not None:
6833 */
6834
6835 /* function exit code */
6836 __pyx_L1_error:;
6837 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
6838 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
;
6839 __Pyx_AddTraceback("xmmsapi.XmmsResult.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename);
6840 __pyx_r = NULL((void*)0);
6841 __pyx_L0:;
6842 __Pyx_XDECREF(__pyx_v_cb)do { if ((__pyx_v_cb) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_cb))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_v_cb)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_cb)))); } while (0); } while (0)
;
6843 __Pyx_XDECREF(__pyx_v_ret)do { if ((__pyx_v_ret) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_ret))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(__pyx_v_ret)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_ret)))); } while (0); } while (0)
;
6844 __Pyx_XGIVEREF(__pyx_r);
6845 __Pyx_RefNannyFinishContext();
6846 return __pyx_r;
6847}
6848
6849/* "xmmsapi.pyx":216
6850 * return False
6851 *
6852 * cpdef wait(self): # <<<<<<<<<<<<<<
6853 * """
6854 * Wait for the result from the daemon.
6855 */
6856
6857static PyObject *__pyx_pw_7xmmsapi_10XmmsResult_11wait(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
6858static PyObject *__pyx_f_7xmmsapi_10XmmsResult_wait(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self, int __pyx_skip_dispatch) {
6859 PyObject *__pyx_r = NULL((void*)0);
6860 __Pyx_RefNannyDeclarations
6861 PyObject *__pyx_t_1 = NULL((void*)0);
6862 PyObject *__pyx_t_2 = NULL((void*)0);
6863 int __pyx_t_3;
6864 int __pyx_lineno = 0;
6865 const char *__pyx_filename = NULL((void*)0);
6866 int __pyx_clineno = 0;
6867 __Pyx_RefNannySetupContext("wait", 0);
6868 /* Check if called by wrapper */
6869 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
6870 /* Check if overridden in Python */
6871 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
6872 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_wait); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__6872; goto __pyx_L1_error;}
6873 __Pyx_GOTREF(__pyx_t_1);
6874 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_10XmmsResult_11wait)) {
6875 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
6876 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__6876; goto __pyx_L1_error;}
6877 __Pyx_GOTREF(__pyx_t_2);
6878 __pyx_r = __pyx_t_2;
6879 __pyx_t_2 = 0;
6880 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
6881 goto __pyx_L0;
6882 }
6883 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
6884 }
6885
6886 /* "xmmsapi.pyx":220
6887 * Wait for the result from the daemon.
6888 * """
6889 * if self.res == NULL: # <<<<<<<<<<<<<<
6890 * raise RuntimeError("Uninitialized result")
6891 *
6892 */
6893 __pyx_t_3 = ((__pyx_v_self->res == NULL((void*)0)) != 0);
6894 if (__pyx_t_3) {
6895
6896 /* "xmmsapi.pyx":221
6897 * """
6898 * if self.res == NULL:
6899 * raise RuntimeError("Uninitialized result") # <<<<<<<<<<<<<<
6900 *
6901 * xmmsc_result_wait(self.res)
6902 */
6903 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__6, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__6903; goto __pyx_L1_error;}
6904 __Pyx_GOTREF(__pyx_t_1);
6905 __Pyx_Raise(__pyx_t_1, 0, 0, 0);
6906 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
6907 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__6907; goto __pyx_L1_error;}
6908 }
6909
6910 /* "xmmsapi.pyx":223
6911 * raise RuntimeError("Uninitialized result")
6912 *
6913 * xmmsc_result_wait(self.res) # <<<<<<<<<<<<<<
6914 *
6915 * cpdef is_error(self):
6916 */
6917 xmmsc_result_wait(__pyx_v_self->res);
6918
6919 /* "xmmsapi.pyx":216
6920 * return False
6921 *
6922 * cpdef wait(self): # <<<<<<<<<<<<<<
6923 * """
6924 * Wait for the result from the daemon.
6925 */
6926
6927 /* function exit code */
6928 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
6929 goto __pyx_L0;
6930 __pyx_L1_error:;
6931 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
6932 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
6933 __Pyx_AddTraceback("xmmsapi.XmmsResult.wait", __pyx_clineno, __pyx_lineno, __pyx_filename);
6934 __pyx_r = 0;
6935 __pyx_L0:;
6936 __Pyx_XGIVEREF(__pyx_r);
6937 __Pyx_RefNannyFinishContext();
6938 return __pyx_r;
6939}
6940
6941/* Python wrapper */
6942static PyObject *__pyx_pw_7xmmsapi_10XmmsResult_11wait(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
6943static char __pyx_doc_7xmmsapi_10XmmsResult_10wait[] = "XmmsResult.wait(self)\n\n\t\tWait for the result from the daemon.\n\t\t";
6944static PyObject *__pyx_pw_7xmmsapi_10XmmsResult_11wait(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
6945 PyObject *__pyx_r = 0;
6946 __Pyx_RefNannyDeclarations
6947 __Pyx_RefNannySetupContext("wait (wrapper)", 0);
6948 __pyx_r = __pyx_pf_7xmmsapi_10XmmsResult_10wait(((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_v_self));
6949
6950 /* function exit code */
6951 __Pyx_RefNannyFinishContext();
6952 return __pyx_r;
6953}
6954
6955static PyObject *__pyx_pf_7xmmsapi_10XmmsResult_10wait(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self) {
6956 PyObject *__pyx_r = NULL((void*)0);
6957 __Pyx_RefNannyDeclarations
6958 PyObject *__pyx_t_1 = NULL((void*)0);
6959 int __pyx_lineno = 0;
6960 const char *__pyx_filename = NULL((void*)0);
6961 int __pyx_clineno = 0;
6962 __Pyx_RefNannySetupContext("wait", 0);
6963 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
6964 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsResult *)__pyx_v_self->__pyx_vtab)->wait(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__6964; goto __pyx_L1_error;}
6965 __Pyx_GOTREF(__pyx_t_1);
6966 __pyx_r = __pyx_t_1;
6967 __pyx_t_1 = 0;
6968 goto __pyx_L0;
6969
6970 /* function exit code */
6971 __pyx_L1_error:;
6972 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
6973 __Pyx_AddTraceback("xmmsapi.XmmsResult.wait", __pyx_clineno, __pyx_lineno, __pyx_filename);
6974 __pyx_r = NULL((void*)0);
6975 __pyx_L0:;
6976 __Pyx_XGIVEREF(__pyx_r);
6977 __Pyx_RefNannyFinishContext();
6978 return __pyx_r;
6979}
6980
6981/* "xmmsapi.pyx":225
6982 * xmmsc_result_wait(self.res)
6983 *
6984 * cpdef is_error(self): # <<<<<<<<<<<<<<
6985 * """
6986 * @return: Whether the result represents an error or not.
6987 */
6988
6989static PyObject *__pyx_pw_7xmmsapi_10XmmsResult_13is_error(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
6990static PyObject *__pyx_f_7xmmsapi_10XmmsResult_is_error(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self, int __pyx_skip_dispatch) {
6991 PyObject *__pyx_r = NULL((void*)0);
6992 __Pyx_RefNannyDeclarations
6993 PyObject *__pyx_t_1 = NULL((void*)0);
6994 PyObject *__pyx_t_2 = NULL((void*)0);
6995 int __pyx_lineno = 0;
6996 const char *__pyx_filename = NULL((void*)0);
6997 int __pyx_clineno = 0;
6998 __Pyx_RefNannySetupContext("is_error", 0);
6999 /* Check if called by wrapper */
7000 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
7001 /* Check if overridden in Python */
7002 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
7003 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_error); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__7003; goto __pyx_L1_error;}
7004 __Pyx_GOTREF(__pyx_t_1);
7005 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_10XmmsResult_13is_error)) {
7006 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
7007 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__7007; goto __pyx_L1_error;}
7008 __Pyx_GOTREF(__pyx_t_2);
7009 __pyx_r = __pyx_t_2;
7010 __pyx_t_2 = 0;
7011 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
7012 goto __pyx_L0;
7013 }
7014 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
7015 }
7016
7017 /* "xmmsapi.pyx":230
7018 * @rtype: Boolean
7019 * """
7020 * return self.xmmsvalue().is_error() # <<<<<<<<<<<<<<
7021 *
7022 * @deprecated
7023 */
7024 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
7025 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsResult *)__pyx_v_self->__pyx_vtab)->xmmsvalue(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__7025; goto __pyx_L1_error;}
7026 __Pyx_GOTREF(__pyx_t_1);
7027 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_is_error); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__7027; goto __pyx_L1_error;}
7028 __Pyx_GOTREF(__pyx_t_2);
7029 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
7030 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__7030; goto __pyx_L1_error;}
7031 __Pyx_GOTREF(__pyx_t_1);
7032 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
7033 __pyx_r = __pyx_t_1;
7034 __pyx_t_1 = 0;
7035 goto __pyx_L0;
7036
7037 /* "xmmsapi.pyx":225
7038 * xmmsc_result_wait(self.res)
7039 *
7040 * cpdef is_error(self): # <<<<<<<<<<<<<<
7041 * """
7042 * @return: Whether the result represents an error or not.
7043 */
7044
7045 /* function exit code */
7046 __pyx_L1_error:;
7047 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
7048 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
7049 __Pyx_AddTraceback("xmmsapi.XmmsResult.is_error", __pyx_clineno, __pyx_lineno, __pyx_filename);
7050 __pyx_r = 0;
7051 __pyx_L0:;
7052 __Pyx_XGIVEREF(__pyx_r);
7053 __Pyx_RefNannyFinishContext();
7054 return __pyx_r;
7055}
7056
7057/* Python wrapper */
7058static PyObject *__pyx_pw_7xmmsapi_10XmmsResult_13is_error(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
7059static char __pyx_doc_7xmmsapi_10XmmsResult_12is_error[] = "XmmsResult.is_error(self)\n\n\t\t@return: Whether the result represents an error or not.\n\t\t@rtype: Boolean\n\t\t";
7060static PyObject *__pyx_pw_7xmmsapi_10XmmsResult_13is_error(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
7061 PyObject *__pyx_r = 0;
7062 __Pyx_RefNannyDeclarations
7063 __Pyx_RefNannySetupContext("is_error (wrapper)", 0);
7064 __pyx_r = __pyx_pf_7xmmsapi_10XmmsResult_12is_error(((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_v_self));
7065
7066 /* function exit code */
7067 __Pyx_RefNannyFinishContext();
7068 return __pyx_r;
7069}
7070
7071static PyObject *__pyx_pf_7xmmsapi_10XmmsResult_12is_error(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self) {
7072 PyObject *__pyx_r = NULL((void*)0);
7073 __Pyx_RefNannyDeclarations
7074 PyObject *__pyx_t_1 = NULL((void*)0);
7075 int __pyx_lineno = 0;
7076 const char *__pyx_filename = NULL((void*)0);
7077 int __pyx_clineno = 0;
7078 __Pyx_RefNannySetupContext("is_error", 0);
7079 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
7080 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsResult *)__pyx_v_self->__pyx_vtab)->is_error(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__7080; goto __pyx_L1_error;}
7081 __Pyx_GOTREF(__pyx_t_1);
7082 __pyx_r = __pyx_t_1;
7083 __pyx_t_1 = 0;
7084 goto __pyx_L0;
7085
7086 /* function exit code */
7087 __pyx_L1_error:;
7088 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
7089 __Pyx_AddTraceback("xmmsapi.XmmsResult.is_error", __pyx_clineno, __pyx_lineno, __pyx_filename);
7090 __pyx_r = NULL((void*)0);
7091 __pyx_L0:;
7092 __Pyx_XGIVEREF(__pyx_r);
7093 __Pyx_RefNannyFinishContext();
7094 return __pyx_r;
7095}
7096
7097/* "xmmsapi.pyx":233
7098 *
7099 * @deprecated
7100 * def iserror(self): # <<<<<<<<<<<<<<
7101 * """
7102 * @deprecated
7103 */
7104
7105/* Python wrapper */
7106static PyObject *__pyx_pw_7xmmsapi_10XmmsResult_15iserror(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
7107static char __pyx_doc_7xmmsapi_10XmmsResult_14iserror[] = "XmmsResult.iserror(self)\n\n\t\t@deprecated\n\t\tUse is_error() instead.\n\t\t";
7108static PyObject *__pyx_pw_7xmmsapi_10XmmsResult_15iserror(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
7109 PyObject *__pyx_r = 0;
7110 __Pyx_RefNannyDeclarations
7111 __Pyx_RefNannySetupContext("iserror (wrapper)", 0);
7112 __pyx_r = __pyx_pf_7xmmsapi_10XmmsResult_14iserror(((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_v_self));
7113
7114 /* function exit code */
7115 __Pyx_RefNannyFinishContext();
7116 return __pyx_r;
7117}
7118
7119static PyObject *__pyx_pf_7xmmsapi_10XmmsResult_14iserror(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self) {
7120 PyObject *__pyx_r = NULL((void*)0);
7121 __Pyx_RefNannyDeclarations
7122 PyObject *__pyx_t_1 = NULL((void*)0);
7123 int __pyx_lineno = 0;
7124 const char *__pyx_filename = NULL((void*)0);
7125 int __pyx_clineno = 0;
7126 __Pyx_RefNannySetupContext("iserror", 0);
7127
7128 /* "xmmsapi.pyx":238
7129 * Use is_error() instead.
7130 * """
7131 * return self.is_error() # <<<<<<<<<<<<<<
7132 *
7133 * cpdef xmmsvalue(self):
7134 */
7135 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
7136 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsResult *)__pyx_v_self->__pyx_vtab)->is_error(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__7136; goto __pyx_L1_error;}
7137 __Pyx_GOTREF(__pyx_t_1);
7138 __pyx_r = __pyx_t_1;
7139 __pyx_t_1 = 0;
7140 goto __pyx_L0;
7141
7142 /* "xmmsapi.pyx":233
7143 *
7144 * @deprecated
7145 * def iserror(self): # <<<<<<<<<<<<<<
7146 * """
7147 * @deprecated
7148 */
7149
7150 /* function exit code */
7151 __pyx_L1_error:;
7152 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
7153 __Pyx_AddTraceback("xmmsapi.XmmsResult.iserror", __pyx_clineno, __pyx_lineno, __pyx_filename);
7154 __pyx_r = NULL((void*)0);
7155 __pyx_L0:;
7156 __Pyx_XGIVEREF(__pyx_r);
7157 __Pyx_RefNannyFinishContext();
7158 return __pyx_r;
7159}
7160
7161/* "xmmsapi.pyx":240
7162 * return self.is_error()
7163 *
7164 * cpdef xmmsvalue(self): # <<<<<<<<<<<<<<
7165 * cdef XmmsValue obj
7166 * cdef xmmsv_t *value
7167 */
7168
7169static PyObject *__pyx_pw_7xmmsapi_10XmmsResult_17xmmsvalue(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
7170static PyObject *__pyx_f_7xmmsapi_10XmmsResult_xmmsvalue(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self, int __pyx_skip_dispatch) {
7171 struct __pyx_obj_9xmmsvalue_XmmsValue *__pyx_v_obj = 0;
7172 xmmsv_t *__pyx_v_value;
7173 PyObject *__pyx_r = NULL((void*)0);
7174 __Pyx_RefNannyDeclarations
7175 PyObject *__pyx_t_1 = NULL((void*)0);
7176 PyObject *__pyx_t_2 = NULL((void*)0);
7177 int __pyx_t_3;
7178 struct __pyx_opt_args_9xmmsvalue_9XmmsValue_set_value __pyx_t_4;
7179 int __pyx_lineno = 0;
7180 const char *__pyx_filename = NULL((void*)0);
7181 int __pyx_clineno = 0;
7182 __Pyx_RefNannySetupContext("xmmsvalue", 0);
7183 /* Check if called by wrapper */
7184 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
7185 /* Check if overridden in Python */
7186 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
7187 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_xmmsvalue); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__7187; goto __pyx_L1_error;}
7188 __Pyx_GOTREF(__pyx_t_1);
7189 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_10XmmsResult_17xmmsvalue)) {
7190 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
7191 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__7191; goto __pyx_L1_error;}
7192 __Pyx_GOTREF(__pyx_t_2);
7193 __pyx_r = __pyx_t_2;
7194 __pyx_t_2 = 0;
7195 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
7196 goto __pyx_L0;
7197 }
7198 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
7199 }
7200
7201 /* "xmmsapi.pyx":243
7202 * cdef XmmsValue obj
7203 * cdef xmmsv_t *value
7204 * if self.res == NULL: # <<<<<<<<<<<<<<
7205 * raise RuntimeError("Uninitialized result")
7206 * value = xmmsc_result_get_value(self.res)
7207 */
7208 __pyx_t_3 = ((__pyx_v_self->res == NULL((void*)0)) != 0);
7209 if (__pyx_t_3) {
7210
7211 /* "xmmsapi.pyx":244
7212 * cdef xmmsv_t *value
7213 * if self.res == NULL:
7214 * raise RuntimeError("Uninitialized result") # <<<<<<<<<<<<<<
7215 * value = xmmsc_result_get_value(self.res)
7216 * obj = XmmsValue(self.source_pref.get())
7217 */
7218 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__7, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__7218; goto __pyx_L1_error;}
7219 __Pyx_GOTREF(__pyx_t_1);
7220 __Pyx_Raise(__pyx_t_1, 0, 0, 0);
7221 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
7222 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__7222; goto __pyx_L1_error;}
7223 }
7224
7225 /* "xmmsapi.pyx":245
7226 * if self.res == NULL:
7227 * raise RuntimeError("Uninitialized result")
7228 * value = xmmsc_result_get_value(self.res) # <<<<<<<<<<<<<<
7229 * obj = XmmsValue(self.source_pref.get())
7230 * obj.set_value(value, self.ispropdict)
7231 */
7232 __pyx_v_value = xmmsc_result_get_value(__pyx_v_self->res);
7233
7234 /* "xmmsapi.pyx":246
7235 * raise RuntimeError("Uninitialized result")
7236 * value = xmmsc_result_get_value(self.res)
7237 * obj = XmmsValue(self.source_pref.get()) # <<<<<<<<<<<<<<
7238 * obj.set_value(value, self.ispropdict)
7239 * return obj
7240 */
7241 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->source_pref), __pyx_n_s_get); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__7241; goto __pyx_L1_error;}
7242 __Pyx_GOTREF(__pyx_t_1);
7243 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__7243; goto __pyx_L1_error;}
7244 __Pyx_GOTREF(__pyx_t_2);
7245 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
7246 __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__7246; goto __pyx_L1_error;}
7247 __Pyx_GOTREF(__pyx_t_1);
7248 PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_1))->ob_item[0] = __pyx_t_2);
7249 __Pyx_GIVEREF(__pyx_t_2);
7250 __pyx_t_2 = 0;
7251 __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_9xmmsvalue_XmmsValue)), __pyx_t_1, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__7251; goto __pyx_L1_error;}
7252 __Pyx_GOTREF(__pyx_t_2);
7253 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
7254 __pyx_v_obj = ((struct __pyx_obj_9xmmsvalue_XmmsValue *)__pyx_t_2);
7255 __pyx_t_2 = 0;
7256
7257 /* "xmmsapi.pyx":247
7258 * value = xmmsc_result_get_value(self.res)
7259 * obj = XmmsValue(self.source_pref.get())
7260 * obj.set_value(value, self.ispropdict) # <<<<<<<<<<<<<<
7261 * return obj
7262 *
7263 */
7264 __pyx_t_4.__pyx_n = 1;
7265 __pyx_t_4.ispropdict = __pyx_v_self->ispropdict;
7266 __pyx_t_2 = ((struct __pyx_vtabstruct_9xmmsvalue_XmmsValue *)__pyx_v_obj->__pyx_vtab)->set_value(__pyx_v_obj, __pyx_v_value, &__pyx_t_4); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__7266; goto __pyx_L1_error;}
7267 __Pyx_GOTREF(__pyx_t_2);
7268 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
7269
7270 /* "xmmsapi.pyx":248
7271 * obj = XmmsValue(self.source_pref.get())
7272 * obj.set_value(value, self.ispropdict)
7273 * return obj # <<<<<<<<<<<<<<
7274 *
7275 * property xvalue:
7276 */
7277 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
7278 __Pyx_INCREF(((PyObject *)__pyx_v_obj))( ((PyObject*)(((PyObject *)__pyx_v_obj)))->ob_refcnt++);
7279 __pyx_r = ((PyObject *)__pyx_v_obj);
7280 goto __pyx_L0;
7281
7282 /* "xmmsapi.pyx":240
7283 * return self.is_error()
7284 *
7285 * cpdef xmmsvalue(self): # <<<<<<<<<<<<<<
7286 * cdef XmmsValue obj
7287 * cdef xmmsv_t *value
7288 */
7289
7290 /* function exit code */
7291 __pyx_L1_error:;
7292 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
7293 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
7294 __Pyx_AddTraceback("xmmsapi.XmmsResult.xmmsvalue", __pyx_clineno, __pyx_lineno, __pyx_filename);
7295 __pyx_r = 0;
7296 __pyx_L0:;
7297 __Pyx_XDECREF((PyObject *)__pyx_v_obj)do { if (((PyObject *)__pyx_v_obj) == ((void*)0)) ; else do {
if ( --((PyObject*)((PyObject *)__pyx_v_obj))->ob_refcnt !=
0) ; else ( (*(((PyObject*)((PyObject *)((PyObject *)__pyx_v_obj
)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)((PyObject
*)__pyx_v_obj)))); } while (0); } while (0)
;
7298 __Pyx_XGIVEREF(__pyx_r);
7299 __Pyx_RefNannyFinishContext();
7300 return __pyx_r;
7301}
7302
7303/* Python wrapper */
7304static PyObject *__pyx_pw_7xmmsapi_10XmmsResult_17xmmsvalue(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
7305static char __pyx_doc_7xmmsapi_10XmmsResult_16xmmsvalue[] = "XmmsResult.xmmsvalue(self)";
7306static PyObject *__pyx_pw_7xmmsapi_10XmmsResult_17xmmsvalue(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
7307 PyObject *__pyx_r = 0;
7308 __Pyx_RefNannyDeclarations
7309 __Pyx_RefNannySetupContext("xmmsvalue (wrapper)", 0);
7310 __pyx_r = __pyx_pf_7xmmsapi_10XmmsResult_16xmmsvalue(((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_v_self));
7311
7312 /* function exit code */
7313 __Pyx_RefNannyFinishContext();
7314 return __pyx_r;
7315}
7316
7317static PyObject *__pyx_pf_7xmmsapi_10XmmsResult_16xmmsvalue(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self) {
7318 PyObject *__pyx_r = NULL((void*)0);
7319 __Pyx_RefNannyDeclarations
7320 PyObject *__pyx_t_1 = NULL((void*)0);
7321 int __pyx_lineno = 0;
7322 const char *__pyx_filename = NULL((void*)0);
7323 int __pyx_clineno = 0;
7324 __Pyx_RefNannySetupContext("xmmsvalue", 0);
7325 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
7326 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsResult *)__pyx_v_self->__pyx_vtab)->xmmsvalue(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__7326; goto __pyx_L1_error;}
7327 __Pyx_GOTREF(__pyx_t_1);
7328 __pyx_r = __pyx_t_1;
7329 __pyx_t_1 = 0;
7330 goto __pyx_L0;
7331
7332 /* function exit code */
7333 __pyx_L1_error:;
7334 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
7335 __Pyx_AddTraceback("xmmsapi.XmmsResult.xmmsvalue", __pyx_clineno, __pyx_lineno, __pyx_filename);
7336 __pyx_r = NULL((void*)0);
7337 __pyx_L0:;
7338 __Pyx_XGIVEREF(__pyx_r);
7339 __Pyx_RefNannyFinishContext();
7340 return __pyx_r;
7341}
7342
7343/* "xmmsapi.pyx":251
7344 *
7345 * property xvalue:
7346 * def __get__(self): # <<<<<<<<<<<<<<
7347 * return self.xmmsvalue()
7348 *
7349 */
7350
7351/* Python wrapper */
7352static PyObject *__pyx_pw_7xmmsapi_10XmmsResult_6xvalue_1__get__(PyObject *__pyx_v_self); /*proto*/
7353static PyObject *__pyx_pw_7xmmsapi_10XmmsResult_6xvalue_1__get__(PyObject *__pyx_v_self) {
7354 PyObject *__pyx_r = 0;
7355 __Pyx_RefNannyDeclarations
7356 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
7357 __pyx_r = __pyx_pf_7xmmsapi_10XmmsResult_6xvalue___get__(((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_v_self));
7358
7359 /* function exit code */
7360 __Pyx_RefNannyFinishContext();
7361 return __pyx_r;
7362}
7363
7364static PyObject *__pyx_pf_7xmmsapi_10XmmsResult_6xvalue___get__(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self) {
7365 PyObject *__pyx_r = NULL((void*)0);
7366 __Pyx_RefNannyDeclarations
7367 PyObject *__pyx_t_1 = NULL((void*)0);
7368 int __pyx_lineno = 0;
7369 const char *__pyx_filename = NULL((void*)0);
7370 int __pyx_clineno = 0;
7371 __Pyx_RefNannySetupContext("__get__", 0);
7372
7373 /* "xmmsapi.pyx":252
7374 * property xvalue:
7375 * def __get__(self):
7376 * return self.xmmsvalue() # <<<<<<<<<<<<<<
7377 *
7378 * @deprecated
7379 */
7380 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
7381 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsResult *)__pyx_v_self->__pyx_vtab)->xmmsvalue(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__7381; goto __pyx_L1_error;}
7382 __Pyx_GOTREF(__pyx_t_1);
7383 __pyx_r = __pyx_t_1;
7384 __pyx_t_1 = 0;
7385 goto __pyx_L0;
7386
7387 /* "xmmsapi.pyx":251
7388 *
7389 * property xvalue:
7390 * def __get__(self): # <<<<<<<<<<<<<<
7391 * return self.xmmsvalue()
7392 *
7393 */
7394
7395 /* function exit code */
7396 __pyx_L1_error:;
7397 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
7398 __Pyx_AddTraceback("xmmsapi.XmmsResult.xvalue.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
7399 __pyx_r = NULL((void*)0);
7400 __pyx_L0:;
7401 __Pyx_XGIVEREF(__pyx_r);
7402 __Pyx_RefNannyFinishContext();
7403 return __pyx_r;
7404}
7405
7406/* "xmmsapi.pyx":255
7407 *
7408 * @deprecated
7409 * def _value(self): # <<<<<<<<<<<<<<
7410 * """
7411 * @deprecated
7412 */
7413
7414/* Python wrapper */
7415static PyObject *__pyx_pw_7xmmsapi_10XmmsResult_19_value(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
7416static char __pyx_doc_7xmmsapi_10XmmsResult_18_value[] = "XmmsResult._value(self)\n\n\t\t@deprecated\n\t\tUse xmmsvalue() or the xvalue property.\n\t\t";
7417static PyObject *__pyx_pw_7xmmsapi_10XmmsResult_19_value(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
7418 PyObject *__pyx_r = 0;
7419 __Pyx_RefNannyDeclarations
7420 __Pyx_RefNannySetupContext("_value (wrapper)", 0);
7421 __pyx_r = __pyx_pf_7xmmsapi_10XmmsResult_18_value(((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_v_self));
7422
7423 /* function exit code */
7424 __Pyx_RefNannyFinishContext();
7425 return __pyx_r;
7426}
7427
7428static PyObject *__pyx_pf_7xmmsapi_10XmmsResult_18_value(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self) {
7429 PyObject *__pyx_r = NULL((void*)0);
7430 __Pyx_RefNannyDeclarations
7431 PyObject *__pyx_t_1 = NULL((void*)0);
7432 int __pyx_lineno = 0;
7433 const char *__pyx_filename = NULL((void*)0);
7434 int __pyx_clineno = 0;
7435 __Pyx_RefNannySetupContext("_value", 0);
7436
7437 /* "xmmsapi.pyx":260
7438 * Use xmmsvalue() or the xvalue property.
7439 * """
7440 * return self.xmmsvalue() # <<<<<<<<<<<<<<
7441 *
7442 * cpdef value(self):
7443 */
7444 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
7445 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsResult *)__pyx_v_self->__pyx_vtab)->xmmsvalue(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__7445; goto __pyx_L1_error;}
7446 __Pyx_GOTREF(__pyx_t_1);
7447 __pyx_r = __pyx_t_1;
7448 __pyx_t_1 = 0;
7449 goto __pyx_L0;
7450
7451 /* "xmmsapi.pyx":255
7452 *
7453 * @deprecated
7454 * def _value(self): # <<<<<<<<<<<<<<
7455 * """
7456 * @deprecated
7457 */
7458
7459 /* function exit code */
7460 __pyx_L1_error:;
7461 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
7462 __Pyx_AddTraceback("xmmsapi.XmmsResult._value", __pyx_clineno, __pyx_lineno, __pyx_filename);
7463 __pyx_r = NULL((void*)0);
7464 __pyx_L0:;
7465 __Pyx_XGIVEREF(__pyx_r);
7466 __Pyx_RefNannyFinishContext();
7467 return __pyx_r;
7468}
7469
7470/* "xmmsapi.pyx":262
7471 * return self.xmmsvalue()
7472 *
7473 * cpdef value(self): # <<<<<<<<<<<<<<
7474 * return self.xmmsvalue().value()
7475 *
7476 */
7477
7478static PyObject *__pyx_pw_7xmmsapi_10XmmsResult_21value(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
7479static PyObject *__pyx_f_7xmmsapi_10XmmsResult_value(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self, int __pyx_skip_dispatch) {
7480 PyObject *__pyx_r = NULL((void*)0);
7481 __Pyx_RefNannyDeclarations
7482 PyObject *__pyx_t_1 = NULL((void*)0);
7483 PyObject *__pyx_t_2 = NULL((void*)0);
7484 int __pyx_lineno = 0;
7485 const char *__pyx_filename = NULL((void*)0);
7486 int __pyx_clineno = 0;
7487 __Pyx_RefNannySetupContext("value", 0);
7488 /* Check if called by wrapper */
7489 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
7490 /* Check if overridden in Python */
7491 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
7492 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__7492; goto __pyx_L1_error;}
7493 __Pyx_GOTREF(__pyx_t_1);
7494 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_10XmmsResult_21value)) {
7495 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
7496 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__7496; goto __pyx_L1_error;}
7497 __Pyx_GOTREF(__pyx_t_2);
7498 __pyx_r = __pyx_t_2;
7499 __pyx_t_2 = 0;
7500 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
7501 goto __pyx_L0;
7502 }
7503 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
7504 }
7505
7506 /* "xmmsapi.pyx":263
7507 *
7508 * cpdef value(self):
7509 * return self.xmmsvalue().value() # <<<<<<<<<<<<<<
7510 *
7511 *
7512 */
7513 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
7514 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsResult *)__pyx_v_self->__pyx_vtab)->xmmsvalue(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__7514; goto __pyx_L1_error;}
7515 __Pyx_GOTREF(__pyx_t_1);
7516 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_value); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__7516; goto __pyx_L1_error;}
7517 __Pyx_GOTREF(__pyx_t_2);
7518 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
7519 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__7519; goto __pyx_L1_error;}
7520 __Pyx_GOTREF(__pyx_t_1);
7521 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
7522 __pyx_r = __pyx_t_1;
7523 __pyx_t_1 = 0;
7524 goto __pyx_L0;
7525
7526 /* "xmmsapi.pyx":262
7527 * return self.xmmsvalue()
7528 *
7529 * cpdef value(self): # <<<<<<<<<<<<<<
7530 * return self.xmmsvalue().value()
7531 *
7532 */
7533
7534 /* function exit code */
7535 __pyx_L1_error:;
7536 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
7537 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
7538 __Pyx_AddTraceback("xmmsapi.XmmsResult.value", __pyx_clineno, __pyx_lineno, __pyx_filename);
7539 __pyx_r = 0;
7540 __pyx_L0:;
7541 __Pyx_XGIVEREF(__pyx_r);
7542 __Pyx_RefNannyFinishContext();
7543 return __pyx_r;
7544}
7545
7546/* Python wrapper */
7547static PyObject *__pyx_pw_7xmmsapi_10XmmsResult_21value(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
7548static char __pyx_doc_7xmmsapi_10XmmsResult_20value[] = "XmmsResult.value(self)";
7549static PyObject *__pyx_pw_7xmmsapi_10XmmsResult_21value(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
7550 PyObject *__pyx_r = 0;
7551 __Pyx_RefNannyDeclarations
7552 __Pyx_RefNannySetupContext("value (wrapper)", 0);
7553 __pyx_r = __pyx_pf_7xmmsapi_10XmmsResult_20value(((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_v_self));
7554
7555 /* function exit code */
7556 __Pyx_RefNannyFinishContext();
7557 return __pyx_r;
7558}
7559
7560static PyObject *__pyx_pf_7xmmsapi_10XmmsResult_20value(struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_self) {
7561 PyObject *__pyx_r = NULL((void*)0);
7562 __Pyx_RefNannyDeclarations
7563 PyObject *__pyx_t_1 = NULL((void*)0);
7564 int __pyx_lineno = 0;
7565 const char *__pyx_filename = NULL((void*)0);
7566 int __pyx_clineno = 0;
7567 __Pyx_RefNannySetupContext("value", 0);
7568 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
7569 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsResult *)__pyx_v_self->__pyx_vtab)->value(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__7569; goto __pyx_L1_error;}
7570 __Pyx_GOTREF(__pyx_t_1);
7571 __pyx_r = __pyx_t_1;
7572 __pyx_t_1 = 0;
7573 goto __pyx_L0;
7574
7575 /* function exit code */
7576 __pyx_L1_error:;
7577 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
7578 __Pyx_AddTraceback("xmmsapi.XmmsResult.value", __pyx_clineno, __pyx_lineno, __pyx_filename);
7579 __pyx_r = NULL((void*)0);
7580 __pyx_L0:;
7581 __Pyx_XGIVEREF(__pyx_r);
7582 __Pyx_RefNannyFinishContext();
7583 return __pyx_r;
7584}
7585
7586/* "xmmsapi.pyx":271
7587 * #cdef xmmsc_connection_t *conn
7588 *
7589 * def __cinit__(self): # <<<<<<<<<<<<<<
7590 * self.command = VIS_RESULT_CMD_NONE
7591 * self.conn = NULL
7592 */
7593
7594/* Python wrapper */
7595static int __pyx_pw_7xmmsapi_13XmmsVisResult_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
7596static int __pyx_pw_7xmmsapi_13XmmsVisResult_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
7597 int __pyx_r;
7598 __Pyx_RefNannyDeclarations
7599 __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
7600 if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)__builtin_expect(!!((((PyVarObject*)(__pyx_args))->ob_size
) > 0), 0)
) {
7601 __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); return -1;}
7602 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0) && unlikely(PyDict_Size(__pyx_kwds) > 0)__builtin_expect(!!(PyDict_Size(__pyx_kwds) > 0), 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))__builtin_expect(!!(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__"
, 0)), 0)
) return -1;
7603 __pyx_r = __pyx_pf_7xmmsapi_13XmmsVisResult___cinit__(((struct __pyx_obj_7xmmsapi_XmmsVisResult *)__pyx_v_self));
7604
7605 /* function exit code */
7606 __Pyx_RefNannyFinishContext();
7607 return __pyx_r;
7608}
7609
7610static int __pyx_pf_7xmmsapi_13XmmsVisResult___cinit__(struct __pyx_obj_7xmmsapi_XmmsVisResult *__pyx_v_self) {
7611 int __pyx_r;
7612 __Pyx_RefNannyDeclarations
7613 __Pyx_RefNannySetupContext("__cinit__", 0);
7614
7615 /* "xmmsapi.pyx":272
7616 *
7617 * def __cinit__(self):
7618 * self.command = VIS_RESULT_CMD_NONE # <<<<<<<<<<<<<<
7619 * self.conn = NULL
7620 *
7621 */
7622 __pyx_v_self->command = __pyx_e_7xmmsapi_VIS_RESULT_CMD_NONE;
7623
7624 /* "xmmsapi.pyx":273
7625 * def __cinit__(self):
7626 * self.command = VIS_RESULT_CMD_NONE
7627 * self.conn = NULL # <<<<<<<<<<<<<<
7628 *
7629 * def __dealloc__(self):
7630 */
7631 __pyx_v_self->conn = NULL((void*)0);
7632
7633 /* "xmmsapi.pyx":271
7634 * #cdef xmmsc_connection_t *conn
7635 *
7636 * def __cinit__(self): # <<<<<<<<<<<<<<
7637 * self.command = VIS_RESULT_CMD_NONE
7638 * self.conn = NULL
7639 */
7640
7641 /* function exit code */
7642 __pyx_r = 0;
7643 __Pyx_RefNannyFinishContext();
7644 return __pyx_r;
7645}
7646
7647/* "xmmsapi.pyx":275
7648 * self.conn = NULL
7649 *
7650 * def __dealloc__(self): # <<<<<<<<<<<<<<
7651 * if self.conn != NULL:
7652 * xmmsc_unref(self.conn)
7653 */
7654
7655/* Python wrapper */
7656static void __pyx_pw_7xmmsapi_13XmmsVisResult_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
7657static void __pyx_pw_7xmmsapi_13XmmsVisResult_3__dealloc__(PyObject *__pyx_v_self) {
7658 __Pyx_RefNannyDeclarations
7659 __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
7660 __pyx_pf_7xmmsapi_13XmmsVisResult_2__dealloc__(((struct __pyx_obj_7xmmsapi_XmmsVisResult *)__pyx_v_self));
7661
7662 /* function exit code */
7663 __Pyx_RefNannyFinishContext();
7664}
7665
7666static void __pyx_pf_7xmmsapi_13XmmsVisResult_2__dealloc__(struct __pyx_obj_7xmmsapi_XmmsVisResult *__pyx_v_self) {
7667 __Pyx_RefNannyDeclarations
7668 int __pyx_t_1;
7669 __Pyx_RefNannySetupContext("__dealloc__", 0);
7670
7671 /* "xmmsapi.pyx":276
7672 *
7673 * def __dealloc__(self):
7674 * if self.conn != NULL: # <<<<<<<<<<<<<<
7675 * xmmsc_unref(self.conn)
7676 * self.conn = NULL
7677 */
7678 __pyx_t_1 = ((__pyx_v_self->conn != NULL((void*)0)) != 0);
7679 if (__pyx_t_1) {
7680
7681 /* "xmmsapi.pyx":277
7682 * def __dealloc__(self):
7683 * if self.conn != NULL:
7684 * xmmsc_unref(self.conn) # <<<<<<<<<<<<<<
7685 * self.conn = NULL
7686 *
7687 */
7688 xmmsc_unref(__pyx_v_self->conn);
7689
7690 /* "xmmsapi.pyx":278
7691 * if self.conn != NULL:
7692 * xmmsc_unref(self.conn)
7693 * self.conn = NULL # <<<<<<<<<<<<<<
7694 *
7695 * cdef set_command(self, VisResultCommand cmd, xmmsc_connection_t *conn):
7696 */
7697 __pyx_v_self->conn = NULL((void*)0);
7698 goto __pyx_L3;
7699 }
7700 __pyx_L3:;
7701
7702 /* "xmmsapi.pyx":275
7703 * self.conn = NULL
7704 *
7705 * def __dealloc__(self): # <<<<<<<<<<<<<<
7706 * if self.conn != NULL:
7707 * xmmsc_unref(self.conn)
7708 */
7709
7710 /* function exit code */
7711 __Pyx_RefNannyFinishContext();
7712}
7713
7714/* "xmmsapi.pyx":280
7715 * self.conn = NULL
7716 *
7717 * cdef set_command(self, VisResultCommand cmd, xmmsc_connection_t *conn): # <<<<<<<<<<<<<<
7718 * self.command = cmd
7719 * if self.conn != NULL:
7720 */
7721
7722static PyObject *__pyx_f_7xmmsapi_13XmmsVisResult_set_command(struct __pyx_obj_7xmmsapi_XmmsVisResult *__pyx_v_self, __pyx_t_7xmmsapi_VisResultCommand __pyx_v_cmd, xmmsc_connection_t *__pyx_v_conn) {
7723 PyObject *__pyx_r = NULL((void*)0);
7724 __Pyx_RefNannyDeclarations
7725 int __pyx_t_1;
7726 __Pyx_RefNannySetupContext("set_command", 0);
7727
7728 /* "xmmsapi.pyx":281
7729 *
7730 * cdef set_command(self, VisResultCommand cmd, xmmsc_connection_t *conn):
7731 * self.command = cmd # <<<<<<<<<<<<<<
7732 * if self.conn != NULL:
7733 * xmmsc_unref(self.conn)
7734 */
7735 __pyx_v_self->command = __pyx_v_cmd;
7736
7737 /* "xmmsapi.pyx":282
7738 * cdef set_command(self, VisResultCommand cmd, xmmsc_connection_t *conn):
7739 * self.command = cmd
7740 * if self.conn != NULL: # <<<<<<<<<<<<<<
7741 * xmmsc_unref(self.conn)
7742 * self.conn = NULL
7743 */
7744 __pyx_t_1 = ((__pyx_v_self->conn != NULL((void*)0)) != 0);
7745 if (__pyx_t_1) {
7746
7747 /* "xmmsapi.pyx":283
7748 * self.command = cmd
7749 * if self.conn != NULL:
7750 * xmmsc_unref(self.conn) # <<<<<<<<<<<<<<
7751 * self.conn = NULL
7752 * if conn != NULL:
7753 */
7754 xmmsc_unref(__pyx_v_self->conn);
7755
7756 /* "xmmsapi.pyx":284
7757 * if self.conn != NULL:
7758 * xmmsc_unref(self.conn)
7759 * self.conn = NULL # <<<<<<<<<<<<<<
7760 * if conn != NULL:
7761 * self.conn = xmmsc_ref(conn)
7762 */
7763 __pyx_v_self->conn = NULL((void*)0);
7764 goto __pyx_L3;
7765 }
7766 __pyx_L3:;
7767
7768 /* "xmmsapi.pyx":285
7769 * xmmsc_unref(self.conn)
7770 * self.conn = NULL
7771 * if conn != NULL: # <<<<<<<<<<<<<<
7772 * self.conn = xmmsc_ref(conn)
7773 *
7774 */
7775 __pyx_t_1 = ((__pyx_v_conn != NULL((void*)0)) != 0);
7776 if (__pyx_t_1) {
7777
7778 /* "xmmsapi.pyx":286
7779 * self.conn = NULL
7780 * if conn != NULL:
7781 * self.conn = xmmsc_ref(conn) # <<<<<<<<<<<<<<
7782 *
7783 * cdef retrieve_error(self):
7784 */
7785 __pyx_v_self->conn = xmmsc_ref(__pyx_v_conn);
7786 goto __pyx_L4;
7787 }
7788 __pyx_L4:;
7789
7790 /* "xmmsapi.pyx":280
7791 * self.conn = NULL
7792 *
7793 * cdef set_command(self, VisResultCommand cmd, xmmsc_connection_t *conn): # <<<<<<<<<<<<<<
7794 * self.command = cmd
7795 * if self.conn != NULL:
7796 */
7797
7798 /* function exit code */
7799 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
7800 __Pyx_XGIVEREF(__pyx_r);
7801 __Pyx_RefNannyFinishContext();
7802 return __pyx_r;
7803}
7804
7805/* "xmmsapi.pyx":288
7806 * self.conn = xmmsc_ref(conn)
7807 *
7808 * cdef retrieve_error(self): # <<<<<<<<<<<<<<
7809 * cdef xmmsv_t *errval
7810 * xval = XmmsResult.xmmsvalue(self)
7811 */
7812
7813static PyObject *__pyx_f_7xmmsapi_13XmmsVisResult_retrieve_error(struct __pyx_obj_7xmmsapi_XmmsVisResult *__pyx_v_self) {
7814 xmmsv_t *__pyx_v_errval;
7815 PyObject *__pyx_v_xval = NULL((void*)0);
7816 PyObject *__pyx_r = NULL((void*)0);
7817 __Pyx_RefNannyDeclarations
7818 PyObject *__pyx_t_1 = NULL((void*)0);
7819 PyObject *__pyx_t_2 = NULL((void*)0);
7820 int __pyx_t_3;
7821 int __pyx_lineno = 0;
7822 const char *__pyx_filename = NULL((void*)0);
7823 int __pyx_clineno = 0;
7824 __Pyx_RefNannySetupContext("retrieve_error", 0);
7825
7826 /* "xmmsapi.pyx":290
7827 * cdef retrieve_error(self):
7828 * cdef xmmsv_t *errval
7829 * xval = XmmsResult.xmmsvalue(self) # <<<<<<<<<<<<<<
7830 * if xval.is_error():
7831 * self._val = xval
7832 */
7833 __pyx_t_1 = __pyx_vtabptr_7xmmsapi_XmmsResult->xmmsvalue(((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_v_self), 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__7833; goto __pyx_L1_error;}
7834 __Pyx_GOTREF(__pyx_t_1);
7835 __pyx_v_xval = __pyx_t_1;
7836 __pyx_t_1 = 0;
7837
7838 /* "xmmsapi.pyx":291
7839 * cdef xmmsv_t *errval
7840 * xval = XmmsResult.xmmsvalue(self)
7841 * if xval.is_error(): # <<<<<<<<<<<<<<
7842 * self._val = xval
7843 * else:
7844 */
7845 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_xval, __pyx_n_s_is_error); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__7845; goto __pyx_L1_error;}
7846 __Pyx_GOTREF(__pyx_t_1);
7847 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__7847; goto __pyx_L1_error;}
7848 __Pyx_GOTREF(__pyx_t_2);
7849 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
7850 __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)__builtin_expect(!!(__pyx_t_3 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__7850; goto __pyx_L1_error;}
7851 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
7852 if (__pyx_t_3) {
7853
7854 /* "xmmsapi.pyx":292
7855 * xval = XmmsResult.xmmsvalue(self)
7856 * if xval.is_error():
7857 * self._val = xval # <<<<<<<<<<<<<<
7858 * else:
7859 * self._val = XmmsValue()
7860 */
7861 if (!(likely(((__pyx_v_xval) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_xval, __pyx_ptype_9xmmsvalue_XmmsValue)))__builtin_expect(!!(((__pyx_v_xval) == (&_Py_NoneStruct))
|| __builtin_expect(!!(__Pyx_TypeTest(__pyx_v_xval, __pyx_ptype_9xmmsvalue_XmmsValue
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__7861; goto __pyx_L1_error;}
7862 __pyx_t_2 = __pyx_v_xval;
7863 __Pyx_INCREF(__pyx_t_2)( ((PyObject*)(__pyx_t_2))->ob_refcnt++);
7864 __Pyx_GIVEREF(__pyx_t_2);
7865 __Pyx_GOTREF(__pyx_v_self->_val);
7866 __Pyx_DECREF(((PyObject *)__pyx_v_self->_val))do { if ( --((PyObject*)(((PyObject *)__pyx_v_self->_val))
)->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)((
(PyObject *)__pyx_v_self->_val))))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(((PyObject *)__pyx_v_self->_val
))))); } while (0)
;
7867 __pyx_v_self->_val = ((struct __pyx_obj_9xmmsvalue_XmmsValue *)__pyx_t_2);
7868 __pyx_t_2 = 0;
7869 goto __pyx_L3;
7870 }
7871 /*else*/ {
7872
7873 /* "xmmsapi.pyx":294
7874 * self._val = xval
7875 * else:
7876 * self._val = XmmsValue() # <<<<<<<<<<<<<<
7877 * errval = xmmsv_new_error("Failed to initialize visualization")
7878 * self._val.set_value(errval)
7879 */
7880 __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_9xmmsvalue_XmmsValue)), __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__7880; goto __pyx_L1_error;}
7881 __Pyx_GOTREF(__pyx_t_2);
7882 __Pyx_GIVEREF(__pyx_t_2);
7883 __Pyx_GOTREF(__pyx_v_self->_val);
7884 __Pyx_DECREF(((PyObject *)__pyx_v_self->_val))do { if ( --((PyObject*)(((PyObject *)__pyx_v_self->_val))
)->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)((
(PyObject *)__pyx_v_self->_val))))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(((PyObject *)__pyx_v_self->_val
))))); } while (0)
;
7885 __pyx_v_self->_val = ((struct __pyx_obj_9xmmsvalue_XmmsValue *)__pyx_t_2);
7886 __pyx_t_2 = 0;
7887
7888 /* "xmmsapi.pyx":295
7889 * else:
7890 * self._val = XmmsValue()
7891 * errval = xmmsv_new_error("Failed to initialize visualization") # <<<<<<<<<<<<<<
7892 * self._val.set_value(errval)
7893 * xmmsv_unref(errval)
7894 */
7895 __pyx_v_errval = xmmsv_new_error(__pyx_k_Failed_to_initialize_visualizati);
7896
7897 /* "xmmsapi.pyx":296
7898 * self._val = XmmsValue()
7899 * errval = xmmsv_new_error("Failed to initialize visualization")
7900 * self._val.set_value(errval) # <<<<<<<<<<<<<<
7901 * xmmsv_unref(errval)
7902 *
7903 */
7904 __pyx_t_2 = ((struct __pyx_vtabstruct_9xmmsvalue_XmmsValue *)__pyx_v_self->_val->__pyx_vtab)->set_value(__pyx_v_self->_val, __pyx_v_errval, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__7904; goto __pyx_L1_error;}
7905 __Pyx_GOTREF(__pyx_t_2);
7906 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
7907
7908 /* "xmmsapi.pyx":297
7909 * errval = xmmsv_new_error("Failed to initialize visualization")
7910 * self._val.set_value(errval)
7911 * xmmsv_unref(errval) # <<<<<<<<<<<<<<
7912 *
7913 * cdef _init_xmmsvalue(self):
7914 */
7915 xmmsv_unref(__pyx_v_errval);
7916 }
7917 __pyx_L3:;
7918
7919 /* "xmmsapi.pyx":288
7920 * self.conn = xmmsc_ref(conn)
7921 *
7922 * cdef retrieve_error(self): # <<<<<<<<<<<<<<
7923 * cdef xmmsv_t *errval
7924 * xval = XmmsResult.xmmsvalue(self)
7925 */
7926
7927 /* function exit code */
7928 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
7929 goto __pyx_L0;
7930 __pyx_L1_error:;
7931 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
7932 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
7933 __Pyx_AddTraceback("xmmsapi.XmmsVisResult.retrieve_error", __pyx_clineno, __pyx_lineno, __pyx_filename);
7934 __pyx_r = 0;
7935 __pyx_L0:;
7936 __Pyx_XDECREF(__pyx_v_xval)do { if ((__pyx_v_xval) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_xval))->ob_refcnt != 0) ; else ( (*(((PyObject*
)((PyObject *)(__pyx_v_xval)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(__pyx_v_xval)))); } while (0); } while
(0)
;
7937 __Pyx_XGIVEREF(__pyx_r);
7938 __Pyx_RefNannyFinishContext();
7939 return __pyx_r;
7940}
7941
7942/* "xmmsapi.pyx":299
7943 * xmmsv_unref(errval)
7944 *
7945 * cdef _init_xmmsvalue(self): # <<<<<<<<<<<<<<
7946 * if self._val is None:
7947 * if self.res == NULL:
7948 */
7949
7950static PyObject *__pyx_f_7xmmsapi_13XmmsVisResult__init_xmmsvalue(struct __pyx_obj_7xmmsapi_XmmsVisResult *__pyx_v_self) {
7951 int __pyx_v_hid;
7952 PyObject *__pyx_r = NULL((void*)0);
7953 __Pyx_RefNannyDeclarations
7954 int __pyx_t_1;
7955 int __pyx_t_2;
7956 PyObject *__pyx_t_3 = NULL((void*)0);
7957 PyObject *__pyx_t_4 = NULL((void*)0);
7958 int __pyx_lineno = 0;
7959 const char *__pyx_filename = NULL((void*)0);
7960 int __pyx_clineno = 0;
7961 __Pyx_RefNannySetupContext("_init_xmmsvalue", 0);
7962
7963 /* "xmmsapi.pyx":300
7964 *
7965 * cdef _init_xmmsvalue(self):
7966 * if self._val is None: # <<<<<<<<<<<<<<
7967 * if self.res == NULL:
7968 * raise RuntimeError("Uninitialized result")
7969 */
7970 __pyx_t_1 = (((PyObject *)__pyx_v_self->_val) == Py_None(&_Py_NoneStruct));
7971 __pyx_t_2 = (__pyx_t_1 != 0);
7972 if (__pyx_t_2) {
7973
7974 /* "xmmsapi.pyx":301
7975 * cdef _init_xmmsvalue(self):
7976 * if self._val is None:
7977 * if self.res == NULL: # <<<<<<<<<<<<<<
7978 * raise RuntimeError("Uninitialized result")
7979 * hid = xmmsc_visualization_init_handle(self.res)
7980 */
7981 __pyx_t_2 = ((__pyx_v_self->__pyx_base.res == NULL((void*)0)) != 0);
7982 if (__pyx_t_2) {
7983
7984 /* "xmmsapi.pyx":302
7985 * if self._val is None:
7986 * if self.res == NULL:
7987 * raise RuntimeError("Uninitialized result") # <<<<<<<<<<<<<<
7988 * hid = xmmsc_visualization_init_handle(self.res)
7989 * if hid == -1:
7990 */
7991 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__8, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__7991; goto __pyx_L1_error;}
7992 __Pyx_GOTREF(__pyx_t_3);
7993 __Pyx_Raise(__pyx_t_3, 0, 0, 0);
7994 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
7995 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__7995; goto __pyx_L1_error;}
7996 }
7997
7998 /* "xmmsapi.pyx":303
7999 * if self.res == NULL:
8000 * raise RuntimeError("Uninitialized result")
8001 * hid = xmmsc_visualization_init_handle(self.res) # <<<<<<<<<<<<<<
8002 * if hid == -1:
8003 * self.retrieve_error()
8004 */
8005 __pyx_v_hid = xmmsc_visualization_init_handle(__pyx_v_self->__pyx_base.res);
8006
8007 /* "xmmsapi.pyx":304
8008 * raise RuntimeError("Uninitialized result")
8009 * hid = xmmsc_visualization_init_handle(self.res)
8010 * if hid == -1: # <<<<<<<<<<<<<<
8011 * self.retrieve_error()
8012 * else:
8013 */
8014 __pyx_t_2 = ((__pyx_v_hid == -1) != 0);
8015 if (__pyx_t_2) {
8016
8017 /* "xmmsapi.pyx":305
8018 * hid = xmmsc_visualization_init_handle(self.res)
8019 * if hid == -1:
8020 * self.retrieve_error() # <<<<<<<<<<<<<<
8021 * else:
8022 * self._val = XmmsValue(pyval = hid)
8023 */
8024 __pyx_t_3 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsVisResult *)__pyx_v_self->__pyx_base.__pyx_vtab)->retrieve_error(__pyx_v_self); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__8024; goto __pyx_L1_error;}
8025 __Pyx_GOTREF(__pyx_t_3);
8026 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
8027 goto __pyx_L5;
8028 }
8029 /*else*/ {
8030
8031 /* "xmmsapi.pyx":307
8032 * self.retrieve_error()
8033 * else:
8034 * self._val = XmmsValue(pyval = hid) # <<<<<<<<<<<<<<
8035 * return self._val
8036 *
8037 */
8038 __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__8038; goto __pyx_L1_error;}
8039 __Pyx_GOTREF(__pyx_t_3);
8040 __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_hid); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__8040; goto __pyx_L1_error;}
8041 __Pyx_GOTREF(__pyx_t_4);
8042 if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_pyval, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__8042; goto __pyx_L1_error;}
8043 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
8044 __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_9xmmsvalue_XmmsValue)), __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__8044; goto __pyx_L1_error;}
8045 __Pyx_GOTREF(__pyx_t_4);
8046 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
8047 __Pyx_GIVEREF(__pyx_t_4);
8048 __Pyx_GOTREF(__pyx_v_self->_val);
8049 __Pyx_DECREF(((PyObject *)__pyx_v_self->_val))do { if ( --((PyObject*)(((PyObject *)__pyx_v_self->_val))
)->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)((
(PyObject *)__pyx_v_self->_val))))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(((PyObject *)__pyx_v_self->_val
))))); } while (0)
;
8050 __pyx_v_self->_val = ((struct __pyx_obj_9xmmsvalue_XmmsValue *)__pyx_t_4);
8051 __pyx_t_4 = 0;
8052 }
8053 __pyx_L5:;
8054 goto __pyx_L3;
8055 }
8056 __pyx_L3:;
8057
8058 /* "xmmsapi.pyx":308
8059 * else:
8060 * self._val = XmmsValue(pyval = hid)
8061 * return self._val # <<<<<<<<<<<<<<
8062 *
8063 * cdef _start_xmmsvalue(self):
8064 */
8065 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
8066 __Pyx_INCREF(((PyObject *)__pyx_v_self->_val))( ((PyObject*)(((PyObject *)__pyx_v_self->_val)))->ob_refcnt
++)
;
8067 __pyx_r = ((PyObject *)__pyx_v_self->_val);
8068 goto __pyx_L0;
8069
8070 /* "xmmsapi.pyx":299
8071 * xmmsv_unref(errval)
8072 *
8073 * cdef _init_xmmsvalue(self): # <<<<<<<<<<<<<<
8074 * if self._val is None:
8075 * if self.res == NULL:
8076 */
8077
8078 /* function exit code */
8079 __pyx_L1_error:;
8080 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
8081 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
;
8082 __Pyx_AddTraceback("xmmsapi.XmmsVisResult._init_xmmsvalue", __pyx_clineno, __pyx_lineno, __pyx_filename);
8083 __pyx_r = 0;
8084 __pyx_L0:;
8085 __Pyx_XGIVEREF(__pyx_r);
8086 __Pyx_RefNannyFinishContext();
8087 return __pyx_r;
8088}
8089
8090/* "xmmsapi.pyx":310
8091 * return self._val
8092 *
8093 * cdef _start_xmmsvalue(self): # <<<<<<<<<<<<<<
8094 * if self._val is None:
8095 * if self.res == NULL:
8096 */
8097
8098static PyObject *__pyx_f_7xmmsapi_13XmmsVisResult__start_xmmsvalue(struct __pyx_obj_7xmmsapi_XmmsVisResult *__pyx_v_self) {
8099 PyObject *__pyx_v_xval = NULL((void*)0);
8100 PyObject *__pyx_r = NULL((void*)0);
8101 __Pyx_RefNannyDeclarations
8102 int __pyx_t_1;
8103 int __pyx_t_2;
8104 PyObject *__pyx_t_3 = NULL((void*)0);
8105 PyObject *__pyx_t_4 = NULL((void*)0);
8106 int __pyx_lineno = 0;
8107 const char *__pyx_filename = NULL((void*)0);
8108 int __pyx_clineno = 0;
8109 __Pyx_RefNannySetupContext("_start_xmmsvalue", 0);
8110
8111 /* "xmmsapi.pyx":311
8112 *
8113 * cdef _start_xmmsvalue(self):
8114 * if self._val is None: # <<<<<<<<<<<<<<
8115 * if self.res == NULL:
8116 * raise RuntimeError("Uninitialized result")
8117 */
8118 __pyx_t_1 = (((PyObject *)__pyx_v_self->_val) == Py_None(&_Py_NoneStruct));
8119 __pyx_t_2 = (__pyx_t_1 != 0);
8120 if (__pyx_t_2) {
8121
8122 /* "xmmsapi.pyx":312
8123 * cdef _start_xmmsvalue(self):
8124 * if self._val is None:
8125 * if self.res == NULL: # <<<<<<<<<<<<<<
8126 * raise RuntimeError("Uninitialized result")
8127 * xval = XmmsResult.xmmsvalue(self)
8128 */
8129 __pyx_t_2 = ((__pyx_v_self->__pyx_base.res == NULL((void*)0)) != 0);
8130 if (__pyx_t_2) {
8131
8132 /* "xmmsapi.pyx":313
8133 * if self._val is None:
8134 * if self.res == NULL:
8135 * raise RuntimeError("Uninitialized result") # <<<<<<<<<<<<<<
8136 * xval = XmmsResult.xmmsvalue(self)
8137 * if xval.is_error():
8138 */
8139 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__9, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__8139; goto __pyx_L1_error;}
8140 __Pyx_GOTREF(__pyx_t_3);
8141 __Pyx_Raise(__pyx_t_3, 0, 0, 0);
8142 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
8143 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__8143; goto __pyx_L1_error;}
8144 }
8145
8146 /* "xmmsapi.pyx":314
8147 * if self.res == NULL:
8148 * raise RuntimeError("Uninitialized result")
8149 * xval = XmmsResult.xmmsvalue(self) # <<<<<<<<<<<<<<
8150 * if xval.is_error():
8151 * self._val = xval
8152 */
8153 __pyx_t_3 = __pyx_vtabptr_7xmmsapi_XmmsResult->xmmsvalue(((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_v_self), 1); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__8153; goto __pyx_L1_error;}
8154 __Pyx_GOTREF(__pyx_t_3);
8155 __pyx_v_xval = __pyx_t_3;
8156 __pyx_t_3 = 0;
8157
8158 /* "xmmsapi.pyx":315
8159 * raise RuntimeError("Uninitialized result")
8160 * xval = XmmsResult.xmmsvalue(self)
8161 * if xval.is_error(): # <<<<<<<<<<<<<<
8162 * self._val = xval
8163 * elif self.conn == NULL:
8164 */
8165 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_xval, __pyx_n_s_is_error); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__8165; goto __pyx_L1_error;}
8166 __Pyx_GOTREF(__pyx_t_3);
8167 __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__8167; goto __pyx_L1_error;}
8168 __Pyx_GOTREF(__pyx_t_4);
8169 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
8170 __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)__builtin_expect(!!(__pyx_t_2 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__8170; goto __pyx_L1_error;}
8171 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
8172 if (__pyx_t_2) {
8173
8174 /* "xmmsapi.pyx":316
8175 * xval = XmmsResult.xmmsvalue(self)
8176 * if xval.is_error():
8177 * self._val = xval # <<<<<<<<<<<<<<
8178 * elif self.conn == NULL:
8179 * raise RuntimeError("Internal connection reference not set")
8180 */
8181 if (!(likely(((__pyx_v_xval) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_xval, __pyx_ptype_9xmmsvalue_XmmsValue)))__builtin_expect(!!(((__pyx_v_xval) == (&_Py_NoneStruct))
|| __builtin_expect(!!(__Pyx_TypeTest(__pyx_v_xval, __pyx_ptype_9xmmsvalue_XmmsValue
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__8181; goto __pyx_L1_error;}
8182 __pyx_t_4 = __pyx_v_xval;
8183 __Pyx_INCREF(__pyx_t_4)( ((PyObject*)(__pyx_t_4))->ob_refcnt++);
8184 __Pyx_GIVEREF(__pyx_t_4);
8185 __Pyx_GOTREF(__pyx_v_self->_val);
8186 __Pyx_DECREF(((PyObject *)__pyx_v_self->_val))do { if ( --((PyObject*)(((PyObject *)__pyx_v_self->_val))
)->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)((
(PyObject *)__pyx_v_self->_val))))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(((PyObject *)__pyx_v_self->_val
))))); } while (0)
;
8187 __pyx_v_self->_val = ((struct __pyx_obj_9xmmsvalue_XmmsValue *)__pyx_t_4);
8188 __pyx_t_4 = 0;
8189 goto __pyx_L5;
8190 }
8191
8192 /* "xmmsapi.pyx":317
8193 * if xval.is_error():
8194 * self._val = xval
8195 * elif self.conn == NULL: # <<<<<<<<<<<<<<
8196 * raise RuntimeError("Internal connection reference not set")
8197 * else:
8198 */
8199 __pyx_t_2 = ((__pyx_v_self->conn == NULL((void*)0)) != 0);
8200 if (__pyx_t_2) {
8201
8202 /* "xmmsapi.pyx":318
8203 * self._val = xval
8204 * elif self.conn == NULL:
8205 * raise RuntimeError("Internal connection reference not set") # <<<<<<<<<<<<<<
8206 * else:
8207 * xmmsc_visualization_start_handle(self.conn, self.res)
8208 */
8209 __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__10, NULL((void*)0)); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__8209; goto __pyx_L1_error;}
8210 __Pyx_GOTREF(__pyx_t_4);
8211 __Pyx_Raise(__pyx_t_4, 0, 0, 0);
8212 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
8213 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__8213; goto __pyx_L1_error;}
8214 }
8215 /*else*/ {
8216
8217 /* "xmmsapi.pyx":320
8218 * raise RuntimeError("Internal connection reference not set")
8219 * else:
8220 * xmmsc_visualization_start_handle(self.conn, self.res) # <<<<<<<<<<<<<<
8221 * self._val = XmmsValue(pyval = None)
8222 * return self._val
8223 */
8224 xmmsc_visualization_start_handle(__pyx_v_self->conn, __pyx_v_self->__pyx_base.res);
8225
8226 /* "xmmsapi.pyx":321
8227 * else:
8228 * xmmsc_visualization_start_handle(self.conn, self.res)
8229 * self._val = XmmsValue(pyval = None) # <<<<<<<<<<<<<<
8230 * return self._val
8231 *
8232 */
8233 __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__8233; goto __pyx_L1_error;}
8234 __Pyx_GOTREF(__pyx_t_4);
8235 if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_pyval, Py_None(&_Py_NoneStruct)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__8235; goto __pyx_L1_error;}
8236 __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_9xmmsvalue_XmmsValue)), __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__8236; goto __pyx_L1_error;}
8237 __Pyx_GOTREF(__pyx_t_3);
8238 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
8239 __Pyx_GIVEREF(__pyx_t_3);
8240 __Pyx_GOTREF(__pyx_v_self->_val);
8241 __Pyx_DECREF(((PyObject *)__pyx_v_self->_val))do { if ( --((PyObject*)(((PyObject *)__pyx_v_self->_val))
)->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)((
(PyObject *)__pyx_v_self->_val))))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(((PyObject *)__pyx_v_self->_val
))))); } while (0)
;
8242 __pyx_v_self->_val = ((struct __pyx_obj_9xmmsvalue_XmmsValue *)__pyx_t_3);
8243 __pyx_t_3 = 0;
8244 }
8245 __pyx_L5:;
8246 goto __pyx_L3;
8247 }
8248 __pyx_L3:;
8249
8250 /* "xmmsapi.pyx":322
8251 * xmmsc_visualization_start_handle(self.conn, self.res)
8252 * self._val = XmmsValue(pyval = None)
8253 * return self._val # <<<<<<<<<<<<<<
8254 *
8255 * cpdef xmmsvalue(self):
8256 */
8257 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
8258 __Pyx_INCREF(((PyObject *)__pyx_v_self->_val))( ((PyObject*)(((PyObject *)__pyx_v_self->_val)))->ob_refcnt
++)
;
8259 __pyx_r = ((PyObject *)__pyx_v_self->_val);
8260 goto __pyx_L0;
8261
8262 /* "xmmsapi.pyx":310
8263 * return self._val
8264 *
8265 * cdef _start_xmmsvalue(self): # <<<<<<<<<<<<<<
8266 * if self._val is None:
8267 * if self.res == NULL:
8268 */
8269
8270 /* function exit code */
8271 __pyx_L1_error:;
8272 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
8273 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
;
8274 __Pyx_AddTraceback("xmmsapi.XmmsVisResult._start_xmmsvalue", __pyx_clineno, __pyx_lineno, __pyx_filename);
8275 __pyx_r = 0;
8276 __pyx_L0:;
8277 __Pyx_XDECREF(__pyx_v_xval)do { if ((__pyx_v_xval) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_xval))->ob_refcnt != 0) ; else ( (*(((PyObject*
)((PyObject *)(__pyx_v_xval)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(__pyx_v_xval)))); } while (0); } while
(0)
;
8278 __Pyx_XGIVEREF(__pyx_r);
8279 __Pyx_RefNannyFinishContext();
8280 return __pyx_r;
8281}
8282
8283/* "xmmsapi.pyx":324
8284 * return self._val
8285 *
8286 * cpdef xmmsvalue(self): # <<<<<<<<<<<<<<
8287 * if self.command == VIS_RESULT_CMD_INIT:
8288 * return self._init_xmmsvalue()
8289 */
8290
8291static PyObject *__pyx_pw_7xmmsapi_13XmmsVisResult_5xmmsvalue(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
8292static PyObject *__pyx_f_7xmmsapi_13XmmsVisResult_xmmsvalue(struct __pyx_obj_7xmmsapi_XmmsVisResult *__pyx_v_self, int __pyx_skip_dispatch) {
8293 PyObject *__pyx_r = NULL((void*)0);
8294 __Pyx_RefNannyDeclarations
8295 PyObject *__pyx_t_1 = NULL((void*)0);
8296 PyObject *__pyx_t_2 = NULL((void*)0);
8297 int __pyx_lineno = 0;
8298 const char *__pyx_filename = NULL((void*)0);
8299 int __pyx_clineno = 0;
8300 __Pyx_RefNannySetupContext("xmmsvalue", 0);
8301 /* Check if called by wrapper */
8302 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
8303 /* Check if overridden in Python */
8304 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
8305 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_xmmsvalue); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__8305; goto __pyx_L1_error;}
8306 __Pyx_GOTREF(__pyx_t_1);
8307 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_13XmmsVisResult_5xmmsvalue)) {
8308 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
8309 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__8309; goto __pyx_L1_error;}
8310 __Pyx_GOTREF(__pyx_t_2);
8311 __pyx_r = __pyx_t_2;
8312 __pyx_t_2 = 0;
8313 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
8314 goto __pyx_L0;
8315 }
8316 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
8317 }
8318
8319 /* "xmmsapi.pyx":327
8320 * if self.command == VIS_RESULT_CMD_INIT:
8321 * return self._init_xmmsvalue()
8322 * elif self.command == VIS_RESULT_CMD_START: # <<<<<<<<<<<<<<
8323 * return self._start_xmmsvalue()
8324 * else:
8325 */
8326 switch (__pyx_v_self->command) {
8327
8328 /* "xmmsapi.pyx":325
8329 *
8330 * cpdef xmmsvalue(self):
8331 * if self.command == VIS_RESULT_CMD_INIT: # <<<<<<<<<<<<<<
8332 * return self._init_xmmsvalue()
8333 * elif self.command == VIS_RESULT_CMD_START:
8334 */
8335 case __pyx_e_7xmmsapi_VIS_RESULT_CMD_INIT:
8336
8337 /* "xmmsapi.pyx":326
8338 * cpdef xmmsvalue(self):
8339 * if self.command == VIS_RESULT_CMD_INIT:
8340 * return self._init_xmmsvalue() # <<<<<<<<<<<<<<
8341 * elif self.command == VIS_RESULT_CMD_START:
8342 * return self._start_xmmsvalue()
8343 */
8344 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
8345 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsVisResult *)__pyx_v_self->__pyx_base.__pyx_vtab)->_init_xmmsvalue(__pyx_v_self); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__8345; goto __pyx_L1_error;}
8346 __Pyx_GOTREF(__pyx_t_1);
8347 __pyx_r = __pyx_t_1;
8348 __pyx_t_1 = 0;
8349 goto __pyx_L0;
8350 break;
8351
8352 /* "xmmsapi.pyx":327
8353 * if self.command == VIS_RESULT_CMD_INIT:
8354 * return self._init_xmmsvalue()
8355 * elif self.command == VIS_RESULT_CMD_START: # <<<<<<<<<<<<<<
8356 * return self._start_xmmsvalue()
8357 * else:
8358 */
8359 case __pyx_e_7xmmsapi_VIS_RESULT_CMD_START:
8360
8361 /* "xmmsapi.pyx":328
8362 * return self._init_xmmsvalue()
8363 * elif self.command == VIS_RESULT_CMD_START:
8364 * return self._start_xmmsvalue() # <<<<<<<<<<<<<<
8365 * else:
8366 * # XXX Raise an exception ?
8367 */
8368 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
8369 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsVisResult *)__pyx_v_self->__pyx_base.__pyx_vtab)->_start_xmmsvalue(__pyx_v_self); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__8369; goto __pyx_L1_error;}
8370 __Pyx_GOTREF(__pyx_t_1);
8371 __pyx_r = __pyx_t_1;
8372 __pyx_t_1 = 0;
8373 goto __pyx_L0;
8374 break;
8375 default:
8376
8377 /* "xmmsapi.pyx":331
8378 * else:
8379 * # XXX Raise an exception ?
8380 * return XmmsResult.xmmsvalue(self) # <<<<<<<<<<<<<<
8381 *
8382 * cdef class XmmsVisChunk:
8383 */
8384 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
8385 __pyx_t_1 = __pyx_vtabptr_7xmmsapi_XmmsResult->xmmsvalue(((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_v_self), 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__8385; goto __pyx_L1_error;}
8386 __Pyx_GOTREF(__pyx_t_1);
8387 __pyx_r = __pyx_t_1;
8388 __pyx_t_1 = 0;
8389 goto __pyx_L0;
8390 break;
8391 }
8392
8393 /* "xmmsapi.pyx":324
8394 * return self._val
8395 *
8396 * cpdef xmmsvalue(self): # <<<<<<<<<<<<<<
8397 * if self.command == VIS_RESULT_CMD_INIT:
8398 * return self._init_xmmsvalue()
8399 */
8400
8401 /* function exit code */
8402 __pyx_L1_error:;
8403 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
8404 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
8405 __Pyx_AddTraceback("xmmsapi.XmmsVisResult.xmmsvalue", __pyx_clineno, __pyx_lineno, __pyx_filename);
8406 __pyx_r = 0;
8407 __pyx_L0:;
8408 __Pyx_XGIVEREF(__pyx_r);
8409 __Pyx_RefNannyFinishContext();
8410 return __pyx_r;
8411}
8412
8413/* Python wrapper */
8414static PyObject *__pyx_pw_7xmmsapi_13XmmsVisResult_5xmmsvalue(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
8415static char __pyx_doc_7xmmsapi_13XmmsVisResult_4xmmsvalue[] = "XmmsVisResult.xmmsvalue(self)";
8416static PyObject *__pyx_pw_7xmmsapi_13XmmsVisResult_5xmmsvalue(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
8417 PyObject *__pyx_r = 0;
8418 __Pyx_RefNannyDeclarations
8419 __Pyx_RefNannySetupContext("xmmsvalue (wrapper)", 0);
8420 __pyx_r = __pyx_pf_7xmmsapi_13XmmsVisResult_4xmmsvalue(((struct __pyx_obj_7xmmsapi_XmmsVisResult *)__pyx_v_self));
8421
8422 /* function exit code */
8423 __Pyx_RefNannyFinishContext();
8424 return __pyx_r;
8425}
8426
8427static PyObject *__pyx_pf_7xmmsapi_13XmmsVisResult_4xmmsvalue(struct __pyx_obj_7xmmsapi_XmmsVisResult *__pyx_v_self) {
8428 PyObject *__pyx_r = NULL((void*)0);
8429 __Pyx_RefNannyDeclarations
8430 PyObject *__pyx_t_1 = NULL((void*)0);
8431 int __pyx_lineno = 0;
8432 const char *__pyx_filename = NULL((void*)0);
8433 int __pyx_clineno = 0;
8434 __Pyx_RefNannySetupContext("xmmsvalue", 0);
8435 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
8436 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsVisResult *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.xmmsvalue(((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_v_self), 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__8436; goto __pyx_L1_error;}
8437 __Pyx_GOTREF(__pyx_t_1);
8438 __pyx_r = __pyx_t_1;
8439 __pyx_t_1 = 0;
8440 goto __pyx_L0;
8441
8442 /* function exit code */
8443 __pyx_L1_error:;
8444 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
8445 __Pyx_AddTraceback("xmmsapi.XmmsVisResult.xmmsvalue", __pyx_clineno, __pyx_lineno, __pyx_filename);
8446 __pyx_r = NULL((void*)0);
8447 __pyx_L0:;
8448 __Pyx_XGIVEREF(__pyx_r);
8449 __Pyx_RefNannyFinishContext();
8450 return __pyx_r;
8451}
8452
8453/* "xmmsapi.pyx":337
8454 * #cdef int sample_count
8455 *
8456 * def __cinit__(self): # <<<<<<<<<<<<<<
8457 * self.data = NULL
8458 * self.sample_count = 0
8459 */
8460
8461/* Python wrapper */
8462static int __pyx_pw_7xmmsapi_12XmmsVisChunk_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
8463static int __pyx_pw_7xmmsapi_12XmmsVisChunk_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
8464 int __pyx_r;
8465 __Pyx_RefNannyDeclarations
8466 __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
8467 if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)__builtin_expect(!!((((PyVarObject*)(__pyx_args))->ob_size
) > 0), 0)
) {
8468 __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); return -1;}
8469 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0) && unlikely(PyDict_Size(__pyx_kwds) > 0)__builtin_expect(!!(PyDict_Size(__pyx_kwds) > 0), 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))__builtin_expect(!!(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__"
, 0)), 0)
) return -1;
8470 __pyx_r = __pyx_pf_7xmmsapi_12XmmsVisChunk___cinit__(((struct __pyx_obj_7xmmsapi_XmmsVisChunk *)__pyx_v_self));
8471
8472 /* function exit code */
8473 __Pyx_RefNannyFinishContext();
8474 return __pyx_r;
8475}
8476
8477static int __pyx_pf_7xmmsapi_12XmmsVisChunk___cinit__(struct __pyx_obj_7xmmsapi_XmmsVisChunk *__pyx_v_self) {
8478 int __pyx_r;
8479 __Pyx_RefNannyDeclarations
8480 __Pyx_RefNannySetupContext("__cinit__", 0);
8481
8482 /* "xmmsapi.pyx":338
8483 *
8484 * def __cinit__(self):
8485 * self.data = NULL # <<<<<<<<<<<<<<
8486 * self.sample_count = 0
8487 *
8488 */
8489 __pyx_v_self->data = NULL((void*)0);
8490
8491 /* "xmmsapi.pyx":339
8492 * def __cinit__(self):
8493 * self.data = NULL
8494 * self.sample_count = 0 # <<<<<<<<<<<<<<
8495 *
8496 * def __dealloc__(self):
8497 */
8498 __pyx_v_self->sample_count = 0;
8499
8500 /* "xmmsapi.pyx":337
8501 * #cdef int sample_count
8502 *
8503 * def __cinit__(self): # <<<<<<<<<<<<<<
8504 * self.data = NULL
8505 * self.sample_count = 0
8506 */
8507
8508 /* function exit code */
8509 __pyx_r = 0;
8510 __Pyx_RefNannyFinishContext();
8511 return __pyx_r;
8512}
8513
8514/* "xmmsapi.pyx":341
8515 * self.sample_count = 0
8516 *
8517 * def __dealloc__(self): # <<<<<<<<<<<<<<
8518 * if self.data != NULL:
8519 * PyMem_Free(self.data)
8520 */
8521
8522/* Python wrapper */
8523static void __pyx_pw_7xmmsapi_12XmmsVisChunk_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
8524static void __pyx_pw_7xmmsapi_12XmmsVisChunk_3__dealloc__(PyObject *__pyx_v_self) {
8525 __Pyx_RefNannyDeclarations
8526 __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
8527 __pyx_pf_7xmmsapi_12XmmsVisChunk_2__dealloc__(((struct __pyx_obj_7xmmsapi_XmmsVisChunk *)__pyx_v_self));
8528
8529 /* function exit code */
8530 __Pyx_RefNannyFinishContext();
8531}
8532
8533static void __pyx_pf_7xmmsapi_12XmmsVisChunk_2__dealloc__(struct __pyx_obj_7xmmsapi_XmmsVisChunk *__pyx_v_self) {
8534 __Pyx_RefNannyDeclarations
8535 int __pyx_t_1;
8536 __Pyx_RefNannySetupContext("__dealloc__", 0);
8537
8538 /* "xmmsapi.pyx":342
8539 *
8540 * def __dealloc__(self):
8541 * if self.data != NULL: # <<<<<<<<<<<<<<
8542 * PyMem_Free(self.data)
8543 *
8544 */
8545 __pyx_t_1 = ((__pyx_v_self->data != NULL((void*)0)) != 0);
8546 if (__pyx_t_1) {
8547
8548 /* "xmmsapi.pyx":343
8549 * def __dealloc__(self):
8550 * if self.data != NULL:
8551 * PyMem_Free(self.data) # <<<<<<<<<<<<<<
8552 *
8553 * cdef set_data(self, short *data, int sample_count):
8554 */
8555 PyMem_Free(__pyx_v_self->data);
8556 goto __pyx_L3;
8557 }
8558 __pyx_L3:;
8559
8560 /* "xmmsapi.pyx":341
8561 * self.sample_count = 0
8562 *
8563 * def __dealloc__(self): # <<<<<<<<<<<<<<
8564 * if self.data != NULL:
8565 * PyMem_Free(self.data)
8566 */
8567
8568 /* function exit code */
8569 __Pyx_RefNannyFinishContext();
8570}
8571
8572/* "xmmsapi.pyx":345
8573 * PyMem_Free(self.data)
8574 *
8575 * cdef set_data(self, short *data, int sample_count): # <<<<<<<<<<<<<<
8576 * if self.data != NULL:
8577 * PyMem_Free(self.data)
8578 */
8579
8580static PyObject *__pyx_f_7xmmsapi_12XmmsVisChunk_set_data(struct __pyx_obj_7xmmsapi_XmmsVisChunk *__pyx_v_self, short *__pyx_v_data, int __pyx_v_sample_count) {
8581 int __pyx_v_i;
8582 PyObject *__pyx_r = NULL((void*)0);
8583 __Pyx_RefNannyDeclarations
8584 int __pyx_t_1;
8585 PyObject *__pyx_t_2 = NULL((void*)0);
8586 int __pyx_t_3;
8587 int __pyx_t_4;
8588 int __pyx_lineno = 0;
8589 const char *__pyx_filename = NULL((void*)0);
8590 int __pyx_clineno = 0;
8591 __Pyx_RefNannySetupContext("set_data", 0);
8592
8593 /* "xmmsapi.pyx":346
8594 *
8595 * cdef set_data(self, short *data, int sample_count):
8596 * if self.data != NULL: # <<<<<<<<<<<<<<
8597 * PyMem_Free(self.data)
8598 * self.sample_count = 0
8599 */
8600 __pyx_t_1 = ((__pyx_v_self->data != NULL((void*)0)) != 0);
8601 if (__pyx_t_1) {
8602
8603 /* "xmmsapi.pyx":347
8604 * cdef set_data(self, short *data, int sample_count):
8605 * if self.data != NULL:
8606 * PyMem_Free(self.data) # <<<<<<<<<<<<<<
8607 * self.sample_count = 0
8608 * self.data = <short *>PyMem_Malloc(sizeof (short) * sample_count)
8609 */
8610 PyMem_Free(__pyx_v_self->data);
8611
8612 /* "xmmsapi.pyx":348
8613 * if self.data != NULL:
8614 * PyMem_Free(self.data)
8615 * self.sample_count = 0 # <<<<<<<<<<<<<<
8616 * self.data = <short *>PyMem_Malloc(sizeof (short) * sample_count)
8617 * if self.data == NULL:
8618 */
8619 __pyx_v_self->sample_count = 0;
8620 goto __pyx_L3;
8621 }
8622 __pyx_L3:;
8623
8624 /* "xmmsapi.pyx":349
8625 * PyMem_Free(self.data)
8626 * self.sample_count = 0
8627 * self.data = <short *>PyMem_Malloc(sizeof (short) * sample_count) # <<<<<<<<<<<<<<
8628 * if self.data == NULL:
8629 * raise RuntimeError("Failed to initialize chunk data")
8630 */
8631 __pyx_v_self->data = ((short *)PyMem_Malloc(((sizeof(short)) * __pyx_v_sample_count)));
8632
8633 /* "xmmsapi.pyx":350
8634 * self.sample_count = 0
8635 * self.data = <short *>PyMem_Malloc(sizeof (short) * sample_count)
8636 * if self.data == NULL: # <<<<<<<<<<<<<<
8637 * raise RuntimeError("Failed to initialize chunk data")
8638 * for i in range(sample_count):
8639 */
8640 __pyx_t_1 = ((__pyx_v_self->data == NULL((void*)0)) != 0);
8641 if (__pyx_t_1) {
8642
8643 /* "xmmsapi.pyx":351
8644 * self.data = <short *>PyMem_Malloc(sizeof (short) * sample_count)
8645 * if self.data == NULL:
8646 * raise RuntimeError("Failed to initialize chunk data") # <<<<<<<<<<<<<<
8647 * for i in range(sample_count):
8648 * self.data[i] = data[i]
8649 */
8650 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__11, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__8650; goto __pyx_L1_error;}
8651 __Pyx_GOTREF(__pyx_t_2);
8652 __Pyx_Raise(__pyx_t_2, 0, 0, 0);
8653 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
8654 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__8654; goto __pyx_L1_error;}
8655 }
8656
8657 /* "xmmsapi.pyx":352
8658 * if self.data == NULL:
8659 * raise RuntimeError("Failed to initialize chunk data")
8660 * for i in range(sample_count): # <<<<<<<<<<<<<<
8661 * self.data[i] = data[i]
8662 * self.sample_count = sample_count
8663 */
8664 __pyx_t_3 = __pyx_v_sample_count;
8665 for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
8666 __pyx_v_i = __pyx_t_4;
8667
8668 /* "xmmsapi.pyx":353
8669 * raise RuntimeError("Failed to initialize chunk data")
8670 * for i in range(sample_count):
8671 * self.data[i] = data[i] # <<<<<<<<<<<<<<
8672 * self.sample_count = sample_count
8673 *
8674 */
8675 (__pyx_v_self->data[__pyx_v_i]) = (__pyx_v_data[__pyx_v_i]);
8676 }
8677
8678 /* "xmmsapi.pyx":354
8679 * for i in range(sample_count):
8680 * self.data[i] = data[i]
8681 * self.sample_count = sample_count # <<<<<<<<<<<<<<
8682 *
8683 * def __len__(self):
8684 */
8685 __pyx_v_self->sample_count = __pyx_v_sample_count;
8686
8687 /* "xmmsapi.pyx":345
8688 * PyMem_Free(self.data)
8689 *
8690 * cdef set_data(self, short *data, int sample_count): # <<<<<<<<<<<<<<
8691 * if self.data != NULL:
8692 * PyMem_Free(self.data)
8693 */
8694
8695 /* function exit code */
8696 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
8697 goto __pyx_L0;
8698 __pyx_L1_error:;
8699 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
8700 __Pyx_AddTraceback("xmmsapi.XmmsVisChunk.set_data", __pyx_clineno, __pyx_lineno, __pyx_filename);
8701 __pyx_r = 0;
8702 __pyx_L0:;
8703 __Pyx_XGIVEREF(__pyx_r);
8704 __Pyx_RefNannyFinishContext();
8705 return __pyx_r;
8706}
8707
8708/* "xmmsapi.pyx":356
8709 * self.sample_count = sample_count
8710 *
8711 * def __len__(self): # <<<<<<<<<<<<<<
8712 * return self.sample_count
8713 *
8714 */
8715
8716/* Python wrapper */
8717static Py_ssize_t __pyx_pw_7xmmsapi_12XmmsVisChunk_5__len__(PyObject *__pyx_v_self); /*proto*/
8718static Py_ssize_t __pyx_pw_7xmmsapi_12XmmsVisChunk_5__len__(PyObject *__pyx_v_self) {
8719 Py_ssize_t __pyx_r;
8720 __Pyx_RefNannyDeclarations
8721 __Pyx_RefNannySetupContext("__len__ (wrapper)", 0);
8722 __pyx_r = __pyx_pf_7xmmsapi_12XmmsVisChunk_4__len__(((struct __pyx_obj_7xmmsapi_XmmsVisChunk *)__pyx_v_self));
8723
8724 /* function exit code */
8725 __Pyx_RefNannyFinishContext();
8726 return __pyx_r;
8727}
8728
8729static Py_ssize_t __pyx_pf_7xmmsapi_12XmmsVisChunk_4__len__(struct __pyx_obj_7xmmsapi_XmmsVisChunk *__pyx_v_self) {
8730 Py_ssize_t __pyx_r;
8731 __Pyx_RefNannyDeclarations
8732 __Pyx_RefNannySetupContext("__len__", 0);
8733
8734 /* "xmmsapi.pyx":357
8735 *
8736 * def __len__(self):
8737 * return self.sample_count # <<<<<<<<<<<<<<
8738 *
8739 * cpdef get_buffer(self):
8740 */
8741 __pyx_r = __pyx_v_self->sample_count;
8742 goto __pyx_L0;
8743
8744 /* "xmmsapi.pyx":356
8745 * self.sample_count = sample_count
8746 *
8747 * def __len__(self): # <<<<<<<<<<<<<<
8748 * return self.sample_count
8749 *
8750 */
8751
8752 /* function exit code */
8753 __pyx_L0:;
8754 __Pyx_RefNannyFinishContext();
8755 return __pyx_r;
8756}
8757
8758/* "xmmsapi.pyx":359
8759 * return self.sample_count
8760 *
8761 * cpdef get_buffer(self): # <<<<<<<<<<<<<<
8762 * """
8763 * Get the chunk buffer
8764 */
8765
8766static PyObject *__pyx_pw_7xmmsapi_12XmmsVisChunk_7get_buffer(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
8767static PyObject *__pyx_f_7xmmsapi_12XmmsVisChunk_get_buffer(struct __pyx_obj_7xmmsapi_XmmsVisChunk *__pyx_v_self, int __pyx_skip_dispatch) {
8768 PyObject *__pyx_r = NULL((void*)0);
8769 __Pyx_RefNannyDeclarations
8770 PyObject *__pyx_t_1 = NULL((void*)0);
8771 PyObject *__pyx_t_2 = NULL((void*)0);
8772 int __pyx_t_3;
8773 int __pyx_lineno = 0;
8774 const char *__pyx_filename = NULL((void*)0);
8775 int __pyx_clineno = 0;
8776 __Pyx_RefNannySetupContext("get_buffer", 0);
8777 /* Check if called by wrapper */
8778 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
8779 /* Check if overridden in Python */
8780 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
8781 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_buffer); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__8781; goto __pyx_L1_error;}
8782 __Pyx_GOTREF(__pyx_t_1);
8783 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_12XmmsVisChunk_7get_buffer)) {
8784 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
8785 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__8785; goto __pyx_L1_error;}
8786 __Pyx_GOTREF(__pyx_t_2);
8787 __pyx_r = __pyx_t_2;
8788 __pyx_t_2 = 0;
8789 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
8790 goto __pyx_L0;
8791 }
8792 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
8793 }
8794
8795 /* "xmmsapi.pyx":365
8796 * @return chunk data as a string
8797 * """
8798 * if self.data == NULL: # <<<<<<<<<<<<<<
8799 * raise RuntimeError("chunk data not initialized")
8800 * return PyBytes_FromStringAndSize(<char *>self.data, sizeof (short) * self.sample_count)
8801 */
8802 __pyx_t_3 = ((__pyx_v_self->data == NULL((void*)0)) != 0);
8803 if (__pyx_t_3) {
8804
8805 /* "xmmsapi.pyx":366
8806 * """
8807 * if self.data == NULL:
8808 * raise RuntimeError("chunk data not initialized") # <<<<<<<<<<<<<<
8809 * return PyBytes_FromStringAndSize(<char *>self.data, sizeof (short) * self.sample_count)
8810 *
8811 */
8812 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__12, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__8812; goto __pyx_L1_error;}
8813 __Pyx_GOTREF(__pyx_t_1);
8814 __Pyx_Raise(__pyx_t_1, 0, 0, 0);
8815 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
8816 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__8816; goto __pyx_L1_error;}
8817 }
8818
8819 /* "xmmsapi.pyx":367
8820 * if self.data == NULL:
8821 * raise RuntimeError("chunk data not initialized")
8822 * return PyBytes_FromStringAndSize(<char *>self.data, sizeof (short) * self.sample_count) # <<<<<<<<<<<<<<
8823 *
8824 * cpdef get_data(self):
8825 */
8826 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
8827 __pyx_t_1 = PyBytes_FromStringAndSizePyString_FromStringAndSize(((char *)__pyx_v_self->data), ((sizeof(short)) * __pyx_v_self->sample_count)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__8827; goto __pyx_L1_error;}
8828 __Pyx_GOTREF(__pyx_t_1);
8829 __pyx_r = __pyx_t_1;
8830 __pyx_t_1 = 0;
8831 goto __pyx_L0;
8832
8833 /* "xmmsapi.pyx":359
8834 * return self.sample_count
8835 *
8836 * cpdef get_buffer(self): # <<<<<<<<<<<<<<
8837 * """
8838 * Get the chunk buffer
8839 */
8840
8841 /* function exit code */
8842 __pyx_L1_error:;
8843 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
8844 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
8845 __Pyx_AddTraceback("xmmsapi.XmmsVisChunk.get_buffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
8846 __pyx_r = 0;
8847 __pyx_L0:;
8848 __Pyx_XGIVEREF(__pyx_r);
8849 __Pyx_RefNannyFinishContext();
8850 return __pyx_r;
8851}
8852
8853/* Python wrapper */
8854static PyObject *__pyx_pw_7xmmsapi_12XmmsVisChunk_7get_buffer(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
8855static char __pyx_doc_7xmmsapi_12XmmsVisChunk_6get_buffer[] = "XmmsVisChunk.get_buffer(self)\n\n\t\tGet the chunk buffer\n\t\t@rtype: L{bytes}\n\t\t@return chunk data as a string\n\t\t";
8856static PyObject *__pyx_pw_7xmmsapi_12XmmsVisChunk_7get_buffer(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
8857 PyObject *__pyx_r = 0;
8858 __Pyx_RefNannyDeclarations
8859 __Pyx_RefNannySetupContext("get_buffer (wrapper)", 0);
8860 __pyx_r = __pyx_pf_7xmmsapi_12XmmsVisChunk_6get_buffer(((struct __pyx_obj_7xmmsapi_XmmsVisChunk *)__pyx_v_self));
8861
8862 /* function exit code */
8863 __Pyx_RefNannyFinishContext();
8864 return __pyx_r;
8865}
8866
8867static PyObject *__pyx_pf_7xmmsapi_12XmmsVisChunk_6get_buffer(struct __pyx_obj_7xmmsapi_XmmsVisChunk *__pyx_v_self) {
8868 PyObject *__pyx_r = NULL((void*)0);
8869 __Pyx_RefNannyDeclarations
8870 PyObject *__pyx_t_1 = NULL((void*)0);
8871 int __pyx_lineno = 0;
8872 const char *__pyx_filename = NULL((void*)0);
8873 int __pyx_clineno = 0;
8874 __Pyx_RefNannySetupContext("get_buffer", 0);
8875 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
8876 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsVisChunk *)__pyx_v_self->__pyx_vtab)->get_buffer(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__8876; goto __pyx_L1_error;}
8877 __Pyx_GOTREF(__pyx_t_1);
8878 __pyx_r = __pyx_t_1;
8879 __pyx_t_1 = 0;
8880 goto __pyx_L0;
8881
8882 /* function exit code */
8883 __pyx_L1_error:;
8884 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
8885 __Pyx_AddTraceback("xmmsapi.XmmsVisChunk.get_buffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
8886 __pyx_r = NULL((void*)0);
8887 __pyx_L0:;
8888 __Pyx_XGIVEREF(__pyx_r);
8889 __Pyx_RefNannyFinishContext();
8890 return __pyx_r;
8891}
8892
8893/* "xmmsapi.pyx":369
8894 * return PyBytes_FromStringAndSize(<char *>self.data, sizeof (short) * self.sample_count)
8895 *
8896 * cpdef get_data(self): # <<<<<<<<<<<<<<
8897 * """
8898 * Get chunk data as a list.
8899 */
8900
8901static PyObject *__pyx_pw_7xmmsapi_12XmmsVisChunk_9get_data(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
8902static PyObject *__pyx_f_7xmmsapi_12XmmsVisChunk_get_data(struct __pyx_obj_7xmmsapi_XmmsVisChunk *__pyx_v_self, int __pyx_skip_dispatch) {
8903 int __pyx_v_i;
8904 PyObject *__pyx_r = NULL((void*)0);
8905 __Pyx_RefNannyDeclarations
8906 PyObject *__pyx_t_1 = NULL((void*)0);
8907 PyObject *__pyx_t_2 = NULL((void*)0);
8908 int __pyx_t_3;
8909 int __pyx_t_4;
8910 int __pyx_t_5;
8911 int __pyx_lineno = 0;
8912 const char *__pyx_filename = NULL((void*)0);
8913 int __pyx_clineno = 0;
8914 __Pyx_RefNannySetupContext("get_data", 0);
8915 /* Check if called by wrapper */
8916 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
8917 /* Check if overridden in Python */
8918 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
8919 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_data); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__8919; goto __pyx_L1_error;}
8920 __Pyx_GOTREF(__pyx_t_1);
8921 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_12XmmsVisChunk_9get_data)) {
8922 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
8923 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__8923; goto __pyx_L1_error;}
8924 __Pyx_GOTREF(__pyx_t_2);
8925 __pyx_r = __pyx_t_2;
8926 __pyx_t_2 = 0;
8927 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
8928 goto __pyx_L0;
8929 }
8930 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
8931 }
8932
8933 /* "xmmsapi.pyx":375
8934 * @return A list of int
8935 * """
8936 * if self.data == NULL: # <<<<<<<<<<<<<<
8937 * raise RuntimeError("chunk data not initialized")
8938 * return [<int>self.data[i] for i in range(self.sample_count)]
8939 */
8940 __pyx_t_3 = ((__pyx_v_self->data == NULL((void*)0)) != 0);
8941 if (__pyx_t_3) {
8942
8943 /* "xmmsapi.pyx":376
8944 * """
8945 * if self.data == NULL:
8946 * raise RuntimeError("chunk data not initialized") # <<<<<<<<<<<<<<
8947 * return [<int>self.data[i] for i in range(self.sample_count)]
8948 *
8949 */
8950 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__13, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__8950; goto __pyx_L1_error;}
8951 __Pyx_GOTREF(__pyx_t_1);
8952 __Pyx_Raise(__pyx_t_1, 0, 0, 0);
8953 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
8954 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__8954; goto __pyx_L1_error;}
8955 }
8956
8957 /* "xmmsapi.pyx":377
8958 * if self.data == NULL:
8959 * raise RuntimeError("chunk data not initialized")
8960 * return [<int>self.data[i] for i in range(self.sample_count)] # <<<<<<<<<<<<<<
8961 *
8962 * class VisualizationError(Exception):
8963 */
8964 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
8965 __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__8965; goto __pyx_L1_error;}
8966 __Pyx_GOTREF(__pyx_t_1);
8967 __pyx_t_4 = __pyx_v_self->sample_count;
8968 for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
8969 __pyx_v_i = __pyx_t_5;
8970 __pyx_t_2 = __Pyx_PyInt_From_int(((int)(__pyx_v_self->data[__pyx_v_i]))); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__8970; goto __pyx_L1_error;}
8971 __Pyx_GOTREF(__pyx_t_2);
8972 if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))__builtin_expect(!!(__Pyx_ListComp_Append(__pyx_t_1, (PyObject
*)__pyx_t_2)), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__8972; goto __pyx_L1_error;}
8973 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
8974 }
8975 __pyx_r = __pyx_t_1;
8976 __pyx_t_1 = 0;
8977 goto __pyx_L0;
8978
8979 /* "xmmsapi.pyx":369
8980 * return PyBytes_FromStringAndSize(<char *>self.data, sizeof (short) * self.sample_count)
8981 *
8982 * cpdef get_data(self): # <<<<<<<<<<<<<<
8983 * """
8984 * Get chunk data as a list.
8985 */
8986
8987 /* function exit code */
8988 __pyx_L1_error:;
8989 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
8990 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
8991 __Pyx_AddTraceback("xmmsapi.XmmsVisChunk.get_data", __pyx_clineno, __pyx_lineno, __pyx_filename);
8992 __pyx_r = 0;
8993 __pyx_L0:;
8994 __Pyx_XGIVEREF(__pyx_r);
8995 __Pyx_RefNannyFinishContext();
8996 return __pyx_r;
8997}
8998
8999/* Python wrapper */
9000static PyObject *__pyx_pw_7xmmsapi_12XmmsVisChunk_9get_data(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
9001static char __pyx_doc_7xmmsapi_12XmmsVisChunk_8get_data[] = "XmmsVisChunk.get_data(self)\n\n\t\tGet chunk data as a list.\n\t\t@rtype: L{list}\n\t\t@return A list of int\n\t\t";
9002static PyObject *__pyx_pw_7xmmsapi_12XmmsVisChunk_9get_data(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
9003 PyObject *__pyx_r = 0;
9004 __Pyx_RefNannyDeclarations
9005 __Pyx_RefNannySetupContext("get_data (wrapper)", 0);
9006 __pyx_r = __pyx_pf_7xmmsapi_12XmmsVisChunk_8get_data(((struct __pyx_obj_7xmmsapi_XmmsVisChunk *)__pyx_v_self));
9007
9008 /* function exit code */
9009 __Pyx_RefNannyFinishContext();
9010 return __pyx_r;
9011}
9012
9013static PyObject *__pyx_pf_7xmmsapi_12XmmsVisChunk_8get_data(struct __pyx_obj_7xmmsapi_XmmsVisChunk *__pyx_v_self) {
9014 PyObject *__pyx_r = NULL((void*)0);
9015 __Pyx_RefNannyDeclarations
9016 PyObject *__pyx_t_1 = NULL((void*)0);
9017 int __pyx_lineno = 0;
9018 const char *__pyx_filename = NULL((void*)0);
9019 int __pyx_clineno = 0;
9020 __Pyx_RefNannySetupContext("get_data", 0);
9021 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
9022 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsVisChunk *)__pyx_v_self->__pyx_vtab)->get_data(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__9022; goto __pyx_L1_error;}
9023 __Pyx_GOTREF(__pyx_t_1);
9024 __pyx_r = __pyx_t_1;
9025 __pyx_t_1 = 0;
9026 goto __pyx_L0;
9027
9028 /* function exit code */
9029 __pyx_L1_error:;
9030 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
9031 __Pyx_AddTraceback("xmmsapi.XmmsVisChunk.get_data", __pyx_clineno, __pyx_lineno, __pyx_filename);
9032 __pyx_r = NULL((void*)0);
9033 __pyx_L0:;
9034 __Pyx_XGIVEREF(__pyx_r);
9035 __Pyx_RefNannyFinishContext();
9036 return __pyx_r;
9037}
9038
9039/* "xmmsapi.pyx":383
9040 *
9041 *
9042 * def _noop(*a, **kw): # <<<<<<<<<<<<<<
9043 * pass
9044 * def _setcb(f, fb=_noop):
9045 */
9046
9047/* Python wrapper */
9048static PyObject *__pyx_pw_7xmmsapi_3_noop(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
9049static char __pyx_doc_7xmmsapi_2_noop[] = "_noop(*a, **kw)";
9050static PyMethodDef __pyx_mdef_7xmmsapi_3_noop = {__Pyx_NAMESTR("_noop")("_noop"), (PyCFunction)__pyx_pw_7xmmsapi_3_noop, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_2_noop)(__pyx_doc_7xmmsapi_2_noop)};
9051static PyObject *__pyx_pw_7xmmsapi_3_noop(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
9052 CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_v_a = 0;
9053 CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_v_kw = 0;
9054 PyObject *__pyx_r = 0;
9055 __Pyx_RefNannyDeclarations
9056 __Pyx_RefNannySetupContext("_noop (wrapper)", 0);
9057 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "_noop", 1))__builtin_expect(!!(!__Pyx_CheckKeywordStrings(__pyx_kwds, "_noop"
, 1)), 0)
) return NULL((void*)0);
9058 __pyx_v_kw = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New();
9059 if (unlikely(!__pyx_v_kw)__builtin_expect(!!(!__pyx_v_kw), 0)) return NULL((void*)0);
9060 __Pyx_GOTREF(__pyx_v_kw);
9061 __Pyx_INCREF(__pyx_args)( ((PyObject*)(__pyx_args))->ob_refcnt++);
9062 __pyx_v_a = __pyx_args;
9063 __pyx_r = __pyx_pf_7xmmsapi_2_noop(__pyx_self, __pyx_v_a, __pyx_v_kw);
9064
9065 /* function exit code */
9066 __Pyx_XDECREF(__pyx_v_a)do { if ((__pyx_v_a) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_a))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_a)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_a)))); } while (0); } while (0)
;
9067 __Pyx_XDECREF(__pyx_v_kw)do { if ((__pyx_v_kw) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_kw))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_v_kw)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_kw)))); } while (0); } while (0)
;
9068 __Pyx_RefNannyFinishContext();
9069 return __pyx_r;
9070}
9071
9072static PyObject *__pyx_pf_7xmmsapi_2_noop(CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_v_a, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_v_kw) {
9073 PyObject *__pyx_r = NULL((void*)0);
9074 __Pyx_RefNannyDeclarations
9075 __Pyx_RefNannySetupContext("_noop", 0);
9076
9077 /* function exit code */
9078 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
9079 __Pyx_XGIVEREF(__pyx_r);
9080 __Pyx_RefNannyFinishContext();
9081 return __pyx_r;
9082}
9083
9084/* "xmmsapi.pyx":385
9085 * def _noop(*a, **kw):
9086 * pass
9087 * def _setcb(f, fb=_noop): # <<<<<<<<<<<<<<
9088 * return hasattr(f, '__call__') and f or fb
9089 *
9090 */
9091
9092/* Python wrapper */
9093static PyObject *__pyx_pw_7xmmsapi_5_setcb(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
9094static char __pyx_doc_7xmmsapi_4_setcb[] = "_setcb(f, fb=_noop)";
9095static PyMethodDef __pyx_mdef_7xmmsapi_5_setcb = {__Pyx_NAMESTR("_setcb")("_setcb"), (PyCFunction)__pyx_pw_7xmmsapi_5_setcb, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_4_setcb)(__pyx_doc_7xmmsapi_4_setcb)};
9096static PyObject *__pyx_pw_7xmmsapi_5_setcb(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
9097 PyObject *__pyx_v_f = 0;
9098 PyObject *__pyx_v_fb = 0;
9099 int __pyx_lineno = 0;
9100 const char *__pyx_filename = NULL((void*)0);
9101 int __pyx_clineno = 0;
9102 PyObject *__pyx_r = 0;
9103 __Pyx_RefNannyDeclarations
9104 __Pyx_RefNannySetupContext("_setcb (wrapper)", 0);
9105 {
9106 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_f,&__pyx_n_s_fb,0};
9107 PyObject* values[2] = {0,0};
9108 values[1] = __pyx_k__14;
9109 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
9110 Py_ssize_t kw_args;
9111 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
9112 switch (pos_args) {
9113 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
9114 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
9115 case 0: break;
9116 default: goto __pyx_L5_argtuple_error;
9117 }
9118 kw_args = PyDict_Size(__pyx_kwds);
9119 switch (pos_args) {
9120 case 0:
9121 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_f)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_f
)) != 0), 1)
) kw_args--;
9122 else goto __pyx_L5_argtuple_error;
9123 case 1:
9124 if (kw_args > 0) {
9125 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fb);
9126 if (value) { values[1] = value; kw_args--; }
9127 }
9128 }
9129 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
9130 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_setcb") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "_setcb") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__9130; goto __pyx_L3_error;}
9131 }
9132 } else {
9133 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
9134 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
9135 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
9136 break;
9137 default: goto __pyx_L5_argtuple_error;
9138 }
9139 }
9140 __pyx_v_f = values[0];
9141 __pyx_v_fb = values[1];
9142 }
9143 goto __pyx_L4_argument_unpacking_done;
9144 __pyx_L5_argtuple_error:;
9145 __Pyx_RaiseArgtupleInvalid("_setcb", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__9145; goto __pyx_L3_error;}
9146 __pyx_L3_error:;
9147 __Pyx_AddTraceback("xmmsapi._setcb", __pyx_clineno, __pyx_lineno, __pyx_filename);
9148 __Pyx_RefNannyFinishContext();
9149 return NULL((void*)0);
9150 __pyx_L4_argument_unpacking_done:;
9151 __pyx_r = __pyx_pf_7xmmsapi_4_setcb(__pyx_self, __pyx_v_f, __pyx_v_fb);
9152
9153 /* function exit code */
9154 __Pyx_RefNannyFinishContext();
9155 return __pyx_r;
9156}
9157
9158static PyObject *__pyx_pf_7xmmsapi_4_setcb(CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_self, PyObject *__pyx_v_f, PyObject *__pyx_v_fb) {
9159 PyObject *__pyx_r = NULL((void*)0);
9160 __Pyx_RefNannyDeclarations
9161 int __pyx_t_1;
9162 PyObject *__pyx_t_2 = NULL((void*)0);
9163 PyObject *__pyx_t_3 = NULL((void*)0);
9164 int __pyx_lineno = 0;
9165 const char *__pyx_filename = NULL((void*)0);
9166 int __pyx_clineno = 0;
9167 __Pyx_RefNannySetupContext("_setcb", 0);
9168
9169 /* "xmmsapi.pyx":386
9170 * pass
9171 * def _setcb(f, fb=_noop):
9172 * return hasattr(f, '__call__') and f or fb # <<<<<<<<<<<<<<
9173 *
9174 * class method_arg:
9175 */
9176 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
9177 __pyx_t_1 = PyObject_HasAttr(__pyx_v_f, __pyx_n_s_call); if (unlikely(__pyx_t_1 == -1)__builtin_expect(!!(__pyx_t_1 == -1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__9177; goto __pyx_L1_error;}
9178 __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1)((__pyx_t_1) ? (( ((PyObject*)(((PyObject *) &_Py_TrueStruct
)))->ob_refcnt++), ((PyObject *) &_Py_TrueStruct)) : (
( ((PyObject*)(((PyObject *) &_Py_ZeroStruct)))->ob_refcnt
++), ((PyObject *) &_Py_ZeroStruct)))
; if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__9178; goto __pyx_L1_error;}
9179 __Pyx_GOTREF(__pyx_t_2);
9180 __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)__builtin_expect(!!(__pyx_t_1 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__9180; goto __pyx_L1_error;}
9181 if (__pyx_t_1) {
9182 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
9183 __Pyx_INCREF(__pyx_v_f)( ((PyObject*)(__pyx_v_f))->ob_refcnt++);
9184 __pyx_t_3 = __pyx_v_f;
9185 } else {
9186 __pyx_t_3 = __pyx_t_2;
9187 __pyx_t_2 = 0;
9188 }
9189 __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_1 < 0)__builtin_expect(!!(__pyx_t_1 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__9189; goto __pyx_L1_error;}
9190 if (!__pyx_t_1) {
9191 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
9192 __Pyx_INCREF(__pyx_v_fb)( ((PyObject*)(__pyx_v_fb))->ob_refcnt++);
9193 __pyx_t_2 = __pyx_v_fb;
9194 } else {
9195 __pyx_t_2 = __pyx_t_3;
9196 __pyx_t_3 = 0;
9197 }
9198 __pyx_r = __pyx_t_2;
9199 __pyx_t_2 = 0;
9200 goto __pyx_L0;
9201
9202 /* "xmmsapi.pyx":385
9203 * def _noop(*a, **kw):
9204 * pass
9205 * def _setcb(f, fb=_noop): # <<<<<<<<<<<<<<
9206 * return hasattr(f, '__call__') and f or fb
9207 *
9208 */
9209
9210 /* function exit code */
9211 __pyx_L1_error:;
9212 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
9213 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
9214 __Pyx_AddTraceback("xmmsapi._setcb", __pyx_clineno, __pyx_lineno, __pyx_filename);
9215 __pyx_r = NULL((void*)0);
9216 __pyx_L0:;
9217 __Pyx_XGIVEREF(__pyx_r);
9218 __Pyx_RefNannyFinishContext();
9219 return __pyx_r;
9220}
9221
9222/* "xmmsapi.pyx":403
9223 * 'd': XMMSV_TYPE_DICT,
9224 * }
9225 * def __init__(self, name, type = '', doc = '', **kw): # <<<<<<<<<<<<<<
9226 * for key, value in kw.items():
9227 * setattr(self, key, value)
9228 */
9229
9230/* Python wrapper */
9231static PyObject *__pyx_pw_7xmmsapi_10method_arg_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
9232static char __pyx_doc_7xmmsapi_10method_arg___init__[] = "method_arg.__init__(self, name, type='', doc='', **kw)";
9233static PyMethodDef __pyx_mdef_7xmmsapi_10method_arg_1__init__ = {__Pyx_NAMESTR("__init__")("__init__"), (PyCFunction)__pyx_pw_7xmmsapi_10method_arg_1__init__, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_10method_arg___init__)(__pyx_doc_7xmmsapi_10method_arg___init__)};
9234static PyObject *__pyx_pw_7xmmsapi_10method_arg_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
9235 PyObject *__pyx_v_self = 0;
9236 PyObject *__pyx_v_name = 0;
9237 PyObject *__pyx_v_type = 0;
9238 PyObject *__pyx_v_doc = 0;
9239 PyObject *__pyx_v_kw = 0;
9240 int __pyx_lineno = 0;
9241 const char *__pyx_filename = NULL((void*)0);
9242 int __pyx_clineno = 0;
9243 PyObject *__pyx_r = 0;
9244 __Pyx_RefNannyDeclarations
9245 __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
9246 __pyx_v_kw = PyDict_New(); if (unlikely(!__pyx_v_kw)__builtin_expect(!!(!__pyx_v_kw), 0)) return NULL((void*)0);
9247 __Pyx_GOTREF(__pyx_v_kw);
9248 {
9249 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_name_2,&__pyx_n_s_type,&__pyx_n_s_doc_2,0};
9250 PyObject* values[4] = {0,0,0,0};
9251 values[2] = ((PyObject *)((PyObject*)__pyx_kp_s__15));
9252 values[3] = ((PyObject *)((PyObject*)__pyx_kp_s__15));
9253 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
9254 Py_ssize_t kw_args;
9255 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
9256 switch (pos_args) {
9257 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
9258 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
9259 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
9260 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
9261 case 0: break;
9262 default: goto __pyx_L5_argtuple_error;
9263 }
9264 kw_args = PyDict_Size(__pyx_kwds);
9265 switch (pos_args) {
9266 case 0:
9267 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self
)) != 0), 1)
) kw_args--;
9268 else goto __pyx_L5_argtuple_error;
9269 case 1:
9270 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name_2)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name_2
)) != 0), 1)
) kw_args--;
9271 else {
9272 __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__9272; goto __pyx_L3_error;}
9273 }
9274 case 2:
9275 if (kw_args > 0) {
9276 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_type);
9277 if (value) { values[2] = value; kw_args--; }
9278 }
9279 case 3:
9280 if (kw_args > 0) {
9281 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_doc_2);
9282 if (value) { values[3] = value; kw_args--; }
9283 }
9284 }
9285 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
9286 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kw, values, pos_args, "__init__") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, __pyx_v_kw, values, pos_args, "__init__") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__9286; goto __pyx_L3_error;}
9287 }
9288 } else {
9289 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
9290 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
9291 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
9292 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
9293 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
9294 break;
9295 default: goto __pyx_L5_argtuple_error;
9296 }
9297 }
9298 __pyx_v_self = values[0];
9299 __pyx_v_name = values[1];
9300 __pyx_v_type = values[2];
9301 __pyx_v_doc = values[3];
9302 }
9303 goto __pyx_L4_argument_unpacking_done;
9304 __pyx_L5_argtuple_error:;
9305 __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__9305; goto __pyx_L3_error;}
9306 __pyx_L3_error:;
9307 __Pyx_DECREF(__pyx_v_kw)do { if ( --((PyObject*)(__pyx_v_kw))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_v_kw)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_kw)))); } while
(0)
; __pyx_v_kw = 0;
9308 __Pyx_AddTraceback("xmmsapi.method_arg.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
9309 __Pyx_RefNannyFinishContext();
9310 return NULL((void*)0);
9311 __pyx_L4_argument_unpacking_done:;
9312 __pyx_r = __pyx_pf_7xmmsapi_10method_arg___init__(__pyx_self, __pyx_v_self, __pyx_v_name, __pyx_v_type, __pyx_v_doc, __pyx_v_kw);
9313
9314 /* function exit code */
9315 __Pyx_XDECREF(__pyx_v_kw)do { if ((__pyx_v_kw) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_kw))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_v_kw)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_kw)))); } while (0); } while (0)
;
9316 __Pyx_RefNannyFinishContext();
9317 return __pyx_r;
9318}
9319
9320static PyObject *__pyx_pf_7xmmsapi_10method_arg___init__(CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_type, PyObject *__pyx_v_doc, PyObject *__pyx_v_kw) {
9321 PyObject *__pyx_v_key = NULL((void*)0);
9322 PyObject *__pyx_v_value = NULL((void*)0);
9323 PyObject *__pyx_r = NULL((void*)0);
9324 __Pyx_RefNannyDeclarations
9325 PyObject *__pyx_t_1 = NULL((void*)0);
9326 PyObject *__pyx_t_2 = NULL((void*)0);
9327 Py_ssize_t __pyx_t_3;
9328 PyObject *(*__pyx_t_4)(PyObject *);
9329 PyObject *__pyx_t_5 = NULL((void*)0);
9330 PyObject *__pyx_t_6 = NULL((void*)0);
9331 PyObject *__pyx_t_7 = NULL((void*)0);
9332 PyObject *(*__pyx_t_8)(PyObject *);
9333 int __pyx_t_9;
9334 int __pyx_t_10;
9335 int __pyx_t_11;
9336 int __pyx_lineno = 0;
9337 const char *__pyx_filename = NULL((void*)0);
9338 int __pyx_clineno = 0;
9339 __Pyx_RefNannySetupContext("__init__", 0);
9340
9341 /* "xmmsapi.pyx":404
9342 * }
9343 * def __init__(self, name, type = '', doc = '', **kw):
9344 * for key, value in kw.items(): # <<<<<<<<<<<<<<
9345 * setattr(self, key, value)
9346 * self.name = name
9347 */
9348 __pyx_t_1 = __Pyx_PyDict_Items(__pyx_v_kw); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__9348; goto __pyx_L1_error;}
9349 __Pyx_GOTREF(__pyx_t_1);
9350 if (PyList_CheckExact(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyList_Type) || PyTuple_CheckExact(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyTuple_Type)) {
9351 __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2)( ((PyObject*)(__pyx_t_2))->ob_refcnt++); __pyx_t_3 = 0;
9352 __pyx_t_4 = NULL((void*)0);
9353 } else {
9354 __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__9354; goto __pyx_L1_error;}
9355 __Pyx_GOTREF(__pyx_t_2);
9356 __pyx_t_4 = Py_TYPE(__pyx_t_2)(((PyObject*)(__pyx_t_2))->ob_type)->tp_iternext;
9357 }
9358 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
9359 for (;;) {
9360 if (!__pyx_t_4 && PyList_CheckExact(__pyx_t_2)((((PyObject*)(__pyx_t_2))->ob_type) == &PyList_Type)) {
9361 if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)(((PyVarObject*)(__pyx_t_2))->ob_size)) break;
9362 #if CYTHON_COMPILING_IN_CPYTHON1
9363 __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3)(((PyListObject *)(__pyx_t_2))->ob_item[__pyx_t_3]); __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++); __pyx_t_3++; if (unlikely(0 < 0)__builtin_expect(!!(0 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__9363; goto __pyx_L1_error;}
9364 #else
9365 __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3)( (((PyObject*)(__pyx_t_2))->ob_type)->tp_as_sequence->
sq_item(__pyx_t_2, __pyx_t_3) )
; __pyx_t_3++; if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__9365; goto __pyx_L1_error;}
9366 #endif
9367 } else if (!__pyx_t_4 && PyTuple_CheckExact(__pyx_t_2)((((PyObject*)(__pyx_t_2))->ob_type) == &PyTuple_Type)) {
9368 if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)(((PyVarObject*)(__pyx_t_2))->ob_size)) break;
9369 #if CYTHON_COMPILING_IN_CPYTHON1
9370 __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3)(((PyTupleObject *)(__pyx_t_2))->ob_item[__pyx_t_3]); __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++); __pyx_t_3++; if (unlikely(0 < 0)__builtin_expect(!!(0 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__9370; goto __pyx_L1_error;}
9371 #else
9372 __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3)( (((PyObject*)(__pyx_t_2))->ob_type)->tp_as_sequence->
sq_item(__pyx_t_2, __pyx_t_3) )
; __pyx_t_3++; if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__9372; goto __pyx_L1_error;}
9373 #endif
9374 } else {
9375 __pyx_t_1 = __pyx_t_4(__pyx_t_2);
9376 if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {
9377 PyObject* exc_type = PyErr_Occurred();
9378 if (exc_type) {
9379 if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))__builtin_expect(!!(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches
(exc_type, PyExc_StopIteration)), 1)
) PyErr_Clear();
9380 else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__9380; goto __pyx_L1_error;}
9381 }
9382 break;
9383 }
9384 __Pyx_GOTREF(__pyx_t_1);
9385 }
9386 if ((likely(PyTuple_CheckExact(__pyx_t_1))__builtin_expect(!!(((((PyObject*)(__pyx_t_1))->ob_type) ==
&PyTuple_Type)), 1)
) || (PyList_CheckExact(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyList_Type))) {
9387 PyObject* sequence = __pyx_t_1;
9388 #if CYTHON_COMPILING_IN_CPYTHON1
9389 Py_ssize_t size = Py_SIZE(sequence)(((PyVarObject*)(sequence))->ob_size);
9390 #else
9391 Py_ssize_t size = PySequence_Size(sequence);
9392 #endif
9393 if (unlikely(size != 2)__builtin_expect(!!(size != 2), 0)) {
9394 if (size > 2) __Pyx_RaiseTooManyValuesError(2);
9395 else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
9396 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__9396; goto __pyx_L1_error;}
9397 }
9398 #if CYTHON_COMPILING_IN_CPYTHON1
9399 if (likely(PyTuple_CheckExact(sequence))__builtin_expect(!!(((((PyObject*)(sequence))->ob_type) ==
&PyTuple_Type)), 1)
) {
9400 __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0)(((PyTupleObject *)(sequence))->ob_item[0]);
9401 __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1)(((PyTupleObject *)(sequence))->ob_item[1]);
9402 } else {
9403 __pyx_t_5 = PyList_GET_ITEM(sequence, 0)(((PyListObject *)(sequence))->ob_item[0]);
9404 __pyx_t_6 = PyList_GET_ITEM(sequence, 1)(((PyListObject *)(sequence))->ob_item[1]);
9405 }
9406 __Pyx_INCREF(__pyx_t_5)( ((PyObject*)(__pyx_t_5))->ob_refcnt++);
9407 __Pyx_INCREF(__pyx_t_6)( ((PyObject*)(__pyx_t_6))->ob_refcnt++);
9408 #else
9409 __pyx_t_5 = PySequence_ITEM(sequence, 0)( (((PyObject*)(sequence))->ob_type)->tp_as_sequence->
sq_item(sequence, 0) )
; if (unlikely(!__pyx_t_5)__builtin_expect(!!(!__pyx_t_5), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__9409; goto __pyx_L1_error;}
9410 __Pyx_GOTREF(__pyx_t_5);
9411 __pyx_t_6 = PySequence_ITEM(sequence, 1)( (((PyObject*)(sequence))->ob_type)->tp_as_sequence->
sq_item(sequence, 1) )
; if (unlikely(!__pyx_t_6)__builtin_expect(!!(!__pyx_t_6), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__9411; goto __pyx_L1_error;}
9412 __Pyx_GOTREF(__pyx_t_6);
9413 #endif
9414 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
9415 } else {
9416 Py_ssize_t index = -1;
9417 __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)__builtin_expect(!!(!__pyx_t_7), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__9417; goto __pyx_L1_error;}
9418 __Pyx_GOTREF(__pyx_t_7);
9419 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
9420 __pyx_t_8 = Py_TYPE(__pyx_t_7)(((PyObject*)(__pyx_t_7))->ob_type)->tp_iternext;
9421 index = 0; __pyx_t_5 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_5)__builtin_expect(!!(!__pyx_t_5), 0)) goto __pyx_L5_unpacking_failed;
9422 __Pyx_GOTREF(__pyx_t_5);
9423 index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)__builtin_expect(!!(!__pyx_t_6), 0)) goto __pyx_L5_unpacking_failed;
9424 __Pyx_GOTREF(__pyx_t_6);
9425 if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__9425; goto __pyx_L1_error;}
9426 __pyx_t_8 = NULL((void*)0);
9427 __Pyx_DECREF(__pyx_t_7)do { if ( --((PyObject*)(__pyx_t_7))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_7)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_7)))); } while (
0)
; __pyx_t_7 = 0;
9428 goto __pyx_L6_unpacking_done;
9429 __pyx_L5_unpacking_failed:;
9430 __Pyx_DECREF(__pyx_t_7)do { if ( --((PyObject*)(__pyx_t_7))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_7)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_7)))); } while (
0)
; __pyx_t_7 = 0;
9431 __pyx_t_8 = NULL((void*)0);
9432 if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
9433 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__9433; goto __pyx_L1_error;}
9434 __pyx_L6_unpacking_done:;
9435 }
9436 __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_5)do { PyObject *tmp = (PyObject *) __pyx_v_key; __pyx_v_key = __pyx_t_5
; do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0); } while (0)
;
9437 __pyx_t_5 = 0;
9438 __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_6)do { PyObject *tmp = (PyObject *) __pyx_v_value; __pyx_v_value
= __pyx_t_6; do { if ((tmp) == ((void*)0)) ; else do { if ( --
((PyObject*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject
*)((PyObject *)(tmp)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(tmp)))); } while (0); } while (0); } while (
0)
;
9439 __pyx_t_6 = 0;
9440
9441 /* "xmmsapi.pyx":405
9442 * def __init__(self, name, type = '', doc = '', **kw):
9443 * for key, value in kw.items():
9444 * setattr(self, key, value) # <<<<<<<<<<<<<<
9445 * self.name = name
9446 * self.type = type.lower()
9447 */
9448 __pyx_t_9 = PyObject_SetAttr(__pyx_v_self, __pyx_v_key, __pyx_v_value); if (unlikely(__pyx_t_9 == -1)__builtin_expect(!!(__pyx_t_9 == -1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__9448; goto __pyx_L1_error;}
9449 }
9450 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
9451
9452 /* "xmmsapi.pyx":406
9453 * for key, value in kw.items():
9454 * setattr(self, key, value)
9455 * self.name = name # <<<<<<<<<<<<<<
9456 * self.type = type.lower()
9457 * if type not in self.TYPES:
9458 */
9459 if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_name_2, __pyx_v_name) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__9459; goto __pyx_L1_error;}
9460
9461 /* "xmmsapi.pyx":407
9462 * setattr(self, key, value)
9463 * self.name = name
9464 * self.type = type.lower() # <<<<<<<<<<<<<<
9465 * if type not in self.TYPES:
9466 * raise TypeError("Unsupported argument type %s" % type)
9467 */
9468 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_n_s_lower); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__9468; goto __pyx_L1_error;}
9469 __Pyx_GOTREF(__pyx_t_2);
9470 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__9470; goto __pyx_L1_error;}
9471 __Pyx_GOTREF(__pyx_t_1);
9472 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
9473 if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_type, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__9473; goto __pyx_L1_error;}
9474 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
9475
9476 /* "xmmsapi.pyx":408
9477 * self.name = name
9478 * self.type = type.lower()
9479 * if type not in self.TYPES: # <<<<<<<<<<<<<<
9480 * raise TypeError("Unsupported argument type %s" % type)
9481 * self._x_type = self.TYPES.get(type, XMMSV_TYPE_NONE)
9482 */
9483 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_TYPES); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__9483; goto __pyx_L1_error;}
9484 __Pyx_GOTREF(__pyx_t_1);
9485 __pyx_t_10 = (__Pyx_PySequence_Contains(__pyx_v_type, __pyx_t_1, Py_NE3)); if (unlikely(__pyx_t_10 < 0)__builtin_expect(!!(__pyx_t_10 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__9485; goto __pyx_L1_error;}
9486 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
9487 __pyx_t_11 = (__pyx_t_10 != 0);
9488 if (__pyx_t_11) {
9489
9490 /* "xmmsapi.pyx":409
9491 * self.type = type.lower()
9492 * if type not in self.TYPES:
9493 * raise TypeError("Unsupported argument type %s" % type) # <<<<<<<<<<<<<<
9494 * self._x_type = self.TYPES.get(type, XMMSV_TYPE_NONE)
9495 * self.doc = doc
9496 */
9497 __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_Unsupported_argument_type_s, __pyx_v_type)PyString_Format(__pyx_kp_s_Unsupported_argument_type_s, __pyx_v_type
)
; if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__9497; goto __pyx_L1_error;}
9498 __Pyx_GOTREF(__pyx_t_1);
9499 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__9499; goto __pyx_L1_error;}
9500 __Pyx_GOTREF(__pyx_t_2);
9501 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_t_1);
9502 __Pyx_GIVEREF(__pyx_t_1);
9503 __pyx_t_1 = 0;
9504 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__9504; goto __pyx_L1_error;}
9505 __Pyx_GOTREF(__pyx_t_1);
9506 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
9507 __Pyx_Raise(__pyx_t_1, 0, 0, 0);
9508 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
9509 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__9509; goto __pyx_L1_error;}
9510 }
9511
9512 /* "xmmsapi.pyx":410
9513 * if type not in self.TYPES:
9514 * raise TypeError("Unsupported argument type %s" % type)
9515 * self._x_type = self.TYPES.get(type, XMMSV_TYPE_NONE) # <<<<<<<<<<<<<<
9516 * self.doc = doc
9517 *
9518 */
9519 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_TYPES); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__9519; goto __pyx_L1_error;}
9520 __Pyx_GOTREF(__pyx_t_1);
9521 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_get); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__9521; goto __pyx_L1_error;}
9522 __Pyx_GOTREF(__pyx_t_2);
9523 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
9524 __pyx_t_1 = PyInt_FromLong(XMMSV_TYPE_NONE); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__9524; goto __pyx_L1_error;}
9525 __Pyx_GOTREF(__pyx_t_1);
9526 __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)__builtin_expect(!!(!__pyx_t_6), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__9526; goto __pyx_L1_error;}
9527 __Pyx_GOTREF(__pyx_t_6);
9528 __Pyx_INCREF(__pyx_v_type)( ((PyObject*)(__pyx_v_type))->ob_refcnt++);
9529 PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_type)(((PyTupleObject *)(__pyx_t_6))->ob_item[0] = __pyx_v_type
)
;
9530 __Pyx_GIVEREF(__pyx_v_type);
9531 PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_1)(((PyTupleObject *)(__pyx_t_6))->ob_item[1] = __pyx_t_1);
9532 __Pyx_GIVEREF(__pyx_t_1);
9533 __pyx_t_1 = 0;
9534 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__9534; goto __pyx_L1_error;}
9535 __Pyx_GOTREF(__pyx_t_1);
9536 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
9537 __Pyx_DECREF(__pyx_t_6)do { if ( --((PyObject*)(__pyx_t_6))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_6)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_6)))); } while (
0)
; __pyx_t_6 = 0;
9538 if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_x_type, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__9538; goto __pyx_L1_error;}
9539 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
9540
9541 /* "xmmsapi.pyx":411
9542 * raise TypeError("Unsupported argument type %s" % type)
9543 * self._x_type = self.TYPES.get(type, XMMSV_TYPE_NONE)
9544 * self.doc = doc # <<<<<<<<<<<<<<
9545 *
9546 * class method_varg:
9547 */
9548 if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_doc_2, __pyx_v_doc) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__9548; goto __pyx_L1_error;}
9549
9550 /* "xmmsapi.pyx":403
9551 * 'd': XMMSV_TYPE_DICT,
9552 * }
9553 * def __init__(self, name, type = '', doc = '', **kw): # <<<<<<<<<<<<<<
9554 * for key, value in kw.items():
9555 * setattr(self, key, value)
9556 */
9557
9558 /* function exit code */
9559 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
9560 goto __pyx_L0;
9561 __pyx_L1_error:;
9562 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
9563 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
9564 __Pyx_XDECREF(__pyx_t_5)do { if ((__pyx_t_5) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_5))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_5)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_5)))); } while (0); } while (0)
;
9565 __Pyx_XDECREF(__pyx_t_6)do { if ((__pyx_t_6) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_6))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_6)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_6)))); } while (0); } while (0)
;
9566 __Pyx_XDECREF(__pyx_t_7)do { if ((__pyx_t_7) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_7))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_7)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_7)))); } while (0); } while (0)
;
9567 __Pyx_AddTraceback("xmmsapi.method_arg.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
9568 __pyx_r = NULL((void*)0);
9569 __pyx_L0:;
9570 __Pyx_XDECREF(__pyx_v_key)do { if ((__pyx_v_key) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_key))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(__pyx_v_key)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_key)))); } while (0); } while (0)
;
9571 __Pyx_XDECREF(__pyx_v_value)do { if ((__pyx_v_value) == ((void*)0)) ; else do { if ( --((
PyObject*)(__pyx_v_value))->ob_refcnt != 0) ; else ( (*(((
PyObject*)((PyObject *)(__pyx_v_value)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(__pyx_v_value)))); } while (0); }
while (0)
;
9572 __Pyx_XGIVEREF(__pyx_r);
9573 __Pyx_RefNannyFinishContext();
9574 return __pyx_r;
9575}
9576
9577/* "xmmsapi.pyx":414
9578 *
9579 * class method_varg:
9580 * def __init__(self, doc = '', **kw): # <<<<<<<<<<<<<<
9581 * self.doc = doc
9582 * for key, value in kw.items():
9583 */
9584
9585/* Python wrapper */
9586static PyObject *__pyx_pw_7xmmsapi_11method_varg_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
9587static char __pyx_doc_7xmmsapi_11method_varg___init__[] = "method_varg.__init__(self, doc='', **kw)";
9588static PyMethodDef __pyx_mdef_7xmmsapi_11method_varg_1__init__ = {__Pyx_NAMESTR("__init__")("__init__"), (PyCFunction)__pyx_pw_7xmmsapi_11method_varg_1__init__, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_11method_varg___init__)(__pyx_doc_7xmmsapi_11method_varg___init__)};
9589static PyObject *__pyx_pw_7xmmsapi_11method_varg_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
9590 PyObject *__pyx_v_self = 0;
9591 PyObject *__pyx_v_doc = 0;
9592 PyObject *__pyx_v_kw = 0;
9593 int __pyx_lineno = 0;
9594 const char *__pyx_filename = NULL((void*)0);
9595 int __pyx_clineno = 0;
9596 PyObject *__pyx_r = 0;
9597 __Pyx_RefNannyDeclarations
9598 __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
9599 __pyx_v_kw = PyDict_New(); if (unlikely(!__pyx_v_kw)__builtin_expect(!!(!__pyx_v_kw), 0)) return NULL((void*)0);
9600 __Pyx_GOTREF(__pyx_v_kw);
9601 {
9602 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_doc_2,0};
9603 PyObject* values[2] = {0,0};
9604 values[1] = ((PyObject *)((PyObject*)__pyx_kp_s__15));
9605 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
9606 Py_ssize_t kw_args;
9607 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
9608 switch (pos_args) {
9609 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
9610 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
9611 case 0: break;
9612 default: goto __pyx_L5_argtuple_error;
9613 }
9614 kw_args = PyDict_Size(__pyx_kwds);
9615 switch (pos_args) {
9616 case 0:
9617 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self
)) != 0), 1)
) kw_args--;
9618 else goto __pyx_L5_argtuple_error;
9619 case 1:
9620 if (kw_args > 0) {
9621 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_doc_2);
9622 if (value) { values[1] = value; kw_args--; }
9623 }
9624 }
9625 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
9626 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kw, values, pos_args, "__init__") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, __pyx_v_kw, values, pos_args, "__init__") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__9626; goto __pyx_L3_error;}
9627 }
9628 } else {
9629 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
9630 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
9631 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
9632 break;
9633 default: goto __pyx_L5_argtuple_error;
9634 }
9635 }
9636 __pyx_v_self = values[0];
9637 __pyx_v_doc = values[1];
9638 }
9639 goto __pyx_L4_argument_unpacking_done;
9640 __pyx_L5_argtuple_error:;
9641 __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__9641; goto __pyx_L3_error;}
9642 __pyx_L3_error:;
9643 __Pyx_DECREF(__pyx_v_kw)do { if ( --((PyObject*)(__pyx_v_kw))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_v_kw)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_kw)))); } while
(0)
; __pyx_v_kw = 0;
9644 __Pyx_AddTraceback("xmmsapi.method_varg.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
9645 __Pyx_RefNannyFinishContext();
9646 return NULL((void*)0);
9647 __pyx_L4_argument_unpacking_done:;
9648 __pyx_r = __pyx_pf_7xmmsapi_11method_varg___init__(__pyx_self, __pyx_v_self, __pyx_v_doc, __pyx_v_kw);
9649
9650 /* function exit code */
9651 __Pyx_XDECREF(__pyx_v_kw)do { if ((__pyx_v_kw) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_kw))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_v_kw)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_kw)))); } while (0); } while (0)
;
9652 __Pyx_RefNannyFinishContext();
9653 return __pyx_r;
9654}
9655
9656static PyObject *__pyx_pf_7xmmsapi_11method_varg___init__(CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_doc, PyObject *__pyx_v_kw) {
9657 PyObject *__pyx_v_key = NULL((void*)0);
9658 PyObject *__pyx_v_value = NULL((void*)0);
9659 PyObject *__pyx_r = NULL((void*)0);
9660 __Pyx_RefNannyDeclarations
9661 PyObject *__pyx_t_1 = NULL((void*)0);
9662 PyObject *__pyx_t_2 = NULL((void*)0);
9663 Py_ssize_t __pyx_t_3;
9664 PyObject *(*__pyx_t_4)(PyObject *);
9665 PyObject *__pyx_t_5 = NULL((void*)0);
9666 PyObject *__pyx_t_6 = NULL((void*)0);
9667 PyObject *__pyx_t_7 = NULL((void*)0);
9668 PyObject *(*__pyx_t_8)(PyObject *);
9669 int __pyx_t_9;
9670 int __pyx_lineno = 0;
9671 const char *__pyx_filename = NULL((void*)0);
9672 int __pyx_clineno = 0;
9673 __Pyx_RefNannySetupContext("__init__", 0);
9674
9675 /* "xmmsapi.pyx":415
9676 * class method_varg:
9677 * def __init__(self, doc = '', **kw):
9678 * self.doc = doc # <<<<<<<<<<<<<<
9679 * for key, value in kw.items():
9680 * setattr(self, key, value)
9681 */
9682 if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_doc_2, __pyx_v_doc) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__9682; goto __pyx_L1_error;}
9683
9684 /* "xmmsapi.pyx":416
9685 * def __init__(self, doc = '', **kw):
9686 * self.doc = doc
9687 * for key, value in kw.items(): # <<<<<<<<<<<<<<
9688 * setattr(self, key, value)
9689 *
9690 */
9691 __pyx_t_1 = __Pyx_PyDict_Items(__pyx_v_kw); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__9691; goto __pyx_L1_error;}
9692 __Pyx_GOTREF(__pyx_t_1);
9693 if (PyList_CheckExact(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyList_Type) || PyTuple_CheckExact(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyTuple_Type)) {
9694 __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2)( ((PyObject*)(__pyx_t_2))->ob_refcnt++); __pyx_t_3 = 0;
9695 __pyx_t_4 = NULL((void*)0);
9696 } else {
9697 __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__9697; goto __pyx_L1_error;}
9698 __Pyx_GOTREF(__pyx_t_2);
9699 __pyx_t_4 = Py_TYPE(__pyx_t_2)(((PyObject*)(__pyx_t_2))->ob_type)->tp_iternext;
9700 }
9701 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
9702 for (;;) {
9703 if (!__pyx_t_4 && PyList_CheckExact(__pyx_t_2)((((PyObject*)(__pyx_t_2))->ob_type) == &PyList_Type)) {
9704 if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)(((PyVarObject*)(__pyx_t_2))->ob_size)) break;
9705 #if CYTHON_COMPILING_IN_CPYTHON1
9706 __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3)(((PyListObject *)(__pyx_t_2))->ob_item[__pyx_t_3]); __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++); __pyx_t_3++; if (unlikely(0 < 0)__builtin_expect(!!(0 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__9706; goto __pyx_L1_error;}
9707 #else
9708 __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3)( (((PyObject*)(__pyx_t_2))->ob_type)->tp_as_sequence->
sq_item(__pyx_t_2, __pyx_t_3) )
; __pyx_t_3++; if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__9708; goto __pyx_L1_error;}
9709 #endif
9710 } else if (!__pyx_t_4 && PyTuple_CheckExact(__pyx_t_2)((((PyObject*)(__pyx_t_2))->ob_type) == &PyTuple_Type)) {
9711 if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)(((PyVarObject*)(__pyx_t_2))->ob_size)) break;
9712 #if CYTHON_COMPILING_IN_CPYTHON1
9713 __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3)(((PyTupleObject *)(__pyx_t_2))->ob_item[__pyx_t_3]); __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++); __pyx_t_3++; if (unlikely(0 < 0)__builtin_expect(!!(0 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__9713; goto __pyx_L1_error;}
9714 #else
9715 __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3)( (((PyObject*)(__pyx_t_2))->ob_type)->tp_as_sequence->
sq_item(__pyx_t_2, __pyx_t_3) )
; __pyx_t_3++; if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__9715; goto __pyx_L1_error;}
9716 #endif
9717 } else {
9718 __pyx_t_1 = __pyx_t_4(__pyx_t_2);
9719 if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {
9720 PyObject* exc_type = PyErr_Occurred();
9721 if (exc_type) {
9722 if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))__builtin_expect(!!(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches
(exc_type, PyExc_StopIteration)), 1)
) PyErr_Clear();
9723 else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__9723; goto __pyx_L1_error;}
9724 }
9725 break;
9726 }
9727 __Pyx_GOTREF(__pyx_t_1);
9728 }
9729 if ((likely(PyTuple_CheckExact(__pyx_t_1))__builtin_expect(!!(((((PyObject*)(__pyx_t_1))->ob_type) ==
&PyTuple_Type)), 1)
) || (PyList_CheckExact(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyList_Type))) {
9730 PyObject* sequence = __pyx_t_1;
9731 #if CYTHON_COMPILING_IN_CPYTHON1
9732 Py_ssize_t size = Py_SIZE(sequence)(((PyVarObject*)(sequence))->ob_size);
9733 #else
9734 Py_ssize_t size = PySequence_Size(sequence);
9735 #endif
9736 if (unlikely(size != 2)__builtin_expect(!!(size != 2), 0)) {
9737 if (size > 2) __Pyx_RaiseTooManyValuesError(2);
9738 else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
9739 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__9739; goto __pyx_L1_error;}
9740 }
9741 #if CYTHON_COMPILING_IN_CPYTHON1
9742 if (likely(PyTuple_CheckExact(sequence))__builtin_expect(!!(((((PyObject*)(sequence))->ob_type) ==
&PyTuple_Type)), 1)
) {
9743 __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0)(((PyTupleObject *)(sequence))->ob_item[0]);
9744 __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1)(((PyTupleObject *)(sequence))->ob_item[1]);
9745 } else {
9746 __pyx_t_5 = PyList_GET_ITEM(sequence, 0)(((PyListObject *)(sequence))->ob_item[0]);
9747 __pyx_t_6 = PyList_GET_ITEM(sequence, 1)(((PyListObject *)(sequence))->ob_item[1]);
9748 }
9749 __Pyx_INCREF(__pyx_t_5)( ((PyObject*)(__pyx_t_5))->ob_refcnt++);
9750 __Pyx_INCREF(__pyx_t_6)( ((PyObject*)(__pyx_t_6))->ob_refcnt++);
9751 #else
9752 __pyx_t_5 = PySequence_ITEM(sequence, 0)( (((PyObject*)(sequence))->ob_type)->tp_as_sequence->
sq_item(sequence, 0) )
; if (unlikely(!__pyx_t_5)__builtin_expect(!!(!__pyx_t_5), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__9752; goto __pyx_L1_error;}
9753 __Pyx_GOTREF(__pyx_t_5);
9754 __pyx_t_6 = PySequence_ITEM(sequence, 1)( (((PyObject*)(sequence))->ob_type)->tp_as_sequence->
sq_item(sequence, 1) )
; if (unlikely(!__pyx_t_6)__builtin_expect(!!(!__pyx_t_6), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__9754; goto __pyx_L1_error;}
9755 __Pyx_GOTREF(__pyx_t_6);
9756 #endif
9757 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
9758 } else {
9759 Py_ssize_t index = -1;
9760 __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)__builtin_expect(!!(!__pyx_t_7), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__9760; goto __pyx_L1_error;}
9761 __Pyx_GOTREF(__pyx_t_7);
9762 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
9763 __pyx_t_8 = Py_TYPE(__pyx_t_7)(((PyObject*)(__pyx_t_7))->ob_type)->tp_iternext;
9764 index = 0; __pyx_t_5 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_5)__builtin_expect(!!(!__pyx_t_5), 0)) goto __pyx_L5_unpacking_failed;
9765 __Pyx_GOTREF(__pyx_t_5);
9766 index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)__builtin_expect(!!(!__pyx_t_6), 0)) goto __pyx_L5_unpacking_failed;
9767 __Pyx_GOTREF(__pyx_t_6);
9768 if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__9768; goto __pyx_L1_error;}
9769 __pyx_t_8 = NULL((void*)0);
9770 __Pyx_DECREF(__pyx_t_7)do { if ( --((PyObject*)(__pyx_t_7))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_7)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_7)))); } while (
0)
; __pyx_t_7 = 0;
9771 goto __pyx_L6_unpacking_done;
9772 __pyx_L5_unpacking_failed:;
9773 __Pyx_DECREF(__pyx_t_7)do { if ( --((PyObject*)(__pyx_t_7))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_7)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_7)))); } while (
0)
; __pyx_t_7 = 0;
9774 __pyx_t_8 = NULL((void*)0);
9775 if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
9776 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__9776; goto __pyx_L1_error;}
9777 __pyx_L6_unpacking_done:;
9778 }
9779 __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_5)do { PyObject *tmp = (PyObject *) __pyx_v_key; __pyx_v_key = __pyx_t_5
; do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0); } while (0)
;
9780 __pyx_t_5 = 0;
9781 __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_6)do { PyObject *tmp = (PyObject *) __pyx_v_value; __pyx_v_value
= __pyx_t_6; do { if ((tmp) == ((void*)0)) ; else do { if ( --
((PyObject*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject
*)((PyObject *)(tmp)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(tmp)))); } while (0); } while (0); } while (
0)
;
9782 __pyx_t_6 = 0;
9783
9784 /* "xmmsapi.pyx":417
9785 * self.doc = doc
9786 * for key, value in kw.items():
9787 * setattr(self, key, value) # <<<<<<<<<<<<<<
9788 *
9789 * class service_method:
9790 */
9791 __pyx_t_9 = PyObject_SetAttr(__pyx_v_self, __pyx_v_key, __pyx_v_value); if (unlikely(__pyx_t_9 == -1)__builtin_expect(!!(__pyx_t_9 == -1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__9791; goto __pyx_L1_error;}
9792 }
9793 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
9794
9795 /* "xmmsapi.pyx":414
9796 *
9797 * class method_varg:
9798 * def __init__(self, doc = '', **kw): # <<<<<<<<<<<<<<
9799 * self.doc = doc
9800 * for key, value in kw.items():
9801 */
9802
9803 /* function exit code */
9804 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
9805 goto __pyx_L0;
9806 __pyx_L1_error:;
9807 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
9808 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
9809 __Pyx_XDECREF(__pyx_t_5)do { if ((__pyx_t_5) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_5))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_5)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_5)))); } while (0); } while (0)
;
9810 __Pyx_XDECREF(__pyx_t_6)do { if ((__pyx_t_6) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_6))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_6)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_6)))); } while (0); } while (0)
;
9811 __Pyx_XDECREF(__pyx_t_7)do { if ((__pyx_t_7) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_7))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_7)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_7)))); } while (0); } while (0)
;
9812 __Pyx_AddTraceback("xmmsapi.method_varg.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
9813 __pyx_r = NULL((void*)0);
9814 __pyx_L0:;
9815 __Pyx_XDECREF(__pyx_v_key)do { if ((__pyx_v_key) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_key))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(__pyx_v_key)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_key)))); } while (0); } while (0)
;
9816 __Pyx_XDECREF(__pyx_v_value)do { if ((__pyx_v_value) == ((void*)0)) ; else do { if ( --((
PyObject*)(__pyx_v_value))->ob_refcnt != 0) ; else ( (*(((
PyObject*)((PyObject *)(__pyx_v_value)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(__pyx_v_value)))); } while (0); }
while (0)
;
9817 __Pyx_XGIVEREF(__pyx_r);
9818 __Pyx_RefNannyFinishContext();
9819 return __pyx_r;
9820}
9821
9822/* "xmmsapi.pyx":420
9823 *
9824 * class service_method:
9825 * def __init__(self, positional = None, named = None, name = None, doc = None): # <<<<<<<<<<<<<<
9826 * self.positional = positional or ()
9827 * self.named = named or ()
9828 */
9829
9830/* Python wrapper */
9831static PyObject *__pyx_pw_7xmmsapi_14service_method_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
9832static char __pyx_doc_7xmmsapi_14service_method___init__[] = "service_method.__init__(self, positional=None, named=None, name=None, doc=None)";
9833static PyMethodDef __pyx_mdef_7xmmsapi_14service_method_1__init__ = {__Pyx_NAMESTR("__init__")("__init__"), (PyCFunction)__pyx_pw_7xmmsapi_14service_method_1__init__, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_14service_method___init__)(__pyx_doc_7xmmsapi_14service_method___init__)};
9834static PyObject *__pyx_pw_7xmmsapi_14service_method_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
9835 PyObject *__pyx_v_self = 0;
9836 PyObject *__pyx_v_positional = 0;
9837 PyObject *__pyx_v_named = 0;
9838 PyObject *__pyx_v_name = 0;
9839 PyObject *__pyx_v_doc = 0;
9840 int __pyx_lineno = 0;
9841 const char *__pyx_filename = NULL((void*)0);
9842 int __pyx_clineno = 0;
9843 PyObject *__pyx_r = 0;
9844 __Pyx_RefNannyDeclarations
9845 __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
9846 {
9847 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_positional,&__pyx_n_s_named,&__pyx_n_s_name_2,&__pyx_n_s_doc_2,0};
9848 PyObject* values[5] = {0,0,0,0,0};
9849 values[1] = ((PyObject *)((PyObject *)Py_None(&_Py_NoneStruct)));
9850 values[2] = ((PyObject *)((PyObject *)Py_None(&_Py_NoneStruct)));
9851 values[3] = ((PyObject *)((PyObject *)Py_None(&_Py_NoneStruct)));
9852 values[4] = ((PyObject *)((PyObject *)Py_None(&_Py_NoneStruct)));
9853 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
9854 Py_ssize_t kw_args;
9855 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
9856 switch (pos_args) {
9857 case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4)(((PyTupleObject *)(__pyx_args))->ob_item[4]);
9858 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
9859 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
9860 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
9861 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
9862 case 0: break;
9863 default: goto __pyx_L5_argtuple_error;
9864 }
9865 kw_args = PyDict_Size(__pyx_kwds);
9866 switch (pos_args) {
9867 case 0:
9868 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self
)) != 0), 1)
) kw_args--;
9869 else goto __pyx_L5_argtuple_error;
9870 case 1:
9871 if (kw_args > 0) {
9872 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_positional);
9873 if (value) { values[1] = value; kw_args--; }
9874 }
9875 case 2:
9876 if (kw_args > 0) {
9877 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_named);
9878 if (value) { values[2] = value; kw_args--; }
9879 }
9880 case 3:
9881 if (kw_args > 0) {
9882 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name_2);
9883 if (value) { values[3] = value; kw_args--; }
9884 }
9885 case 4:
9886 if (kw_args > 0) {
9887 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_doc_2);
9888 if (value) { values[4] = value; kw_args--; }
9889 }
9890 }
9891 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
9892 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "__init__") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__9892; goto __pyx_L3_error;}
9893 }
9894 } else {
9895 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
9896 case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4)(((PyTupleObject *)(__pyx_args))->ob_item[4]);
9897 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
9898 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
9899 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
9900 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
9901 break;
9902 default: goto __pyx_L5_argtuple_error;
9903 }
9904 }
9905 __pyx_v_self = values[0];
9906 __pyx_v_positional = values[1];
9907 __pyx_v_named = values[2];
9908 __pyx_v_name = values[3];
9909 __pyx_v_doc = values[4];
9910 }
9911 goto __pyx_L4_argument_unpacking_done;
9912 __pyx_L5_argtuple_error:;
9913 __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 5, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__9913; goto __pyx_L3_error;}
9914 __pyx_L3_error:;
9915 __Pyx_AddTraceback("xmmsapi.service_method.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
9916 __Pyx_RefNannyFinishContext();
9917 return NULL((void*)0);
9918 __pyx_L4_argument_unpacking_done:;
9919 __pyx_r = __pyx_pf_7xmmsapi_14service_method___init__(__pyx_self, __pyx_v_self, __pyx_v_positional, __pyx_v_named, __pyx_v_name, __pyx_v_doc);
9920
9921 /* function exit code */
9922 __Pyx_RefNannyFinishContext();
9923 return __pyx_r;
9924}
9925
9926static PyObject *__pyx_pf_7xmmsapi_14service_method___init__(CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_positional, PyObject *__pyx_v_named, PyObject *__pyx_v_name, PyObject *__pyx_v_doc) {
9927 PyObject *__pyx_r = NULL((void*)0);
9928 __Pyx_RefNannyDeclarations
9929 int __pyx_t_1;
9930 PyObject *__pyx_t_2 = NULL((void*)0);
9931 int __pyx_lineno = 0;
9932 const char *__pyx_filename = NULL((void*)0);
9933 int __pyx_clineno = 0;
9934 __Pyx_RefNannySetupContext("__init__", 0);
9935
9936 /* "xmmsapi.pyx":421
9937 * class service_method:
9938 * def __init__(self, positional = None, named = None, name = None, doc = None):
9939 * self.positional = positional or () # <<<<<<<<<<<<<<
9940 * self.named = named or ()
9941 * self.name = name
9942 */
9943 __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_positional); if (unlikely(__pyx_t_1 < 0)__builtin_expect(!!(__pyx_t_1 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__9943; goto __pyx_L1_error;}
9944 if (!__pyx_t_1) {
9945 __Pyx_INCREF(__pyx_empty_tuple)( ((PyObject*)(__pyx_empty_tuple))->ob_refcnt++);
9946 __pyx_t_2 = __pyx_empty_tuple;
9947 } else {
9948 __Pyx_INCREF(__pyx_v_positional)( ((PyObject*)(__pyx_v_positional))->ob_refcnt++);
9949 __pyx_t_2 = __pyx_v_positional;
9950 }
9951 if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_positional, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__9951; goto __pyx_L1_error;}
9952 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
9953
9954 /* "xmmsapi.pyx":422
9955 * def __init__(self, positional = None, named = None, name = None, doc = None):
9956 * self.positional = positional or ()
9957 * self.named = named or () # <<<<<<<<<<<<<<
9958 * self.name = name
9959 * self.doc = doc
9960 */
9961 __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_named); if (unlikely(__pyx_t_1 < 0)__builtin_expect(!!(__pyx_t_1 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__9961; goto __pyx_L1_error;}
9962 if (!__pyx_t_1) {
9963 __Pyx_INCREF(__pyx_empty_tuple)( ((PyObject*)(__pyx_empty_tuple))->ob_refcnt++);
9964 __pyx_t_2 = __pyx_empty_tuple;
9965 } else {
9966 __Pyx_INCREF(__pyx_v_named)( ((PyObject*)(__pyx_v_named))->ob_refcnt++);
9967 __pyx_t_2 = __pyx_v_named;
9968 }
9969 if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_named, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__9969; goto __pyx_L1_error;}
9970 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
9971
9972 /* "xmmsapi.pyx":423
9973 * self.positional = positional or ()
9974 * self.named = named or ()
9975 * self.name = name # <<<<<<<<<<<<<<
9976 * self.doc = doc
9977 *
9978 */
9979 if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_name_2, __pyx_v_name) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__9979; goto __pyx_L1_error;}
9980
9981 /* "xmmsapi.pyx":424
9982 * self.named = named or ()
9983 * self.name = name
9984 * self.doc = doc # <<<<<<<<<<<<<<
9985 *
9986 * def __call__(self, f):
9987 */
9988 if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_doc_2, __pyx_v_doc) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__9988; goto __pyx_L1_error;}
9989
9990 /* "xmmsapi.pyx":420
9991 *
9992 * class service_method:
9993 * def __init__(self, positional = None, named = None, name = None, doc = None): # <<<<<<<<<<<<<<
9994 * self.positional = positional or ()
9995 * self.named = named or ()
9996 */
9997
9998 /* function exit code */
9999 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
10000 goto __pyx_L0;
10001 __pyx_L1_error:;
10002 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
10003 __Pyx_AddTraceback("xmmsapi.service_method.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
10004 __pyx_r = NULL((void*)0);
10005 __pyx_L0:;
10006 __Pyx_XGIVEREF(__pyx_r);
10007 __Pyx_RefNannyFinishContext();
10008 return __pyx_r;
10009}
10010
10011/* "xmmsapi.pyx":426
10012 * self.doc = doc
10013 *
10014 * def __call__(self, f): # <<<<<<<<<<<<<<
10015 * f._xmms_service_entity = dict(
10016 * entity = 'method',
10017 */
10018
10019/* Python wrapper */
10020static PyObject *__pyx_pw_7xmmsapi_14service_method_3__call__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
10021static char __pyx_doc_7xmmsapi_14service_method_2__call__[] = "service_method.__call__(self, f)";
10022static PyMethodDef __pyx_mdef_7xmmsapi_14service_method_3__call__ = {__Pyx_NAMESTR("__call__")("__call__"), (PyCFunction)__pyx_pw_7xmmsapi_14service_method_3__call__, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_14service_method_2__call__)(__pyx_doc_7xmmsapi_14service_method_2__call__)};
10023static PyObject *__pyx_pw_7xmmsapi_14service_method_3__call__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
10024 PyObject *__pyx_v_self = 0;
10025 PyObject *__pyx_v_f = 0;
10026 int __pyx_lineno = 0;
10027 const char *__pyx_filename = NULL((void*)0);
10028 int __pyx_clineno = 0;
10029 PyObject *__pyx_r = 0;
10030 __Pyx_RefNannyDeclarations
10031 __Pyx_RefNannySetupContext("__call__ (wrapper)", 0);
10032 {
10033 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_f,0};
10034 PyObject* values[2] = {0,0};
10035 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
10036 Py_ssize_t kw_args;
10037 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
10038 switch (pos_args) {
10039 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
10040 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
10041 case 0: break;
10042 default: goto __pyx_L5_argtuple_error;
10043 }
10044 kw_args = PyDict_Size(__pyx_kwds);
10045 switch (pos_args) {
10046 case 0:
10047 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self
)) != 0), 1)
) kw_args--;
10048 else goto __pyx_L5_argtuple_error;
10049 case 1:
10050 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_f)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_f
)) != 0), 1)
) kw_args--;
10051 else {
10052 __Pyx_RaiseArgtupleInvalid("__call__", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__10052; goto __pyx_L3_error;}
10053 }
10054 }
10055 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
10056 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__call__") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "__call__") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__10056; goto __pyx_L3_error;}
10057 }
10058 } else if (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size) != 2) {
10059 goto __pyx_L5_argtuple_error;
10060 } else {
10061 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
10062 values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
10063 }
10064 __pyx_v_self = values[0];
10065 __pyx_v_f = values[1];
10066 }
10067 goto __pyx_L4_argument_unpacking_done;
10068 __pyx_L5_argtuple_error:;
10069 __Pyx_RaiseArgtupleInvalid("__call__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__10069; goto __pyx_L3_error;}
10070 __pyx_L3_error:;
10071 __Pyx_AddTraceback("xmmsapi.service_method.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename);
10072 __Pyx_RefNannyFinishContext();
10073 return NULL((void*)0);
10074 __pyx_L4_argument_unpacking_done:;
10075 __pyx_r = __pyx_pf_7xmmsapi_14service_method_2__call__(__pyx_self, __pyx_v_self, __pyx_v_f);
10076
10077 /* function exit code */
10078 __Pyx_RefNannyFinishContext();
10079 return __pyx_r;
10080}
10081
10082static PyObject *__pyx_pf_7xmmsapi_14service_method_2__call__(CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_f) {
10083 PyObject *__pyx_r = NULL((void*)0);
10084 __Pyx_RefNannyDeclarations
10085 PyObject *__pyx_t_1 = NULL((void*)0);
10086 PyObject *__pyx_t_2 = NULL((void*)0);
10087 int __pyx_t_3;
10088 PyObject *__pyx_t_4 = NULL((void*)0);
10089 PyObject *__pyx_t_5 = NULL((void*)0);
10090 int __pyx_lineno = 0;
10091 const char *__pyx_filename = NULL((void*)0);
10092 int __pyx_clineno = 0;
10093 __Pyx_RefNannySetupContext("__call__", 0);
10094
10095 /* "xmmsapi.pyx":427
10096 *
10097 * def __call__(self, f):
10098 * f._xmms_service_entity = dict( # <<<<<<<<<<<<<<
10099 * entity = 'method',
10100 * positional = self.positional,
10101 */
10102 __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__10102; goto __pyx_L1_error;}
10103 __Pyx_GOTREF(__pyx_t_1);
10104 if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_entity, __pyx_n_s_method) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__10104; goto __pyx_L1_error;}
10105
10106 /* "xmmsapi.pyx":429
10107 * f._xmms_service_entity = dict(
10108 * entity = 'method',
10109 * positional = self.positional, # <<<<<<<<<<<<<<
10110 * named = self.named,
10111 * name = self.name or f.__name__,
10112 */
10113 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_positional); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__10113; goto __pyx_L1_error;}
10114 __Pyx_GOTREF(__pyx_t_2);
10115 if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_positional, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__10115; goto __pyx_L1_error;}
10116 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
10117
10118 /* "xmmsapi.pyx":430
10119 * entity = 'method',
10120 * positional = self.positional,
10121 * named = self.named, # <<<<<<<<<<<<<<
10122 * name = self.name or f.__name__,
10123 * doc = self.doc or f.__doc__,
10124 */
10125 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_named); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__10125; goto __pyx_L1_error;}
10126 __Pyx_GOTREF(__pyx_t_2);
10127 if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_named, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__10127; goto __pyx_L1_error;}
10128 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
10129
10130 /* "xmmsapi.pyx":431
10131 * positional = self.positional,
10132 * named = self.named,
10133 * name = self.name or f.__name__, # <<<<<<<<<<<<<<
10134 * doc = self.doc or f.__doc__,
10135 * )
10136 */
10137 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_name_2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__10137; goto __pyx_L1_error;}
10138 __Pyx_GOTREF(__pyx_t_2);
10139 __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)__builtin_expect(!!(__pyx_t_3 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__10139; goto __pyx_L1_error;}
10140 if (!__pyx_t_3) {
10141 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
10142 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_name); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__10142; goto __pyx_L1_error;}
10143 __Pyx_GOTREF(__pyx_t_4);
10144 __pyx_t_5 = __pyx_t_4;
10145 __pyx_t_4 = 0;
10146 } else {
10147 __pyx_t_5 = __pyx_t_2;
10148 __pyx_t_2 = 0;
10149 }
10150 if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_name_2, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__10150; goto __pyx_L1_error;}
10151 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
10152
10153 /* "xmmsapi.pyx":432
10154 * named = self.named,
10155 * name = self.name or f.__name__,
10156 * doc = self.doc or f.__doc__, # <<<<<<<<<<<<<<
10157 * )
10158 * return f
10159 */
10160 __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_doc_2); if (unlikely(!__pyx_t_5)__builtin_expect(!!(!__pyx_t_5), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__10160; goto __pyx_L1_error;}
10161 __Pyx_GOTREF(__pyx_t_5);
10162 __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)__builtin_expect(!!(__pyx_t_3 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__10162; goto __pyx_L1_error;}
10163 if (!__pyx_t_3) {
10164 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
10165 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_doc); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__10165; goto __pyx_L1_error;}
10166 __Pyx_GOTREF(__pyx_t_2);
10167 __pyx_t_4 = __pyx_t_2;
10168 __pyx_t_2 = 0;
10169 } else {
10170 __pyx_t_4 = __pyx_t_5;
10171 __pyx_t_5 = 0;
10172 }
10173 if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_doc_2, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__10173; goto __pyx_L1_error;}
10174 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
10175
10176 /* "xmmsapi.pyx":427
10177 *
10178 * def __call__(self, f):
10179 * f._xmms_service_entity = dict( # <<<<<<<<<<<<<<
10180 * entity = 'method',
10181 * positional = self.positional,
10182 */
10183 if (__Pyx_PyObject_SetAttrStr(__pyx_v_f, __pyx_n_s_xmms_service_entity, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__10183; goto __pyx_L1_error;}
10184 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
10185
10186 /* "xmmsapi.pyx":434
10187 * doc = self.doc or f.__doc__,
10188 * )
10189 * return f # <<<<<<<<<<<<<<
10190 *
10191 * cdef class service_broadcast:
10192 */
10193 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
10194 __Pyx_INCREF(__pyx_v_f)( ((PyObject*)(__pyx_v_f))->ob_refcnt++);
10195 __pyx_r = __pyx_v_f;
10196 goto __pyx_L0;
10197
10198 /* "xmmsapi.pyx":426
10199 * self.doc = doc
10200 *
10201 * def __call__(self, f): # <<<<<<<<<<<<<<
10202 * f._xmms_service_entity = dict(
10203 * entity = 'method',
10204 */
10205
10206 /* function exit code */
10207 __pyx_L1_error:;
10208 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
10209 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
10210 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
;
10211 __Pyx_XDECREF(__pyx_t_5)do { if ((__pyx_t_5) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_5))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_5)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_5)))); } while (0); } while (0)
;
10212 __Pyx_AddTraceback("xmmsapi.service_method.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename);
10213 __pyx_r = NULL((void*)0);
10214 __pyx_L0:;
10215 __Pyx_XGIVEREF(__pyx_r);
10216 __Pyx_RefNannyFinishContext();
10217 return __pyx_r;
10218}
10219
10220/* "xmmsapi.pyx":437
10221 *
10222 * cdef class service_broadcast:
10223 * def __init__(self, name = None, doc = None): # <<<<<<<<<<<<<<
10224 * self.name = name
10225 * self.doc = doc
10226 */
10227
10228/* Python wrapper */
10229static int __pyx_pw_7xmmsapi_17service_broadcast_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
10230static int __pyx_pw_7xmmsapi_17service_broadcast_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
10231 PyObject *__pyx_v_name = 0;
10232 PyObject *__pyx_v_doc = 0;
10233 int __pyx_lineno = 0;
10234 const char *__pyx_filename = NULL((void*)0);
10235 int __pyx_clineno = 0;
10236 int __pyx_r;
10237 __Pyx_RefNannyDeclarations
10238 __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
10239 {
10240 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name_2,&__pyx_n_s_doc_2,0};
10241 PyObject* values[2] = {0,0};
10242 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
10243 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
10244 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
10245 Py_ssize_t kw_args;
10246 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
10247 switch (pos_args) {
10248 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
10249 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
10250 case 0: break;
10251 default: goto __pyx_L5_argtuple_error;
10252 }
10253 kw_args = PyDict_Size(__pyx_kwds);
10254 switch (pos_args) {
10255 case 0:
10256 if (kw_args > 0) {
10257 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name_2);
10258 if (value) { values[0] = value; kw_args--; }
10259 }
10260 case 1:
10261 if (kw_args > 0) {
10262 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_doc_2);
10263 if (value) { values[1] = value; kw_args--; }
10264 }
10265 }
10266 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
10267 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "__init__") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__10267; goto __pyx_L3_error;}
10268 }
10269 } else {
10270 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
10271 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
10272 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
10273 case 0: break;
10274 default: goto __pyx_L5_argtuple_error;
10275 }
10276 }
10277 __pyx_v_name = values[0];
10278 __pyx_v_doc = values[1];
10279 }
10280 goto __pyx_L4_argument_unpacking_done;
10281 __pyx_L5_argtuple_error:;
10282 __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__10282; goto __pyx_L3_error;}
10283 __pyx_L3_error:;
10284 __Pyx_AddTraceback("xmmsapi.service_broadcast.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
10285 __Pyx_RefNannyFinishContext();
10286 return -1;
10287 __pyx_L4_argument_unpacking_done:;
10288 __pyx_r = __pyx_pf_7xmmsapi_17service_broadcast___init__(((struct __pyx_obj_7xmmsapi_service_broadcast *)__pyx_v_self), __pyx_v_name, __pyx_v_doc);
10289
10290 /* function exit code */
10291 __Pyx_RefNannyFinishContext();
10292 return __pyx_r;
10293}
10294
10295static int __pyx_pf_7xmmsapi_17service_broadcast___init__(struct __pyx_obj_7xmmsapi_service_broadcast *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_doc) {
10296 int __pyx_r;
10297 __Pyx_RefNannyDeclarations
10298 __Pyx_RefNannySetupContext("__init__", 0);
10299
10300 /* "xmmsapi.pyx":438
10301 * cdef class service_broadcast:
10302 * def __init__(self, name = None, doc = None):
10303 * self.name = name # <<<<<<<<<<<<<<
10304 * self.doc = doc
10305 *
10306 */
10307 __Pyx_INCREF(__pyx_v_name)( ((PyObject*)(__pyx_v_name))->ob_refcnt++);
10308 __Pyx_GIVEREF(__pyx_v_name);
10309 __Pyx_GOTREF(__pyx_v_self->name);
10310 __Pyx_DECREF(__pyx_v_self->name)do { if ( --((PyObject*)(__pyx_v_self->name))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)(__pyx_v_self->
name)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *
)(__pyx_v_self->name)))); } while (0)
;
10311 __pyx_v_self->name = __pyx_v_name;
10312
10313 /* "xmmsapi.pyx":439
10314 * def __init__(self, name = None, doc = None):
10315 * self.name = name
10316 * self.doc = doc # <<<<<<<<<<<<<<
10317 *
10318 * cdef bind(self, XmmsServiceNamespace namespace, name = None):
10319 */
10320 __Pyx_INCREF(__pyx_v_doc)( ((PyObject*)(__pyx_v_doc))->ob_refcnt++);
10321 __Pyx_GIVEREF(__pyx_v_doc);
10322 __Pyx_GOTREF(__pyx_v_self->doc);
10323 __Pyx_DECREF(__pyx_v_self->doc)do { if ( --((PyObject*)(__pyx_v_self->doc))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)(__pyx_v_self->
doc)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)
(__pyx_v_self->doc)))); } while (0)
;
10324 __pyx_v_self->doc = __pyx_v_doc;
10325
10326 /* "xmmsapi.pyx":437
10327 *
10328 * cdef class service_broadcast:
10329 * def __init__(self, name = None, doc = None): # <<<<<<<<<<<<<<
10330 * self.name = name
10331 * self.doc = doc
10332 */
10333
10334 /* function exit code */
10335 __pyx_r = 0;
10336 __Pyx_RefNannyFinishContext();
10337 return __pyx_r;
10338}
10339
10340/* "xmmsapi.pyx":441
10341 * self.doc = doc
10342 *
10343 * cdef bind(self, XmmsServiceNamespace namespace, name = None): # <<<<<<<<<<<<<<
10344 * cdef service_broadcast obj
10345 * obj = service_broadcast(self.name or name, self.doc)
10346 */
10347
10348static PyObject *__pyx_f_7xmmsapi_17service_broadcast_bind(struct __pyx_obj_7xmmsapi_service_broadcast *__pyx_v_self, struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *__pyx_v_namespace, struct __pyx_opt_args_7xmmsapi_17service_broadcast_bind *__pyx_optional_args) {
10349 PyObject *__pyx_v_name = ((PyObject *)Py_None(&_Py_NoneStruct));
10350 struct __pyx_obj_7xmmsapi_service_broadcast *__pyx_v_obj = 0;
10351 PyObject *__pyx_r = NULL((void*)0);
10352 __Pyx_RefNannyDeclarations
10353 int __pyx_t_1;
10354 PyObject *__pyx_t_2 = NULL((void*)0);
10355 PyObject *__pyx_t_3 = NULL((void*)0);
10356 int __pyx_lineno = 0;
10357 const char *__pyx_filename = NULL((void*)0);
10358 int __pyx_clineno = 0;
10359 __Pyx_RefNannySetupContext("bind", 0);
10360 if (__pyx_optional_args) {
10361 if (__pyx_optional_args->__pyx_n > 0) {
10362 __pyx_v_name = __pyx_optional_args->name;
10363 }
10364 }
10365
10366 /* "xmmsapi.pyx":443
10367 * cdef bind(self, XmmsServiceNamespace namespace, name = None):
10368 * cdef service_broadcast obj
10369 * obj = service_broadcast(self.name or name, self.doc) # <<<<<<<<<<<<<<
10370 * obj.namespace = namespace
10371 * return obj
10372 */
10373 __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_self->name); if (unlikely(__pyx_t_1 < 0)__builtin_expect(!!(__pyx_t_1 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__10373; goto __pyx_L1_error;}
10374 if (!__pyx_t_1) {
10375 __Pyx_INCREF(__pyx_v_name)( ((PyObject*)(__pyx_v_name))->ob_refcnt++);
10376 __pyx_t_2 = __pyx_v_name;
10377 } else {
10378 __Pyx_INCREF(__pyx_v_self->name)( ((PyObject*)(__pyx_v_self->name))->ob_refcnt++);
10379 __pyx_t_2 = __pyx_v_self->name;
10380 }
10381 __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__10381; goto __pyx_L1_error;}
10382 __Pyx_GOTREF(__pyx_t_3);
10383 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
10384 __Pyx_GIVEREF(__pyx_t_2);
10385 __Pyx_INCREF(__pyx_v_self->doc)( ((PyObject*)(__pyx_v_self->doc))->ob_refcnt++);
10386 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_self->doc)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_self
->doc)
;
10387 __Pyx_GIVEREF(__pyx_v_self->doc);
10388 __pyx_t_2 = 0;
10389 __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_7xmmsapi_service_broadcast)), __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__10389; goto __pyx_L1_error;}
10390 __Pyx_GOTREF(__pyx_t_2);
10391 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
10392 __pyx_v_obj = ((struct __pyx_obj_7xmmsapi_service_broadcast *)__pyx_t_2);
10393 __pyx_t_2 = 0;
10394
10395 /* "xmmsapi.pyx":444
10396 * cdef service_broadcast obj
10397 * obj = service_broadcast(self.name or name, self.doc)
10398 * obj.namespace = namespace # <<<<<<<<<<<<<<
10399 * return obj
10400 *
10401 */
10402 __Pyx_INCREF(((PyObject *)__pyx_v_namespace))( ((PyObject*)(((PyObject *)__pyx_v_namespace)))->ob_refcnt
++)
;
10403 __Pyx_GIVEREF(((PyObject *)__pyx_v_namespace));
10404 __Pyx_GOTREF(__pyx_v_obj->namespace);
10405 __Pyx_DECREF(((PyObject *)__pyx_v_obj->namespace))do { if ( --((PyObject*)(((PyObject *)__pyx_v_obj->namespace
)))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)
(((PyObject *)__pyx_v_obj->namespace))))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(((PyObject *)__pyx_v_obj
->namespace))))); } while (0)
;
10406 __pyx_v_obj->namespace = __pyx_v_namespace;
10407
10408 /* "xmmsapi.pyx":445
10409 * obj = service_broadcast(self.name or name, self.doc)
10410 * obj.namespace = namespace
10411 * return obj # <<<<<<<<<<<<<<
10412 *
10413 * cpdef emit(self, value = None):
10414 */
10415 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
10416 __Pyx_INCREF(((PyObject *)__pyx_v_obj))( ((PyObject*)(((PyObject *)__pyx_v_obj)))->ob_refcnt++);
10417 __pyx_r = ((PyObject *)__pyx_v_obj);
10418 goto __pyx_L0;
10419
10420 /* "xmmsapi.pyx":441
10421 * self.doc = doc
10422 *
10423 * cdef bind(self, XmmsServiceNamespace namespace, name = None): # <<<<<<<<<<<<<<
10424 * cdef service_broadcast obj
10425 * obj = service_broadcast(self.name or name, self.doc)
10426 */
10427
10428 /* function exit code */
10429 __pyx_L1_error:;
10430 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
10431 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
10432 __Pyx_AddTraceback("xmmsapi.service_broadcast.bind", __pyx_clineno, __pyx_lineno, __pyx_filename);
10433 __pyx_r = 0;
10434 __pyx_L0:;
10435 __Pyx_XDECREF((PyObject *)__pyx_v_obj)do { if (((PyObject *)__pyx_v_obj) == ((void*)0)) ; else do {
if ( --((PyObject*)((PyObject *)__pyx_v_obj))->ob_refcnt !=
0) ; else ( (*(((PyObject*)((PyObject *)((PyObject *)__pyx_v_obj
)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)((PyObject
*)__pyx_v_obj)))); } while (0); } while (0)
;
10436 __Pyx_XGIVEREF(__pyx_r);
10437 __Pyx_RefNannyFinishContext();
10438 return __pyx_r;
10439}
10440
10441/* "xmmsapi.pyx":447
10442 * return obj
10443 *
10444 * cpdef emit(self, value = None): # <<<<<<<<<<<<<<
10445 * if not self.namespace:
10446 * raise RuntimeError("No namespace bound to broadcast")
10447 */
10448
10449static PyObject *__pyx_pw_7xmmsapi_17service_broadcast_3emit(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
10450static PyObject *__pyx_f_7xmmsapi_17service_broadcast_emit(struct __pyx_obj_7xmmsapi_service_broadcast *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_17service_broadcast_emit *__pyx_optional_args) {
10451 PyObject *__pyx_v_value = ((PyObject *)Py_None(&_Py_NoneStruct));
10452 PyObject *__pyx_v_path = NULL((void*)0);
10453 PyObject *__pyx_r = NULL((void*)0);
10454 __Pyx_RefNannyDeclarations
10455 PyObject *__pyx_t_1 = NULL((void*)0);
10456 PyObject *__pyx_t_2 = NULL((void*)0);
10457 PyObject *__pyx_t_3 = NULL((void*)0);
10458 int __pyx_t_4;
10459 int __pyx_t_5;
10460 int __pyx_lineno = 0;
10461 const char *__pyx_filename = NULL((void*)0);
10462 int __pyx_clineno = 0;
10463 __Pyx_RefNannySetupContext("emit", 0);
10464 if (__pyx_optional_args) {
10465 if (__pyx_optional_args->__pyx_n > 0) {
10466 __pyx_v_value = __pyx_optional_args->value;
10467 }
10468 }
10469 /* Check if called by wrapper */
10470 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
10471 /* Check if overridden in Python */
10472 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
10473 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_emit); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__10473; goto __pyx_L1_error;}
10474 __Pyx_GOTREF(__pyx_t_1);
10475 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_17service_broadcast_3emit)) {
10476 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
10477 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__10477; goto __pyx_L1_error;}
10478 __Pyx_GOTREF(__pyx_t_2);
10479 __Pyx_INCREF(__pyx_v_value)( ((PyObject*)(__pyx_v_value))->ob_refcnt++);
10480 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_value)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_value
)
;
10481 __Pyx_GIVEREF(__pyx_v_value);
10482 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__10482; goto __pyx_L1_error;}
10483 __Pyx_GOTREF(__pyx_t_3);
10484 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
10485 __pyx_r = __pyx_t_3;
10486 __pyx_t_3 = 0;
10487 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
10488 goto __pyx_L0;
10489 }
10490 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
10491 }
10492
10493 /* "xmmsapi.pyx":448
10494 *
10495 * cpdef emit(self, value = None):
10496 * if not self.namespace: # <<<<<<<<<<<<<<
10497 * raise RuntimeError("No namespace bound to broadcast")
10498 * path = self.namespace.path + (self.name,)
10499 */
10500 __pyx_t_4 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->namespace)); if (unlikely(__pyx_t_4 < 0)__builtin_expect(!!(__pyx_t_4 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__10500; goto __pyx_L1_error;}
10501 __pyx_t_5 = ((!__pyx_t_4) != 0);
10502 if (__pyx_t_5) {
10503
10504 /* "xmmsapi.pyx":449
10505 * cpdef emit(self, value = None):
10506 * if not self.namespace:
10507 * raise RuntimeError("No namespace bound to broadcast") # <<<<<<<<<<<<<<
10508 * path = self.namespace.path + (self.name,)
10509 * return self.namespace.xmms.sc_broadcast_emit(path, value)
10510 */
10511 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__16, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__10511; goto __pyx_L1_error;}
10512 __Pyx_GOTREF(__pyx_t_1);
10513 __Pyx_Raise(__pyx_t_1, 0, 0, 0);
10514 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
10515 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__10515; goto __pyx_L1_error;}
10516 }
10517
10518 /* "xmmsapi.pyx":450
10519 * if not self.namespace:
10520 * raise RuntimeError("No namespace bound to broadcast")
10521 * path = self.namespace.path + (self.name,) # <<<<<<<<<<<<<<
10522 * return self.namespace.xmms.sc_broadcast_emit(path, value)
10523 *
10524 */
10525 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->namespace), __pyx_n_s_path); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__10525; goto __pyx_L1_error;}
10526 __Pyx_GOTREF(__pyx_t_1);
10527 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__10527; goto __pyx_L1_error;}
10528 __Pyx_GOTREF(__pyx_t_3);
10529 __Pyx_INCREF(__pyx_v_self->name)( ((PyObject*)(__pyx_v_self->name))->ob_refcnt++);
10530 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_self->name)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_v_self
->name)
;
10531 __Pyx_GIVEREF(__pyx_v_self->name);
10532 __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__10532; goto __pyx_L1_error;}
10533 __Pyx_GOTREF(__pyx_t_2);
10534 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
10535 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
10536 __pyx_v_path = __pyx_t_2;
10537 __pyx_t_2 = 0;
10538
10539 /* "xmmsapi.pyx":451
10540 * raise RuntimeError("No namespace bound to broadcast")
10541 * path = self.namespace.path + (self.name,)
10542 * return self.namespace.xmms.sc_broadcast_emit(path, value) # <<<<<<<<<<<<<<
10543 *
10544 * def __call__(self, value = None):
10545 */
10546 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
10547 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->namespace->xmms), __pyx_n_s_sc_broadcast_emit); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__10547; goto __pyx_L1_error;}
10548 __Pyx_GOTREF(__pyx_t_2);
10549 __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__10549; goto __pyx_L1_error;}
10550 __Pyx_GOTREF(__pyx_t_3);
10551 __Pyx_INCREF(__pyx_v_path)( ((PyObject*)(__pyx_v_path))->ob_refcnt++);
10552 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_path)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_v_path
)
;
10553 __Pyx_GIVEREF(__pyx_v_path);
10554 __Pyx_INCREF(__pyx_v_value)( ((PyObject*)(__pyx_v_value))->ob_refcnt++);
10555 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_value)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_value
)
;
10556 __Pyx_GIVEREF(__pyx_v_value);
10557 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__10557; goto __pyx_L1_error;}
10558 __Pyx_GOTREF(__pyx_t_1);
10559 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
10560 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
10561 __pyx_r = __pyx_t_1;
10562 __pyx_t_1 = 0;
10563 goto __pyx_L0;
10564
10565 /* "xmmsapi.pyx":447
10566 * return obj
10567 *
10568 * cpdef emit(self, value = None): # <<<<<<<<<<<<<<
10569 * if not self.namespace:
10570 * raise RuntimeError("No namespace bound to broadcast")
10571 */
10572
10573 /* function exit code */
10574 __pyx_L1_error:;
10575 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
10576 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
10577 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
10578 __Pyx_AddTraceback("xmmsapi.service_broadcast.emit", __pyx_clineno, __pyx_lineno, __pyx_filename);
10579 __pyx_r = 0;
10580 __pyx_L0:;
10581 __Pyx_XDECREF(__pyx_v_path)do { if ((__pyx_v_path) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_path))->ob_refcnt != 0) ; else ( (*(((PyObject*
)((PyObject *)(__pyx_v_path)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(__pyx_v_path)))); } while (0); } while
(0)
;
10582 __Pyx_XGIVEREF(__pyx_r);
10583 __Pyx_RefNannyFinishContext();
10584 return __pyx_r;
10585}
10586
10587/* Python wrapper */
10588static PyObject *__pyx_pw_7xmmsapi_17service_broadcast_3emit(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
10589static char __pyx_doc_7xmmsapi_17service_broadcast_2emit[] = "service_broadcast.emit(self, value=None)";
10590static PyObject *__pyx_pw_7xmmsapi_17service_broadcast_3emit(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
10591 PyObject *__pyx_v_value = 0;
10592 int __pyx_lineno = 0;
10593 const char *__pyx_filename = NULL((void*)0);
10594 int __pyx_clineno = 0;
10595 PyObject *__pyx_r = 0;
10596 __Pyx_RefNannyDeclarations
10597 __Pyx_RefNannySetupContext("emit (wrapper)", 0);
10598 {
10599 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_value,0};
10600 PyObject* values[1] = {0};
10601 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
10602 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
10603 Py_ssize_t kw_args;
10604 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
10605 switch (pos_args) {
10606 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
10607 case 0: break;
10608 default: goto __pyx_L5_argtuple_error;
10609 }
10610 kw_args = PyDict_Size(__pyx_kwds);
10611 switch (pos_args) {
10612 case 0:
10613 if (kw_args > 0) {
10614 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_value);
10615 if (value) { values[0] = value; kw_args--; }
10616 }
10617 }
10618 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
10619 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "emit") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "emit") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__10619; goto __pyx_L3_error;}
10620 }
10621 } else {
10622 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
10623 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
10624 case 0: break;
10625 default: goto __pyx_L5_argtuple_error;
10626 }
10627 }
10628 __pyx_v_value = values[0];
10629 }
10630 goto __pyx_L4_argument_unpacking_done;
10631 __pyx_L5_argtuple_error:;
10632 __Pyx_RaiseArgtupleInvalid("emit", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__10632; goto __pyx_L3_error;}
10633 __pyx_L3_error:;
10634 __Pyx_AddTraceback("xmmsapi.service_broadcast.emit", __pyx_clineno, __pyx_lineno, __pyx_filename);
10635 __Pyx_RefNannyFinishContext();
10636 return NULL((void*)0);
10637 __pyx_L4_argument_unpacking_done:;
10638 __pyx_r = __pyx_pf_7xmmsapi_17service_broadcast_2emit(((struct __pyx_obj_7xmmsapi_service_broadcast *)__pyx_v_self), __pyx_v_value);
10639
10640 /* function exit code */
10641 __Pyx_RefNannyFinishContext();
10642 return __pyx_r;
10643}
10644
10645static PyObject *__pyx_pf_7xmmsapi_17service_broadcast_2emit(struct __pyx_obj_7xmmsapi_service_broadcast *__pyx_v_self, PyObject *__pyx_v_value) {
10646 PyObject *__pyx_r = NULL((void*)0);
10647 __Pyx_RefNannyDeclarations
10648 PyObject *__pyx_t_1 = NULL((void*)0);
10649 struct __pyx_opt_args_7xmmsapi_17service_broadcast_emit __pyx_t_2;
10650 int __pyx_lineno = 0;
10651 const char *__pyx_filename = NULL((void*)0);
10652 int __pyx_clineno = 0;
10653 __Pyx_RefNannySetupContext("emit", 0);
10654 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
10655 __pyx_t_2.__pyx_n = 1;
10656 __pyx_t_2.value = __pyx_v_value;
10657 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_service_broadcast *)__pyx_v_self->__pyx_vtab)->emit(__pyx_v_self, 1, &__pyx_t_2); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__10657; goto __pyx_L1_error;}
10658 __Pyx_GOTREF(__pyx_t_1);
10659 __pyx_r = __pyx_t_1;
10660 __pyx_t_1 = 0;
10661 goto __pyx_L0;
10662
10663 /* function exit code */
10664 __pyx_L1_error:;
10665 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
10666 __Pyx_AddTraceback("xmmsapi.service_broadcast.emit", __pyx_clineno, __pyx_lineno, __pyx_filename);
10667 __pyx_r = NULL((void*)0);
10668 __pyx_L0:;
10669 __Pyx_XGIVEREF(__pyx_r);
10670 __Pyx_RefNannyFinishContext();
10671 return __pyx_r;
10672}
10673
10674/* "xmmsapi.pyx":453
10675 * return self.namespace.xmms.sc_broadcast_emit(path, value)
10676 *
10677 * def __call__(self, value = None): # <<<<<<<<<<<<<<
10678 * return self.emit(value)
10679 *
10680 */
10681
10682/* Python wrapper */
10683static PyObject *__pyx_pw_7xmmsapi_17service_broadcast_5__call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
10684static PyObject *__pyx_pw_7xmmsapi_17service_broadcast_5__call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
10685 PyObject *__pyx_v_value = 0;
10686 int __pyx_lineno = 0;
10687 const char *__pyx_filename = NULL((void*)0);
10688 int __pyx_clineno = 0;
10689 PyObject *__pyx_r = 0;
10690 __Pyx_RefNannyDeclarations
10691 __Pyx_RefNannySetupContext("__call__ (wrapper)", 0);
10692 {
10693 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_value,0};
10694 PyObject* values[1] = {0};
10695 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
10696 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
10697 Py_ssize_t kw_args;
10698 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
10699 switch (pos_args) {
10700 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
10701 case 0: break;
10702 default: goto __pyx_L5_argtuple_error;
10703 }
10704 kw_args = PyDict_Size(__pyx_kwds);
10705 switch (pos_args) {
10706 case 0:
10707 if (kw_args > 0) {
10708 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_value);
10709 if (value) { values[0] = value; kw_args--; }
10710 }
10711 }
10712 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
10713 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__call__") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "__call__") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__10713; goto __pyx_L3_error;}
10714 }
10715 } else {
10716 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
10717 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
10718 case 0: break;
10719 default: goto __pyx_L5_argtuple_error;
10720 }
10721 }
10722 __pyx_v_value = values[0];
10723 }
10724 goto __pyx_L4_argument_unpacking_done;
10725 __pyx_L5_argtuple_error:;
10726 __Pyx_RaiseArgtupleInvalid("__call__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__10726; goto __pyx_L3_error;}
10727 __pyx_L3_error:;
10728 __Pyx_AddTraceback("xmmsapi.service_broadcast.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename);
10729 __Pyx_RefNannyFinishContext();
10730 return NULL((void*)0);
10731 __pyx_L4_argument_unpacking_done:;
10732 __pyx_r = __pyx_pf_7xmmsapi_17service_broadcast_4__call__(((struct __pyx_obj_7xmmsapi_service_broadcast *)__pyx_v_self), __pyx_v_value);
10733
10734 /* function exit code */
10735 __Pyx_RefNannyFinishContext();
10736 return __pyx_r;
10737}
10738
10739static PyObject *__pyx_pf_7xmmsapi_17service_broadcast_4__call__(struct __pyx_obj_7xmmsapi_service_broadcast *__pyx_v_self, PyObject *__pyx_v_value) {
10740 PyObject *__pyx_r = NULL((void*)0);
10741 __Pyx_RefNannyDeclarations
10742 PyObject *__pyx_t_1 = NULL((void*)0);
10743 struct __pyx_opt_args_7xmmsapi_17service_broadcast_emit __pyx_t_2;
10744 int __pyx_lineno = 0;
10745 const char *__pyx_filename = NULL((void*)0);
10746 int __pyx_clineno = 0;
10747 __Pyx_RefNannySetupContext("__call__", 0);
10748
10749 /* "xmmsapi.pyx":454
10750 *
10751 * def __call__(self, value = None):
10752 * return self.emit(value) # <<<<<<<<<<<<<<
10753 *
10754 * class service_constant:
10755 */
10756 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
10757 __pyx_t_2.__pyx_n = 1;
10758 __pyx_t_2.value = __pyx_v_value;
10759 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_service_broadcast *)__pyx_v_self->__pyx_vtab)->emit(__pyx_v_self, 0, &__pyx_t_2); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__10759; goto __pyx_L1_error;}
10760 __Pyx_GOTREF(__pyx_t_1);
10761 __pyx_r = __pyx_t_1;
10762 __pyx_t_1 = 0;
10763 goto __pyx_L0;
10764
10765 /* "xmmsapi.pyx":453
10766 * return self.namespace.xmms.sc_broadcast_emit(path, value)
10767 *
10768 * def __call__(self, value = None): # <<<<<<<<<<<<<<
10769 * return self.emit(value)
10770 *
10771 */
10772
10773 /* function exit code */
10774 __pyx_L1_error:;
10775 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
10776 __Pyx_AddTraceback("xmmsapi.service_broadcast.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename);
10777 __pyx_r = NULL((void*)0);
10778 __pyx_L0:;
10779 __Pyx_XGIVEREF(__pyx_r);
10780 __Pyx_RefNannyFinishContext();
10781 return __pyx_r;
10782}
10783
10784/* "xmmsapi.pxd":77
10785 *
10786 * cdef class service_broadcast:
10787 * cdef public object name # <<<<<<<<<<<<<<
10788 * cdef public object doc
10789 * cdef readonly XmmsServiceNamespace namespace
10790 */
10791
10792/* Python wrapper */
10793static PyObject *__pyx_pw_7xmmsapi_17service_broadcast_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
10794static PyObject *__pyx_pw_7xmmsapi_17service_broadcast_4name_1__get__(PyObject *__pyx_v_self) {
10795 PyObject *__pyx_r = 0;
10796 __Pyx_RefNannyDeclarations
10797 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
10798 __pyx_r = __pyx_pf_7xmmsapi_17service_broadcast_4name___get__(((struct __pyx_obj_7xmmsapi_service_broadcast *)__pyx_v_self));
10799
10800 /* function exit code */
10801 __Pyx_RefNannyFinishContext();
10802 return __pyx_r;
10803}
10804
10805static PyObject *__pyx_pf_7xmmsapi_17service_broadcast_4name___get__(struct __pyx_obj_7xmmsapi_service_broadcast *__pyx_v_self) {
10806 PyObject *__pyx_r = NULL((void*)0);
10807 __Pyx_RefNannyDeclarations
10808 __Pyx_RefNannySetupContext("__get__", 0);
10809 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
10810 __Pyx_INCREF(__pyx_v_self->name)( ((PyObject*)(__pyx_v_self->name))->ob_refcnt++);
10811 __pyx_r = __pyx_v_self->name;
10812 goto __pyx_L0;
10813
10814 /* function exit code */
10815 __pyx_L0:;
10816 __Pyx_XGIVEREF(__pyx_r);
10817 __Pyx_RefNannyFinishContext();
10818 return __pyx_r;
10819}
10820
10821/* Python wrapper */
10822static int __pyx_pw_7xmmsapi_17service_broadcast_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
10823static int __pyx_pw_7xmmsapi_17service_broadcast_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
10824 int __pyx_r;
10825 __Pyx_RefNannyDeclarations
10826 __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
10827 __pyx_r = __pyx_pf_7xmmsapi_17service_broadcast_4name_2__set__(((struct __pyx_obj_7xmmsapi_service_broadcast *)__pyx_v_self), ((PyObject *)__pyx_v_value));
10828
10829 /* function exit code */
10830 __Pyx_RefNannyFinishContext();
10831 return __pyx_r;
10832}
10833
10834static int __pyx_pf_7xmmsapi_17service_broadcast_4name_2__set__(struct __pyx_obj_7xmmsapi_service_broadcast *__pyx_v_self, PyObject *__pyx_v_value) {
10835 int __pyx_r;
10836 __Pyx_RefNannyDeclarations
10837 __Pyx_RefNannySetupContext("__set__", 0);
10838 __Pyx_INCREF(__pyx_v_value)( ((PyObject*)(__pyx_v_value))->ob_refcnt++);
10839 __Pyx_GIVEREF(__pyx_v_value);
10840 __Pyx_GOTREF(__pyx_v_self->name);
10841 __Pyx_DECREF(__pyx_v_self->name)do { if ( --((PyObject*)(__pyx_v_self->name))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)(__pyx_v_self->
name)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *
)(__pyx_v_self->name)))); } while (0)
;
10842 __pyx_v_self->name = __pyx_v_value;
10843
10844 /* function exit code */
10845 __pyx_r = 0;
10846 __Pyx_RefNannyFinishContext();
10847 return __pyx_r;
10848}
10849
10850/* Python wrapper */
10851static int __pyx_pw_7xmmsapi_17service_broadcast_4name_5__del__(PyObject *__pyx_v_self); /*proto*/
10852static int __pyx_pw_7xmmsapi_17service_broadcast_4name_5__del__(PyObject *__pyx_v_self) {
10853 int __pyx_r;
10854 __Pyx_RefNannyDeclarations
10855 __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
10856 __pyx_r = __pyx_pf_7xmmsapi_17service_broadcast_4name_4__del__(((struct __pyx_obj_7xmmsapi_service_broadcast *)__pyx_v_self));
10857
10858 /* function exit code */
10859 __Pyx_RefNannyFinishContext();
10860 return __pyx_r;
10861}
10862
10863static int __pyx_pf_7xmmsapi_17service_broadcast_4name_4__del__(struct __pyx_obj_7xmmsapi_service_broadcast *__pyx_v_self) {
10864 int __pyx_r;
10865 __Pyx_RefNannyDeclarations
10866 __Pyx_RefNannySetupContext("__del__", 0);
10867 __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
10868 __Pyx_GIVEREF(Py_None);
10869 __Pyx_GOTREF(__pyx_v_self->name);
10870 __Pyx_DECREF(__pyx_v_self->name)do { if ( --((PyObject*)(__pyx_v_self->name))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)(__pyx_v_self->
name)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *
)(__pyx_v_self->name)))); } while (0)
;
10871 __pyx_v_self->name = Py_None(&_Py_NoneStruct);
10872
10873 /* function exit code */
10874 __pyx_r = 0;
10875 __Pyx_RefNannyFinishContext();
10876 return __pyx_r;
10877}
10878
10879/* "xmmsapi.pxd":78
10880 * cdef class service_broadcast:
10881 * cdef public object name
10882 * cdef public object doc # <<<<<<<<<<<<<<
10883 * cdef readonly XmmsServiceNamespace namespace
10884 * cdef bind(self, XmmsServiceNamespace namespace, name=*)
10885 */
10886
10887/* Python wrapper */
10888static PyObject *__pyx_pw_7xmmsapi_17service_broadcast_3doc_1__get__(PyObject *__pyx_v_self); /*proto*/
10889static PyObject *__pyx_pw_7xmmsapi_17service_broadcast_3doc_1__get__(PyObject *__pyx_v_self) {
10890 PyObject *__pyx_r = 0;
10891 __Pyx_RefNannyDeclarations
10892 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
10893 __pyx_r = __pyx_pf_7xmmsapi_17service_broadcast_3doc___get__(((struct __pyx_obj_7xmmsapi_service_broadcast *)__pyx_v_self));
10894
10895 /* function exit code */
10896 __Pyx_RefNannyFinishContext();
10897 return __pyx_r;
10898}
10899
10900static PyObject *__pyx_pf_7xmmsapi_17service_broadcast_3doc___get__(struct __pyx_obj_7xmmsapi_service_broadcast *__pyx_v_self) {
10901 PyObject *__pyx_r = NULL((void*)0);
10902 __Pyx_RefNannyDeclarations
10903 __Pyx_RefNannySetupContext("__get__", 0);
10904 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
10905 __Pyx_INCREF(__pyx_v_self->doc)( ((PyObject*)(__pyx_v_self->doc))->ob_refcnt++);
10906 __pyx_r = __pyx_v_self->doc;
10907 goto __pyx_L0;
10908
10909 /* function exit code */
10910 __pyx_L0:;
10911 __Pyx_XGIVEREF(__pyx_r);
10912 __Pyx_RefNannyFinishContext();
10913 return __pyx_r;
10914}
10915
10916/* Python wrapper */
10917static int __pyx_pw_7xmmsapi_17service_broadcast_3doc_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
10918static int __pyx_pw_7xmmsapi_17service_broadcast_3doc_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
10919 int __pyx_r;
10920 __Pyx_RefNannyDeclarations
10921 __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
10922 __pyx_r = __pyx_pf_7xmmsapi_17service_broadcast_3doc_2__set__(((struct __pyx_obj_7xmmsapi_service_broadcast *)__pyx_v_self), ((PyObject *)__pyx_v_value));
10923
10924 /* function exit code */
10925 __Pyx_RefNannyFinishContext();
10926 return __pyx_r;
10927}
10928
10929static int __pyx_pf_7xmmsapi_17service_broadcast_3doc_2__set__(struct __pyx_obj_7xmmsapi_service_broadcast *__pyx_v_self, PyObject *__pyx_v_value) {
10930 int __pyx_r;
10931 __Pyx_RefNannyDeclarations
10932 __Pyx_RefNannySetupContext("__set__", 0);
10933 __Pyx_INCREF(__pyx_v_value)( ((PyObject*)(__pyx_v_value))->ob_refcnt++);
10934 __Pyx_GIVEREF(__pyx_v_value);
10935 __Pyx_GOTREF(__pyx_v_self->doc);
10936 __Pyx_DECREF(__pyx_v_self->doc)do { if ( --((PyObject*)(__pyx_v_self->doc))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)(__pyx_v_self->
doc)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)
(__pyx_v_self->doc)))); } while (0)
;
10937 __pyx_v_self->doc = __pyx_v_value;
10938
10939 /* function exit code */
10940 __pyx_r = 0;
10941 __Pyx_RefNannyFinishContext();
10942 return __pyx_r;
10943}
10944
10945/* Python wrapper */
10946static int __pyx_pw_7xmmsapi_17service_broadcast_3doc_5__del__(PyObject *__pyx_v_self); /*proto*/
10947static int __pyx_pw_7xmmsapi_17service_broadcast_3doc_5__del__(PyObject *__pyx_v_self) {
10948 int __pyx_r;
10949 __Pyx_RefNannyDeclarations
10950 __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
10951 __pyx_r = __pyx_pf_7xmmsapi_17service_broadcast_3doc_4__del__(((struct __pyx_obj_7xmmsapi_service_broadcast *)__pyx_v_self));
10952
10953 /* function exit code */
10954 __Pyx_RefNannyFinishContext();
10955 return __pyx_r;
10956}
10957
10958static int __pyx_pf_7xmmsapi_17service_broadcast_3doc_4__del__(struct __pyx_obj_7xmmsapi_service_broadcast *__pyx_v_self) {
10959 int __pyx_r;
10960 __Pyx_RefNannyDeclarations
10961 __Pyx_RefNannySetupContext("__del__", 0);
10962 __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
10963 __Pyx_GIVEREF(Py_None);
10964 __Pyx_GOTREF(__pyx_v_self->doc);
10965 __Pyx_DECREF(__pyx_v_self->doc)do { if ( --((PyObject*)(__pyx_v_self->doc))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)(__pyx_v_self->
doc)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)
(__pyx_v_self->doc)))); } while (0)
;
10966 __pyx_v_self->doc = Py_None(&_Py_NoneStruct);
10967
10968 /* function exit code */
10969 __pyx_r = 0;
10970 __Pyx_RefNannyFinishContext();
10971 return __pyx_r;
10972}
10973
10974/* "xmmsapi.pxd":79
10975 * cdef public object name
10976 * cdef public object doc
10977 * cdef readonly XmmsServiceNamespace namespace # <<<<<<<<<<<<<<
10978 * cdef bind(self, XmmsServiceNamespace namespace, name=*)
10979 * cpdef emit(self, value=*)
10980 */
10981
10982/* Python wrapper */
10983static PyObject *__pyx_pw_7xmmsapi_17service_broadcast_9namespace_1__get__(PyObject *__pyx_v_self); /*proto*/
10984static PyObject *__pyx_pw_7xmmsapi_17service_broadcast_9namespace_1__get__(PyObject *__pyx_v_self) {
10985 PyObject *__pyx_r = 0;
10986 __Pyx_RefNannyDeclarations
10987 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
10988 __pyx_r = __pyx_pf_7xmmsapi_17service_broadcast_9namespace___get__(((struct __pyx_obj_7xmmsapi_service_broadcast *)__pyx_v_self));
10989
10990 /* function exit code */
10991 __Pyx_RefNannyFinishContext();
10992 return __pyx_r;
10993}
10994
10995static PyObject *__pyx_pf_7xmmsapi_17service_broadcast_9namespace___get__(struct __pyx_obj_7xmmsapi_service_broadcast *__pyx_v_self) {
10996 PyObject *__pyx_r = NULL((void*)0);
10997 __Pyx_RefNannyDeclarations
10998 __Pyx_RefNannySetupContext("__get__", 0);
10999 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
11000 __Pyx_INCREF(((PyObject *)__pyx_v_self->namespace))( ((PyObject*)(((PyObject *)__pyx_v_self->namespace)))->
ob_refcnt++)
;
11001 __pyx_r = ((PyObject *)__pyx_v_self->namespace);
11002 goto __pyx_L0;
11003
11004 /* function exit code */
11005 __pyx_L0:;
11006 __Pyx_XGIVEREF(__pyx_r);
11007 __Pyx_RefNannyFinishContext();
11008 return __pyx_r;
11009}
11010
11011/* "xmmsapi.pyx":457
11012 *
11013 * class service_constant:
11014 * def __init__(self, value): # <<<<<<<<<<<<<<
11015 * self.value = value
11016 *
11017 */
11018
11019/* Python wrapper */
11020static PyObject *__pyx_pw_7xmmsapi_16service_constant_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
11021static char __pyx_doc_7xmmsapi_16service_constant___init__[] = "service_constant.__init__(self, value)";
11022static PyMethodDef __pyx_mdef_7xmmsapi_16service_constant_1__init__ = {__Pyx_NAMESTR("__init__")("__init__"), (PyCFunction)__pyx_pw_7xmmsapi_16service_constant_1__init__, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_16service_constant___init__)(__pyx_doc_7xmmsapi_16service_constant___init__)};
11023static PyObject *__pyx_pw_7xmmsapi_16service_constant_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
11024 PyObject *__pyx_v_self = 0;
11025 PyObject *__pyx_v_value = 0;
11026 int __pyx_lineno = 0;
11027 const char *__pyx_filename = NULL((void*)0);
11028 int __pyx_clineno = 0;
11029 PyObject *__pyx_r = 0;
11030 __Pyx_RefNannyDeclarations
11031 __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
11032 {
11033 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_value,0};
11034 PyObject* values[2] = {0,0};
11035 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
11036 Py_ssize_t kw_args;
11037 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
11038 switch (pos_args) {
11039 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
11040 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
11041 case 0: break;
11042 default: goto __pyx_L5_argtuple_error;
11043 }
11044 kw_args = PyDict_Size(__pyx_kwds);
11045 switch (pos_args) {
11046 case 0:
11047 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self
)) != 0), 1)
) kw_args--;
11048 else goto __pyx_L5_argtuple_error;
11049 case 1:
11050 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_value)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_value
)) != 0), 1)
) kw_args--;
11051 else {
11052 __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__11052; goto __pyx_L3_error;}
11053 }
11054 }
11055 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
11056 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "__init__") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__11056; goto __pyx_L3_error;}
11057 }
11058 } else if (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size) != 2) {
11059 goto __pyx_L5_argtuple_error;
11060 } else {
11061 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
11062 values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
11063 }
11064 __pyx_v_self = values[0];
11065 __pyx_v_value = values[1];
11066 }
11067 goto __pyx_L4_argument_unpacking_done;
11068 __pyx_L5_argtuple_error:;
11069 __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__11069; goto __pyx_L3_error;}
11070 __pyx_L3_error:;
11071 __Pyx_AddTraceback("xmmsapi.service_constant.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
11072 __Pyx_RefNannyFinishContext();
11073 return NULL((void*)0);
11074 __pyx_L4_argument_unpacking_done:;
11075 __pyx_r = __pyx_pf_7xmmsapi_16service_constant___init__(__pyx_self, __pyx_v_self, __pyx_v_value);
11076
11077 /* function exit code */
11078 __Pyx_RefNannyFinishContext();
11079 return __pyx_r;
11080}
11081
11082static PyObject *__pyx_pf_7xmmsapi_16service_constant___init__(CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
11083 PyObject *__pyx_r = NULL((void*)0);
11084 __Pyx_RefNannyDeclarations
11085 int __pyx_lineno = 0;
11086 const char *__pyx_filename = NULL((void*)0);
11087 int __pyx_clineno = 0;
11088 __Pyx_RefNannySetupContext("__init__", 0);
11089
11090 /* "xmmsapi.pyx":458
11091 * class service_constant:
11092 * def __init__(self, value):
11093 * self.value = value # <<<<<<<<<<<<<<
11094 *
11095 * cdef class XmmsServiceNamespace:
11096 */
11097 if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_value, __pyx_v_value) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__11097; goto __pyx_L1_error;}
11098
11099 /* "xmmsapi.pyx":457
11100 *
11101 * class service_constant:
11102 * def __init__(self, value): # <<<<<<<<<<<<<<
11103 * self.value = value
11104 *
11105 */
11106
11107 /* function exit code */
11108 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
11109 goto __pyx_L0;
11110 __pyx_L1_error:;
11111 __Pyx_AddTraceback("xmmsapi.service_constant.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
11112 __pyx_r = NULL((void*)0);
11113 __pyx_L0:;
11114 __Pyx_XGIVEREF(__pyx_r);
11115 __Pyx_RefNannyFinishContext();
11116 return __pyx_r;
11117}
11118
11119/* "xmmsapi.pyx":464
11120 *
11121 * property path:
11122 * def __get__(self): # <<<<<<<<<<<<<<
11123 * if self.parent:
11124 * path = self.parent.path
11125 */
11126
11127/* Python wrapper */
11128static PyObject *__pyx_pw_7xmmsapi_20XmmsServiceNamespace_4path_1__get__(PyObject *__pyx_v_self); /*proto*/
11129static PyObject *__pyx_pw_7xmmsapi_20XmmsServiceNamespace_4path_1__get__(PyObject *__pyx_v_self) {
11130 PyObject *__pyx_r = 0;
11131 __Pyx_RefNannyDeclarations
11132 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
11133 __pyx_r = __pyx_pf_7xmmsapi_20XmmsServiceNamespace_4path___get__(((struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *)__pyx_v_self));
11134
11135 /* function exit code */
11136 __Pyx_RefNannyFinishContext();
11137 return __pyx_r;
11138}
11139
11140static PyObject *__pyx_pf_7xmmsapi_20XmmsServiceNamespace_4path___get__(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *__pyx_v_self) {
11141 PyObject *__pyx_v_path = NULL((void*)0);
11142 PyObject *__pyx_r = NULL((void*)0);
11143 __Pyx_RefNannyDeclarations
11144 int __pyx_t_1;
11145 PyObject *__pyx_t_2 = NULL((void*)0);
11146 PyObject *__pyx_t_3 = NULL((void*)0);
11147 int __pyx_lineno = 0;
11148 const char *__pyx_filename = NULL((void*)0);
11149 int __pyx_clineno = 0;
11150 __Pyx_RefNannySetupContext("__get__", 0);
11151
11152 /* "xmmsapi.pyx":465
11153 * property path:
11154 * def __get__(self):
11155 * if self.parent: # <<<<<<<<<<<<<<
11156 * path = self.parent.path
11157 * else:
11158 */
11159 __pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->parent)); if (unlikely(__pyx_t_1 < 0)__builtin_expect(!!(__pyx_t_1 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__11159; goto __pyx_L1_error;}
11160 if (__pyx_t_1) {
11161
11162 /* "xmmsapi.pyx":466
11163 * def __get__(self):
11164 * if self.parent:
11165 * path = self.parent.path # <<<<<<<<<<<<<<
11166 * else:
11167 * path = ()
11168 */
11169 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->parent), __pyx_n_s_path); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__11169; goto __pyx_L1_error;}
11170 __Pyx_GOTREF(__pyx_t_2);
11171 __pyx_v_path = __pyx_t_2;
11172 __pyx_t_2 = 0;
11173 goto __pyx_L3;
11174 }
11175 /*else*/ {
11176
11177 /* "xmmsapi.pyx":468
11178 * path = self.parent.path
11179 * else:
11180 * path = () # <<<<<<<<<<<<<<
11181 * return path + self.namespace_path
11182 *
11183 */
11184 __Pyx_INCREF(__pyx_empty_tuple)( ((PyObject*)(__pyx_empty_tuple))->ob_refcnt++);
11185 __pyx_v_path = __pyx_empty_tuple;
11186 }
11187 __pyx_L3:;
11188
11189 /* "xmmsapi.pyx":469
11190 * else:
11191 * path = ()
11192 * return path + self.namespace_path # <<<<<<<<<<<<<<
11193 *
11194 * def __cinit__(self, XmmsCore xmms, *a, **ka):
11195 */
11196 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
11197 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_namespace_path); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__11197; goto __pyx_L1_error;}
11198 __Pyx_GOTREF(__pyx_t_2);
11199 __pyx_t_3 = PyNumber_Add(__pyx_v_path, __pyx_t_2); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__11199; goto __pyx_L1_error;}
11200 __Pyx_GOTREF(__pyx_t_3);
11201 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
11202 __pyx_r = __pyx_t_3;
11203 __pyx_t_3 = 0;
11204 goto __pyx_L0;
11205
11206 /* "xmmsapi.pyx":464
11207 *
11208 * property path:
11209 * def __get__(self): # <<<<<<<<<<<<<<
11210 * if self.parent:
11211 * path = self.parent.path
11212 */
11213
11214 /* function exit code */
11215 __pyx_L1_error:;
11216 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
11217 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
11218 __Pyx_AddTraceback("xmmsapi.XmmsServiceNamespace.path.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
11219 __pyx_r = NULL((void*)0);
11220 __pyx_L0:;
11221 __Pyx_XDECREF(__pyx_v_path)do { if ((__pyx_v_path) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_path))->ob_refcnt != 0) ; else ( (*(((PyObject*
)((PyObject *)(__pyx_v_path)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(__pyx_v_path)))); } while (0); } while
(0)
;
11222 __Pyx_XGIVEREF(__pyx_r);
11223 __Pyx_RefNannyFinishContext();
11224 return __pyx_r;
11225}
11226
11227/* "xmmsapi.pyx":471
11228 * return path + self.namespace_path
11229 *
11230 * def __cinit__(self, XmmsCore xmms, *a, **ka): # <<<<<<<<<<<<<<
11231 * cdef service_broadcast bc_obj
11232 * self.parent = ka.get('parent', None)
11233 */
11234
11235/* Python wrapper */
11236static int __pyx_pw_7xmmsapi_20XmmsServiceNamespace_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
11237static int __pyx_pw_7xmmsapi_20XmmsServiceNamespace_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
11238 struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_xmms = 0;
11239 CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_v_a = 0;
11240 PyObject *__pyx_v_ka = 0;
11241 int __pyx_lineno = 0;
11242 const char *__pyx_filename = NULL((void*)0);
11243 int __pyx_clineno = 0;
11244 int __pyx_r;
11245 __Pyx_RefNannyDeclarations
11246 __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
11247 __pyx_v_ka = PyDict_New(); if (unlikely(!__pyx_v_ka)__builtin_expect(!!(!__pyx_v_ka), 0)) return -1;
11248 __Pyx_GOTREF(__pyx_v_ka);
11249 if (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size) > 1) {
11250 __pyx_v_a = PyTuple_GetSlice(__pyx_args, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size));
11251 if (unlikely(!__pyx_v_a)__builtin_expect(!!(!__pyx_v_a), 0)) {
11252 __Pyx_DECREF(__pyx_v_ka)do { if ( --((PyObject*)(__pyx_v_ka))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_v_ka)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_ka)))); } while
(0)
; __pyx_v_ka = 0;
11253 __Pyx_RefNannyFinishContext();
11254 return -1;
11255 }
11256 __Pyx_GOTREF(__pyx_v_a);
11257 } else {
11258 __pyx_v_a = __pyx_empty_tuple; __Pyx_INCREF(__pyx_empty_tuple)( ((PyObject*)(__pyx_empty_tuple))->ob_refcnt++);
11259 }
11260 {
11261 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_xmms,0};
11262 PyObject* values[1] = {0};
11263 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
11264 Py_ssize_t kw_args;
11265 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
11266 switch (pos_args) {
11267 default:
11268 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
11269 case 0: break;
11270 }
11271 kw_args = PyDict_Size(__pyx_kwds);
11272 switch (pos_args) {
11273 case 0:
11274 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_xmms)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_xmms
)) != 0), 1)
) kw_args--;
11275 else goto __pyx_L5_argtuple_error;
11276 }
11277 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
11278 const Py_ssize_t used_pos_args = (pos_args < 1) ? pos_args : 1;
11279 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_ka, values, used_pos_args, "__cinit__") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, __pyx_v_ka, values, used_pos_args, "__cinit__") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__11279; goto __pyx_L3_error;}
11280 }
11281 } else if (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size) < 1) {
11282 goto __pyx_L5_argtuple_error;
11283 } else {
11284 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
11285 }
11286 __pyx_v_xmms = ((struct __pyx_obj_7xmmsapi_XmmsCore *)values[0]);
11287 }
11288 goto __pyx_L4_argument_unpacking_done;
11289 __pyx_L5_argtuple_error:;
11290 __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__11290; goto __pyx_L3_error;}
11291 __pyx_L3_error:;
11292 __Pyx_DECREF(__pyx_v_a)do { if ( --((PyObject*)(__pyx_v_a))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_v_a)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_a)))); } while (
0)
; __pyx_v_a = 0;
11293 __Pyx_DECREF(__pyx_v_ka)do { if ( --((PyObject*)(__pyx_v_ka))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_v_ka)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_ka)))); } while
(0)
; __pyx_v_ka = 0;
11294 __Pyx_AddTraceback("xmmsapi.XmmsServiceNamespace.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
11295 __Pyx_RefNannyFinishContext();
11296 return -1;
11297 __pyx_L4_argument_unpacking_done:;
11298 if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_xmms), __pyx_ptype_7xmmsapi_XmmsCore, 1, "xmms", 0))__builtin_expect(!!(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_xmms
), __pyx_ptype_7xmmsapi_XmmsCore, 1, "xmms", 0)), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__11298; goto __pyx_L1_error;}
11299 __pyx_r = __pyx_pf_7xmmsapi_20XmmsServiceNamespace___cinit__(((struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *)__pyx_v_self), __pyx_v_xmms, __pyx_v_a, __pyx_v_ka);
11300
11301 /* function exit code */
11302 goto __pyx_L0;
11303 __pyx_L1_error:;
11304 __pyx_r = -1;
11305 __pyx_L0:;
11306 __Pyx_XDECREF(__pyx_v_a)do { if ((__pyx_v_a) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_a))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_a)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_a)))); } while (0); } while (0)
;
11307 __Pyx_XDECREF(__pyx_v_ka)do { if ((__pyx_v_ka) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_ka))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_v_ka)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_ka)))); } while (0); } while (0)
;
11308 __Pyx_RefNannyFinishContext();
11309 return __pyx_r;
11310}
11311
11312static int __pyx_pf_7xmmsapi_20XmmsServiceNamespace___cinit__(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *__pyx_v_self, struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_xmms, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_v_a, PyObject *__pyx_v_ka) {
11313 struct __pyx_obj_7xmmsapi_service_broadcast *__pyx_v_bc_obj = 0;
11314 PyObject *__pyx_v_attr = NULL((void*)0);
11315 PyObject *__pyx_v_obj = NULL((void*)0);
11316 PyObject *__pyx_v_inst = NULL((void*)0);
11317 int __pyx_r;
11318 __Pyx_RefNannyDeclarations
11319 PyObject *__pyx_t_1 = NULL((void*)0);
11320 PyObject *__pyx_t_2 = NULL((void*)0);
11321 Py_ssize_t __pyx_t_3;
11322 PyObject *(*__pyx_t_4)(PyObject *);
11323 int __pyx_t_5;
11324 int __pyx_t_6;
11325 PyObject *__pyx_t_7 = NULL((void*)0);
11326 PyObject *__pyx_t_8 = NULL((void*)0);
11327 int __pyx_t_9;
11328 struct __pyx_opt_args_7xmmsapi_17service_broadcast_bind __pyx_t_10;
11329 PyObject *__pyx_t_11 = NULL((void*)0);
11330 PyObject *__pyx_t_12 = NULL((void*)0);
11331 PyObject *__pyx_t_13 = NULL((void*)0);
11332 int __pyx_t_14;
11333 int __pyx_lineno = 0;
11334 const char *__pyx_filename = NULL((void*)0);
11335 int __pyx_clineno = 0;
11336 __Pyx_RefNannySetupContext("__cinit__", 0);
11337
11338 /* "xmmsapi.pyx":473
11339 * def __cinit__(self, XmmsCore xmms, *a, **ka):
11340 * cdef service_broadcast bc_obj
11341 * self.parent = ka.get('parent', None) # <<<<<<<<<<<<<<
11342 * self.xmms = xmms
11343 * self._xmms_service_constants = set()
11344 */
11345 __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_ka, __pyx_n_s_parent, Py_None(&_Py_NoneStruct)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__11345; goto __pyx_L1_error;}
11346 __Pyx_GOTREF(__pyx_t_1);
11347 if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_7xmmsapi_XmmsServiceNamespace)))__builtin_expect(!!(((__pyx_t_1) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_7xmmsapi_XmmsServiceNamespace
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__11347; goto __pyx_L1_error;}
11348 __Pyx_GIVEREF(__pyx_t_1);
11349 __Pyx_GOTREF(__pyx_v_self->parent);
11350 __Pyx_DECREF(((PyObject *)__pyx_v_self->parent))do { if ( --((PyObject*)(((PyObject *)__pyx_v_self->parent
)))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)
(((PyObject *)__pyx_v_self->parent))))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(((PyObject *)__pyx_v_self->parent
))))); } while (0)
;
11351 __pyx_v_self->parent = ((struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *)__pyx_t_1);
11352 __pyx_t_1 = 0;
11353
11354 /* "xmmsapi.pyx":474
11355 * cdef service_broadcast bc_obj
11356 * self.parent = ka.get('parent', None)
11357 * self.xmms = xmms # <<<<<<<<<<<<<<
11358 * self._xmms_service_constants = set()
11359 * self._bound_methods = dict()
11360 */
11361 __Pyx_INCREF(((PyObject *)__pyx_v_xmms))( ((PyObject*)(((PyObject *)__pyx_v_xmms)))->ob_refcnt++);
11362 __Pyx_GIVEREF(((PyObject *)__pyx_v_xmms));
11363 __Pyx_GOTREF(__pyx_v_self->xmms);
11364 __Pyx_DECREF(((PyObject *)__pyx_v_self->xmms))do { if ( --((PyObject*)(((PyObject *)__pyx_v_self->xmms))
)->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)((
(PyObject *)__pyx_v_self->xmms))))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(((PyObject *)__pyx_v_self->xmms
))))); } while (0)
;
11365 __pyx_v_self->xmms = __pyx_v_xmms;
11366
11367 /* "xmmsapi.pyx":475
11368 * self.parent = ka.get('parent', None)
11369 * self.xmms = xmms
11370 * self._xmms_service_constants = set() # <<<<<<<<<<<<<<
11371 * self._bound_methods = dict()
11372 *
11373 */
11374 __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__11374; goto __pyx_L1_error;}
11375 __Pyx_GOTREF(__pyx_t_1);
11376 if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_xmms_service_constants, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__11376; goto __pyx_L1_error;}
11377 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
11378
11379 /* "xmmsapi.pyx":476
11380 * self.xmms = xmms
11381 * self._xmms_service_constants = set()
11382 * self._bound_methods = dict() # <<<<<<<<<<<<<<
11383 *
11384 * for attr in dir(self):
11385 */
11386 __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__11386; goto __pyx_L1_error;}
11387 __Pyx_GOTREF(__pyx_t_1);
11388 __Pyx_GIVEREF(__pyx_t_1);
11389 __Pyx_GOTREF(__pyx_v_self->_bound_methods);
11390 __Pyx_DECREF(__pyx_v_self->_bound_methods)do { if ( --((PyObject*)(__pyx_v_self->_bound_methods))->
ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(__pyx_v_self
->_bound_methods)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_self->_bound_methods)))); } while
(0)
;
11391 __pyx_v_self->_bound_methods = __pyx_t_1;
11392 __pyx_t_1 = 0;
11393
11394 /* "xmmsapi.pyx":478
11395 * self._bound_methods = dict()
11396 *
11397 * for attr in dir(self): # <<<<<<<<<<<<<<
11398 * if attr[0] == '_':
11399 * continue
11400 */
11401 __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__11401; goto __pyx_L1_error;}
11402 __Pyx_GOTREF(__pyx_t_1);
11403 if (PyList_CheckExact(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyList_Type) || PyTuple_CheckExact(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyTuple_Type)) {
11404 __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2)( ((PyObject*)(__pyx_t_2))->ob_refcnt++); __pyx_t_3 = 0;
11405 __pyx_t_4 = NULL((void*)0);
11406 } else {
11407 __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__11407; goto __pyx_L1_error;}
11408 __Pyx_GOTREF(__pyx_t_2);
11409 __pyx_t_4 = Py_TYPE(__pyx_t_2)(((PyObject*)(__pyx_t_2))->ob_type)->tp_iternext;
11410 }
11411 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
11412 for (;;) {
11413 if (!__pyx_t_4 && PyList_CheckExact(__pyx_t_2)((((PyObject*)(__pyx_t_2))->ob_type) == &PyList_Type)) {
11414 if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)(((PyVarObject*)(__pyx_t_2))->ob_size)) break;
11415 #if CYTHON_COMPILING_IN_CPYTHON1
11416 __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3)(((PyListObject *)(__pyx_t_2))->ob_item[__pyx_t_3]); __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++); __pyx_t_3++; if (unlikely(0 < 0)__builtin_expect(!!(0 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__11416; goto __pyx_L1_error;}
11417 #else
11418 __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3)( (((PyObject*)(__pyx_t_2))->ob_type)->tp_as_sequence->
sq_item(__pyx_t_2, __pyx_t_3) )
; __pyx_t_3++; if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__11418; goto __pyx_L1_error;}
11419 #endif
11420 } else if (!__pyx_t_4 && PyTuple_CheckExact(__pyx_t_2)((((PyObject*)(__pyx_t_2))->ob_type) == &PyTuple_Type)) {
11421 if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)(((PyVarObject*)(__pyx_t_2))->ob_size)) break;
11422 #if CYTHON_COMPILING_IN_CPYTHON1
11423 __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3)(((PyTupleObject *)(__pyx_t_2))->ob_item[__pyx_t_3]); __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++); __pyx_t_3++; if (unlikely(0 < 0)__builtin_expect(!!(0 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__11423; goto __pyx_L1_error;}
11424 #else
11425 __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3)( (((PyObject*)(__pyx_t_2))->ob_type)->tp_as_sequence->
sq_item(__pyx_t_2, __pyx_t_3) )
; __pyx_t_3++; if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__11425; goto __pyx_L1_error;}
11426 #endif
11427 } else {
11428 __pyx_t_1 = __pyx_t_4(__pyx_t_2);
11429 if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {
11430 PyObject* exc_type = PyErr_Occurred();
11431 if (exc_type) {
11432 if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))__builtin_expect(!!(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches
(exc_type, PyExc_StopIteration)), 1)
) PyErr_Clear();
11433 else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__11433; goto __pyx_L1_error;}
11434 }
11435 break;
11436 }
11437 __Pyx_GOTREF(__pyx_t_1);
11438 }
11439 __Pyx_XDECREF_SET(__pyx_v_attr, __pyx_t_1)do { PyObject *tmp = (PyObject *) __pyx_v_attr; __pyx_v_attr =
__pyx_t_1; do { if ((tmp) == ((void*)0)) ; else do { if ( --
((PyObject*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject
*)((PyObject *)(tmp)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(tmp)))); } while (0); } while (0); } while (
0)
;
11440 __pyx_t_1 = 0;
11441
11442 /* "xmmsapi.pyx":479
11443 *
11444 * for attr in dir(self):
11445 * if attr[0] == '_': # <<<<<<<<<<<<<<
11446 * continue
11447 * obj = getattr(self, attr)
11448 */
11449 __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_attr, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1)(( (sizeof(long) < sizeof(Py_ssize_t)) || (sizeof(long) >
sizeof(Py_ssize_t) && __builtin_expect(!!(0 < (long
)((Py_ssize_t)(((size_t)-1)>>1)) || 0 == (long)((Py_ssize_t
)(((size_t)-1)>>1))), 1) && (!1 || __builtin_expect
(!!(0 > (long)(-((Py_ssize_t)(((size_t)-1)>>1))-1) ||
0 == (long)(-((Py_ssize_t)(((size_t)-1)>>1))-1)), 1)))
|| (sizeof(long) == sizeof(Py_ssize_t) && (1 || __builtin_expect
(!!(0 < (long)((Py_ssize_t)(((size_t)-1)>>1)) || 0 ==
(long)((Py_ssize_t)(((size_t)-1)>>1))), 1))) ) ? __Pyx_GetItemInt_Fast
(__pyx_v_attr, (Py_ssize_t)0, 0, 0, 1) : (0 ? (PyErr_SetString
(PyExc_IndexError, "list index out of range"), (PyObject*)((void
*)0)) : __Pyx_GetItemInt_Generic(__pyx_v_attr, __Pyx_PyInt_From_long
(0))))
; if (unlikely(__pyx_t_1 == NULL)__builtin_expect(!!(__pyx_t_1 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 479; __pyx_clineno = __LINE__11449; goto __pyx_L1_error;};
11450 __Pyx_GOTREF(__pyx_t_1);
11451 __pyx_t_5 = (__Pyx_PyString_Equals__Pyx_PyBytes_Equals(__pyx_t_1, __pyx_n_s__17, Py_EQ2)); if (unlikely(__pyx_t_5 < 0)__builtin_expect(!!(__pyx_t_5 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 479; __pyx_clineno = __LINE__11451; goto __pyx_L1_error;}
11452 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
11453 if (__pyx_t_5) {
11454
11455 /* "xmmsapi.pyx":480
11456 * for attr in dir(self):
11457 * if attr[0] == '_':
11458 * continue # <<<<<<<<<<<<<<
11459 * obj = getattr(self, attr)
11460 *
11461 */
11462 goto __pyx_L3_continue;
11463 }
11464
11465 /* "xmmsapi.pyx":481
11466 * if attr[0] == '_':
11467 * continue
11468 * obj = getattr(self, attr) # <<<<<<<<<<<<<<
11469 *
11470 * if isinstance(obj, service_constant):
11471 */
11472 __pyx_t_1 = __Pyx_GetAttr(((PyObject *)__pyx_v_self), __pyx_v_attr); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__11472; goto __pyx_L1_error;}
11473 __Pyx_GOTREF(__pyx_t_1);
11474 __Pyx_XDECREF_SET(__pyx_v_obj, __pyx_t_1)do { PyObject *tmp = (PyObject *) __pyx_v_obj; __pyx_v_obj = __pyx_t_1
; do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0); } while (0)
;
11475 __pyx_t_1 = 0;
11476
11477 /* "xmmsapi.pyx":483
11478 * obj = getattr(self, attr)
11479 *
11480 * if isinstance(obj, service_constant): # <<<<<<<<<<<<<<
11481 * self._xmms_service_constants.add(attr)
11482 * setattr(self, attr, obj.value)
11483 */
11484 __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_service_constant); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__11484; goto __pyx_L1_error;}
11485 __Pyx_GOTREF(__pyx_t_1);
11486 __pyx_t_5 = PyObject_IsInstance(__pyx_v_obj, __pyx_t_1); if (unlikely(__pyx_t_5 == -1)__builtin_expect(!!(__pyx_t_5 == -1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__11486; goto __pyx_L1_error;}
11487 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
11488 __pyx_t_6 = (__pyx_t_5 != 0);
11489 if (__pyx_t_6) {
11490
11491 /* "xmmsapi.pyx":484
11492 *
11493 * if isinstance(obj, service_constant):
11494 * self._xmms_service_constants.add(attr) # <<<<<<<<<<<<<<
11495 * setattr(self, attr, obj.value)
11496 * continue
11497 */
11498 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_xmms_service_constants); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__11498; goto __pyx_L1_error;}
11499 __Pyx_GOTREF(__pyx_t_1);
11500 __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_add); if (unlikely(!__pyx_t_7)__builtin_expect(!!(!__pyx_t_7), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__11500; goto __pyx_L1_error;}
11501 __Pyx_GOTREF(__pyx_t_7);
11502 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
11503 __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__11503; goto __pyx_L1_error;}
11504 __Pyx_GOTREF(__pyx_t_1);
11505 __Pyx_INCREF(__pyx_v_attr)( ((PyObject*)(__pyx_v_attr))->ob_refcnt++);
11506 PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_attr)(((PyTupleObject *)(__pyx_t_1))->ob_item[0] = __pyx_v_attr
)
;
11507 __Pyx_GIVEREF(__pyx_v_attr);
11508 __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_1, NULL((void*)0)); if (unlikely(!__pyx_t_8)__builtin_expect(!!(!__pyx_t_8), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__11508; goto __pyx_L1_error;}
11509 __Pyx_GOTREF(__pyx_t_8);
11510 __Pyx_DECREF(__pyx_t_7)do { if ( --((PyObject*)(__pyx_t_7))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_7)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_7)))); } while (
0)
; __pyx_t_7 = 0;
11511 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
11512 __Pyx_DECREF(__pyx_t_8)do { if ( --((PyObject*)(__pyx_t_8))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_8)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_8)))); } while (
0)
; __pyx_t_8 = 0;
11513
11514 /* "xmmsapi.pyx":485
11515 * if isinstance(obj, service_constant):
11516 * self._xmms_service_constants.add(attr)
11517 * setattr(self, attr, obj.value) # <<<<<<<<<<<<<<
11518 * continue
11519 *
11520 */
11521 __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_value); if (unlikely(!__pyx_t_8)__builtin_expect(!!(!__pyx_t_8), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__11521; goto __pyx_L1_error;}
11522 __Pyx_GOTREF(__pyx_t_8);
11523 __pyx_t_9 = PyObject_SetAttr(((PyObject *)__pyx_v_self), __pyx_v_attr, __pyx_t_8); if (unlikely(__pyx_t_9 == -1)__builtin_expect(!!(__pyx_t_9 == -1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__11523; goto __pyx_L1_error;}
11524 __Pyx_DECREF(__pyx_t_8)do { if ( --((PyObject*)(__pyx_t_8))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_8)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_8)))); } while (
0)
; __pyx_t_8 = 0;
11525
11526 /* "xmmsapi.pyx":486
11527 * self._xmms_service_constants.add(attr)
11528 * setattr(self, attr, obj.value)
11529 * continue # <<<<<<<<<<<<<<
11530 *
11531 * if isinstance(obj, service_broadcast):
11532 */
11533 goto __pyx_L3_continue;
11534 }
11535
11536 /* "xmmsapi.pyx":488
11537 * continue
11538 *
11539 * if isinstance(obj, service_broadcast): # <<<<<<<<<<<<<<
11540 * bc_obj = obj
11541 * setattr(self, attr, bc_obj.bind(self, attr))
11542 */
11543 __pyx_t_6 = __Pyx_TypeCheck(__pyx_v_obj, ((PyObject*)__pyx_ptype_7xmmsapi_service_broadcast))((((PyObject*)(__pyx_v_obj))->ob_type) == ((PyTypeObject *
)((PyObject*)__pyx_ptype_7xmmsapi_service_broadcast)) || PyType_IsSubtype
((((PyObject*)(__pyx_v_obj))->ob_type), ((PyTypeObject *)(
(PyObject*)__pyx_ptype_7xmmsapi_service_broadcast))))
;
11544 __pyx_t_5 = (__pyx_t_6 != 0);
11545 if (__pyx_t_5) {
11546
11547 /* "xmmsapi.pyx":489
11548 *
11549 * if isinstance(obj, service_broadcast):
11550 * bc_obj = obj # <<<<<<<<<<<<<<
11551 * setattr(self, attr, bc_obj.bind(self, attr))
11552 * continue
11553 */
11554 if (!(likely(((__pyx_v_obj) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_obj, __pyx_ptype_7xmmsapi_service_broadcast)))__builtin_expect(!!(((__pyx_v_obj) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_v_obj, __pyx_ptype_7xmmsapi_service_broadcast
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__11554; goto __pyx_L1_error;}
11555 __pyx_t_8 = __pyx_v_obj;
11556 __Pyx_INCREF(__pyx_t_8)( ((PyObject*)(__pyx_t_8))->ob_refcnt++);
11557 __Pyx_XDECREF_SET(__pyx_v_bc_obj, ((struct __pyx_obj_7xmmsapi_service_broadcast *)__pyx_t_8))do { PyObject *tmp = (PyObject *) __pyx_v_bc_obj; __pyx_v_bc_obj
= ((struct __pyx_obj_7xmmsapi_service_broadcast *)__pyx_t_8)
; do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0); } while (0)
;
11558 __pyx_t_8 = 0;
11559
11560 /* "xmmsapi.pyx":490
11561 * if isinstance(obj, service_broadcast):
11562 * bc_obj = obj
11563 * setattr(self, attr, bc_obj.bind(self, attr)) # <<<<<<<<<<<<<<
11564 * continue
11565 *
11566 */
11567 __pyx_t_10.__pyx_n = 1;
11568 __pyx_t_10.name = __pyx_v_attr;
11569 __pyx_t_8 = ((struct __pyx_vtabstruct_7xmmsapi_service_broadcast *)__pyx_v_bc_obj->__pyx_vtab)->bind(__pyx_v_bc_obj, __pyx_v_self, &__pyx_t_10); if (unlikely(!__pyx_t_8)__builtin_expect(!!(!__pyx_t_8), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__11569; goto __pyx_L1_error;}
11570 __Pyx_GOTREF(__pyx_t_8);
11571 __pyx_t_9 = PyObject_SetAttr(((PyObject *)__pyx_v_self), __pyx_v_attr, __pyx_t_8); if (unlikely(__pyx_t_9 == -1)__builtin_expect(!!(__pyx_t_9 == -1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__11571; goto __pyx_L1_error;}
11572 __Pyx_DECREF(__pyx_t_8)do { if ( --((PyObject*)(__pyx_t_8))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_8)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_8)))); } while (
0)
; __pyx_t_8 = 0;
11573
11574 /* "xmmsapi.pyx":491
11575 * bc_obj = obj
11576 * setattr(self, attr, bc_obj.bind(self, attr))
11577 * continue # <<<<<<<<<<<<<<
11578 *
11579 * try:
11580 */
11581 goto __pyx_L3_continue;
11582 }
11583
11584 /* "xmmsapi.pyx":493
11585 * continue
11586 *
11587 * try: # <<<<<<<<<<<<<<
11588 * if issubclass(obj, XmmsServiceNamespace):
11589 * inst = obj(self.xmms, parent = self)
11590 */
11591 {
11592 __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13);
11593 __Pyx_XGOTREF(__pyx_t_11);
11594 __Pyx_XGOTREF(__pyx_t_12);
11595 __Pyx_XGOTREF(__pyx_t_13);
11596 /*try:*/ {
11597
11598 /* "xmmsapi.pyx":494
11599 *
11600 * try:
11601 * if issubclass(obj, XmmsServiceNamespace): # <<<<<<<<<<<<<<
11602 * inst = obj(self.xmms, parent = self)
11603 * inst.namespace_path = (attr,)
11604 */
11605 __pyx_t_5 = PyObject_IsSubclass(__pyx_v_obj, ((PyObject *)((PyObject*)__pyx_ptype_7xmmsapi_XmmsServiceNamespace))); if (unlikely(__pyx_t_5 == -1)__builtin_expect(!!(__pyx_t_5 == -1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__11605; goto __pyx_L8_error;}
11606 __pyx_t_6 = (__pyx_t_5 != 0);
11607 if (__pyx_t_6) {
11608
11609 /* "xmmsapi.pyx":495
11610 * try:
11611 * if issubclass(obj, XmmsServiceNamespace):
11612 * inst = obj(self.xmms, parent = self) # <<<<<<<<<<<<<<
11613 * inst.namespace_path = (attr,)
11614 *
11615 */
11616 __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)__builtin_expect(!!(!__pyx_t_8), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__11616; goto __pyx_L8_error;}
11617 __Pyx_GOTREF(__pyx_t_8);
11618 __Pyx_INCREF(((PyObject *)__pyx_v_self->xmms))( ((PyObject*)(((PyObject *)__pyx_v_self->xmms)))->ob_refcnt
++)
;
11619 PyTuple_SET_ITEM(__pyx_t_8, 0, ((PyObject *)__pyx_v_self->xmms))(((PyTupleObject *)(__pyx_t_8))->ob_item[0] = ((PyObject *
)__pyx_v_self->xmms))
;
11620 __Pyx_GIVEREF(((PyObject *)__pyx_v_self->xmms));
11621 __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__11621; goto __pyx_L8_error;}
11622 __Pyx_GOTREF(__pyx_t_1);
11623 if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_parent, ((PyObject *)__pyx_v_self)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__11623; goto __pyx_L8_error;}
11624 __pyx_t_7 = __Pyx_PyObject_Call(__pyx_v_obj, __pyx_t_8, __pyx_t_1); if (unlikely(!__pyx_t_7)__builtin_expect(!!(!__pyx_t_7), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__11624; goto __pyx_L8_error;}
11625 __Pyx_GOTREF(__pyx_t_7);
11626 __Pyx_DECREF(__pyx_t_8)do { if ( --((PyObject*)(__pyx_t_8))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_8)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_8)))); } while (
0)
; __pyx_t_8 = 0;
11627 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
11628 __Pyx_XDECREF_SET(__pyx_v_inst, __pyx_t_7)do { PyObject *tmp = (PyObject *) __pyx_v_inst; __pyx_v_inst =
__pyx_t_7; do { if ((tmp) == ((void*)0)) ; else do { if ( --
((PyObject*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject
*)((PyObject *)(tmp)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(tmp)))); } while (0); } while (0); } while (
0)
;
11629 __pyx_t_7 = 0;
11630
11631 /* "xmmsapi.pyx":496
11632 * if issubclass(obj, XmmsServiceNamespace):
11633 * inst = obj(self.xmms, parent = self)
11634 * inst.namespace_path = (attr,) # <<<<<<<<<<<<<<
11635 *
11636 * setattr(self, attr, inst)
11637 */
11638 __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)__builtin_expect(!!(!__pyx_t_7), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__11638; goto __pyx_L8_error;}
11639 __Pyx_GOTREF(__pyx_t_7);
11640 __Pyx_INCREF(__pyx_v_attr)( ((PyObject*)(__pyx_v_attr))->ob_refcnt++);
11641 PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_attr)(((PyTupleObject *)(__pyx_t_7))->ob_item[0] = __pyx_v_attr
)
;
11642 __Pyx_GIVEREF(__pyx_v_attr);
11643 if (__Pyx_PyObject_SetAttrStr(__pyx_v_inst, __pyx_n_s_namespace_path, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__11643; goto __pyx_L8_error;}
11644 __Pyx_DECREF(__pyx_t_7)do { if ( --((PyObject*)(__pyx_t_7))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_7)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_7)))); } while (
0)
; __pyx_t_7 = 0;
11645
11646 /* "xmmsapi.pyx":498
11647 * inst.namespace_path = (attr,)
11648 *
11649 * setattr(self, attr, inst) # <<<<<<<<<<<<<<
11650 * inst._xmms_service_entity = dict(
11651 * entity = 'namespace',
11652 */
11653 __pyx_t_9 = PyObject_SetAttr(((PyObject *)__pyx_v_self), __pyx_v_attr, __pyx_v_inst); if (unlikely(__pyx_t_9 == -1)__builtin_expect(!!(__pyx_t_9 == -1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__11653; goto __pyx_L8_error;}
11654
11655 /* "xmmsapi.pyx":499
11656 *
11657 * setattr(self, attr, inst)
11658 * inst._xmms_service_entity = dict( # <<<<<<<<<<<<<<
11659 * entity = 'namespace',
11660 * name = attr,
11661 */
11662 __pyx_t_7 = PyDict_New(); if (unlikely(!__pyx_t_7)__builtin_expect(!!(!__pyx_t_7), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__11662; goto __pyx_L8_error;}
11663 __Pyx_GOTREF(__pyx_t_7);
11664 if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_entity, __pyx_n_s_namespace) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__11664; goto __pyx_L8_error;}
11665
11666 /* "xmmsapi.pyx":501
11667 * inst._xmms_service_entity = dict(
11668 * entity = 'namespace',
11669 * name = attr, # <<<<<<<<<<<<<<
11670 * doc = inst.__doc__
11671 * )
11672 */
11673 if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_name_2, __pyx_v_attr) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__11673; goto __pyx_L8_error;}
11674
11675 /* "xmmsapi.pyx":502
11676 * entity = 'namespace',
11677 * name = attr,
11678 * doc = inst.__doc__ # <<<<<<<<<<<<<<
11679 * )
11680 * except TypeError:
11681 */
11682 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_inst, __pyx_n_s_doc); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__11682; goto __pyx_L8_error;}
11683 __Pyx_GOTREF(__pyx_t_1);
11684 if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_doc_2, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__11684; goto __pyx_L8_error;}
11685 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
11686
11687 /* "xmmsapi.pyx":499
11688 *
11689 * setattr(self, attr, inst)
11690 * inst._xmms_service_entity = dict( # <<<<<<<<<<<<<<
11691 * entity = 'namespace',
11692 * name = attr,
11693 */
11694 if (__Pyx_PyObject_SetAttrStr(__pyx_v_inst, __pyx_n_s_xmms_service_entity, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__11694; goto __pyx_L8_error;}
11695 __Pyx_DECREF(__pyx_t_7)do { if ( --((PyObject*)(__pyx_t_7))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_7)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_7)))); } while (
0)
; __pyx_t_7 = 0;
11696 goto __pyx_L16;
11697 }
11698 __pyx_L16:;
11699 }
11700 __Pyx_XDECREF(__pyx_t_11)do { if ((__pyx_t_11) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_11))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_t_11)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_11)))); } while (0); } while (0)
; __pyx_t_11 = 0;
11701 __Pyx_XDECREF(__pyx_t_12)do { if ((__pyx_t_12) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_12))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_t_12)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_12)))); } while (0); } while (0)
; __pyx_t_12 = 0;
11702 __Pyx_XDECREF(__pyx_t_13)do { if ((__pyx_t_13) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_13))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_t_13)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_13)))); } while (0); } while (0)
; __pyx_t_13 = 0;
11703 goto __pyx_L15_try_end;
11704 __pyx_L8_error:;
11705 __Pyx_XDECREF(__pyx_t_8)do { if ((__pyx_t_8) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_8))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_8)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_8)))); } while (0); } while (0)
; __pyx_t_8 = 0;
11706 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
; __pyx_t_1 = 0;
11707 __Pyx_XDECREF(__pyx_t_7)do { if ((__pyx_t_7) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_7))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_7)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_7)))); } while (0); } while (0)
; __pyx_t_7 = 0;
11708
11709 /* "xmmsapi.pyx":504
11710 * doc = inst.__doc__
11711 * )
11712 * except TypeError: # <<<<<<<<<<<<<<
11713 * pass
11714 *
11715 */
11716 __pyx_t_14 = PyErr_ExceptionMatches(__pyx_builtin_TypeError);
11717 if (__pyx_t_14) {
11718 PyErr_Restore(0,0,0);
11719 goto __pyx_L9_exception_handled;
11720 }
11721 goto __pyx_L10_except_error;
11722 __pyx_L10_except_error:;
11723 __Pyx_XGIVEREF(__pyx_t_11);
11724 __Pyx_XGIVEREF(__pyx_t_12);
11725 __Pyx_XGIVEREF(__pyx_t_13);
11726 __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13);
11727 goto __pyx_L1_error;
11728 __pyx_L9_exception_handled:;
11729 __Pyx_XGIVEREF(__pyx_t_11);
11730 __Pyx_XGIVEREF(__pyx_t_12);
11731 __Pyx_XGIVEREF(__pyx_t_13);
11732 __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13);
11733 __pyx_L15_try_end:;
11734 }
11735 __pyx_L3_continue:;
11736 }
11737 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
11738
11739 /* "xmmsapi.pyx":471
11740 * return path + self.namespace_path
11741 *
11742 * def __cinit__(self, XmmsCore xmms, *a, **ka): # <<<<<<<<<<<<<<
11743 * cdef service_broadcast bc_obj
11744 * self.parent = ka.get('parent', None)
11745 */
11746
11747 /* function exit code */
11748 __pyx_r = 0;
11749 goto __pyx_L0;
11750 __pyx_L1_error:;
11751 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
11752 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
11753 __Pyx_XDECREF(__pyx_t_7)do { if ((__pyx_t_7) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_7))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_7)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_7)))); } while (0); } while (0)
;
11754 __Pyx_XDECREF(__pyx_t_8)do { if ((__pyx_t_8) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_8))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_8)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_8)))); } while (0); } while (0)
;
11755 __Pyx_AddTraceback("xmmsapi.XmmsServiceNamespace.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
11756 __pyx_r = -1;
11757 __pyx_L0:;
11758 __Pyx_XDECREF((PyObject *)__pyx_v_bc_obj)do { if (((PyObject *)__pyx_v_bc_obj) == ((void*)0)) ; else do
{ if ( --((PyObject*)((PyObject *)__pyx_v_bc_obj))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)((PyObject *)__pyx_v_bc_obj
)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)((PyObject
*)__pyx_v_bc_obj)))); } while (0); } while (0)
;
11759 __Pyx_XDECREF(__pyx_v_attr)do { if ((__pyx_v_attr) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_attr))->ob_refcnt != 0) ; else ( (*(((PyObject*
)((PyObject *)(__pyx_v_attr)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(__pyx_v_attr)))); } while (0); } while
(0)
;
11760 __Pyx_XDECREF(__pyx_v_obj)do { if ((__pyx_v_obj) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_obj))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(__pyx_v_obj)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_obj)))); } while (0); } while (0)
;
11761 __Pyx_XDECREF(__pyx_v_inst)do { if ((__pyx_v_inst) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_inst))->ob_refcnt != 0) ; else ( (*(((PyObject*
)((PyObject *)(__pyx_v_inst)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(__pyx_v_inst)))); } while (0); } while
(0)
;
11762 __Pyx_RefNannyFinishContext();
11763 return __pyx_r;
11764}
11765
11766/* "xmmsapi.pyx":507
11767 * pass
11768 *
11769 * cpdef _walk(self, namespace = None, constant = None, method = None, broadcast = None, path = (), other = _noop, depth = -1, deep = False): # <<<<<<<<<<<<<<
11770 * callbacks = dict(
11771 * namespace = _setcb(namespace, other),
11772 */
11773
11774static PyObject *__pyx_pw_7xmmsapi_20XmmsServiceNamespace_3_walk(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
11775static PyObject *__pyx_f_7xmmsapi_20XmmsServiceNamespace__walk(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_20XmmsServiceNamespace__walk *__pyx_optional_args) {
11776 PyObject *__pyx_v_namespace = ((PyObject *)Py_None(&_Py_NoneStruct));
11777 PyObject *__pyx_v_constant = ((PyObject *)Py_None(&_Py_NoneStruct));
11778 PyObject *__pyx_v_method = ((PyObject *)Py_None(&_Py_NoneStruct));
11779 PyObject *__pyx_v_broadcast = ((PyObject *)Py_None(&_Py_NoneStruct));
11780 PyObject *__pyx_v_path = ((PyObject *)__pyx_empty_tuple);
11781 PyObject *__pyx_v_other = __pyx_k__18;
11782 PyObject *__pyx_v_depth = ((PyObject *)__pyx_int_neg_1);
11783 PyObject *__pyx_v_deep = ((PyObject *)Py_False((PyObject *) &_Py_ZeroStruct));
11784 PyObject *__pyx_v_callbacks = NULL((void*)0);
11785 PyObject *__pyx_v_attr = NULL((void*)0);
11786 PyObject *__pyx_v_obj = NULL((void*)0);
11787 PyObject *__pyx_v_entity = NULL((void*)0);
11788 PyObject *__pyx_v_entity_type = NULL((void*)0);
11789 PyObject *__pyx_r = NULL((void*)0);
11790 __Pyx_RefNannyDeclarations
11791 PyObject *__pyx_t_1 = NULL((void*)0);
11792 PyObject *__pyx_t_2 = NULL((void*)0);
11793 PyObject *__pyx_t_3 = NULL((void*)0);
11794 PyObject *__pyx_t_4 = NULL((void*)0);
11795 Py_ssize_t __pyx_t_5;
11796 PyObject *(*__pyx_t_6)(PyObject *);
11797 int __pyx_t_7;
11798 int __pyx_t_8;
11799 int __pyx_t_9;
11800 PyObject *__pyx_t_10 = NULL((void*)0);
11801 int __pyx_lineno = 0;
11802 const char *__pyx_filename = NULL((void*)0);
11803 int __pyx_clineno = 0;
11804 __Pyx_RefNannySetupContext("_walk", 0);
11805 if (__pyx_optional_args) {
11806 if (__pyx_optional_args->__pyx_n > 0) {
11807 __pyx_v_namespace = __pyx_optional_args->namespace;
11808 if (__pyx_optional_args->__pyx_n > 1) {
11809 __pyx_v_constant = __pyx_optional_args->constant;
11810 if (__pyx_optional_args->__pyx_n > 2) {
11811 __pyx_v_method = __pyx_optional_args->method;
11812 if (__pyx_optional_args->__pyx_n > 3) {
11813 __pyx_v_broadcast = __pyx_optional_args->broadcast;
11814 if (__pyx_optional_args->__pyx_n > 4) {
11815 __pyx_v_path = __pyx_optional_args->path;
11816 if (__pyx_optional_args->__pyx_n > 5) {
11817 __pyx_v_other = __pyx_optional_args->other;
11818 if (__pyx_optional_args->__pyx_n > 6) {
11819 __pyx_v_depth = __pyx_optional_args->depth;
11820 if (__pyx_optional_args->__pyx_n > 7) {
11821 __pyx_v_deep = __pyx_optional_args->deep;
11822 }
11823 }
11824 }
11825 }
11826 }
11827 }
11828 }
11829 }
11830 }
11831 /* Check if called by wrapper */
11832 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
11833 /* Check if overridden in Python */
11834 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
11835 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_walk); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__11835; goto __pyx_L1_error;}
11836 __Pyx_GOTREF(__pyx_t_1);
11837 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_20XmmsServiceNamespace_3_walk)) {
11838 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
11839 __pyx_t_2 = PyTuple_New(8); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__11839; goto __pyx_L1_error;}
11840 __Pyx_GOTREF(__pyx_t_2);
11841 __Pyx_INCREF(__pyx_v_namespace)( ((PyObject*)(__pyx_v_namespace))->ob_refcnt++);
11842 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_namespace)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_namespace
)
;
11843 __Pyx_GIVEREF(__pyx_v_namespace);
11844 __Pyx_INCREF(__pyx_v_constant)( ((PyObject*)(__pyx_v_constant))->ob_refcnt++);
11845 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_constant)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_constant
)
;
11846 __Pyx_GIVEREF(__pyx_v_constant);
11847 __Pyx_INCREF(__pyx_v_method)( ((PyObject*)(__pyx_v_method))->ob_refcnt++);
11848 PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_method)(((PyTupleObject *)(__pyx_t_2))->ob_item[2] = __pyx_v_method
)
;
11849 __Pyx_GIVEREF(__pyx_v_method);
11850 __Pyx_INCREF(__pyx_v_broadcast)( ((PyObject*)(__pyx_v_broadcast))->ob_refcnt++);
11851 PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_v_broadcast)(((PyTupleObject *)(__pyx_t_2))->ob_item[3] = __pyx_v_broadcast
)
;
11852 __Pyx_GIVEREF(__pyx_v_broadcast);
11853 __Pyx_INCREF(__pyx_v_path)( ((PyObject*)(__pyx_v_path))->ob_refcnt++);
11854 PyTuple_SET_ITEM(__pyx_t_2, 4, __pyx_v_path)(((PyTupleObject *)(__pyx_t_2))->ob_item[4] = __pyx_v_path
)
;
11855 __Pyx_GIVEREF(__pyx_v_path);
11856 __Pyx_INCREF(__pyx_v_other)( ((PyObject*)(__pyx_v_other))->ob_refcnt++);
11857 PyTuple_SET_ITEM(__pyx_t_2, 5, __pyx_v_other)(((PyTupleObject *)(__pyx_t_2))->ob_item[5] = __pyx_v_other
)
;
11858 __Pyx_GIVEREF(__pyx_v_other);
11859 __Pyx_INCREF(__pyx_v_depth)( ((PyObject*)(__pyx_v_depth))->ob_refcnt++);
11860 PyTuple_SET_ITEM(__pyx_t_2, 6, __pyx_v_depth)(((PyTupleObject *)(__pyx_t_2))->ob_item[6] = __pyx_v_depth
)
;
11861 __Pyx_GIVEREF(__pyx_v_depth);
11862 __Pyx_INCREF(__pyx_v_deep)( ((PyObject*)(__pyx_v_deep))->ob_refcnt++);
11863 PyTuple_SET_ITEM(__pyx_t_2, 7, __pyx_v_deep)(((PyTupleObject *)(__pyx_t_2))->ob_item[7] = __pyx_v_deep
)
;
11864 __Pyx_GIVEREF(__pyx_v_deep);
11865 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__11865; goto __pyx_L1_error;}
11866 __Pyx_GOTREF(__pyx_t_3);
11867 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
11868 __pyx_r = __pyx_t_3;
11869 __pyx_t_3 = 0;
11870 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
11871 goto __pyx_L0;
11872 }
11873 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
11874 }
11875
11876 /* "xmmsapi.pyx":508
11877 *
11878 * cpdef _walk(self, namespace = None, constant = None, method = None, broadcast = None, path = (), other = _noop, depth = -1, deep = False):
11879 * callbacks = dict( # <<<<<<<<<<<<<<
11880 * namespace = _setcb(namespace, other),
11881 * constant = _setcb(constant, other),
11882 */
11883 __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__11883; goto __pyx_L1_error;}
11884 __Pyx_GOTREF(__pyx_t_1);
11885
11886 /* "xmmsapi.pyx":509
11887 * cpdef _walk(self, namespace = None, constant = None, method = None, broadcast = None, path = (), other = _noop, depth = -1, deep = False):
11888 * callbacks = dict(
11889 * namespace = _setcb(namespace, other), # <<<<<<<<<<<<<<
11890 * constant = _setcb(constant, other),
11891 * method = _setcb(method, other),
11892 */
11893 __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_setcb); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__11893; goto __pyx_L1_error;}
11894 __Pyx_GOTREF(__pyx_t_3);
11895 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__11895; goto __pyx_L1_error;}
11896 __Pyx_GOTREF(__pyx_t_2);
11897 __Pyx_INCREF(__pyx_v_namespace)( ((PyObject*)(__pyx_v_namespace))->ob_refcnt++);
11898 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_namespace)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_namespace
)
;
11899 __Pyx_GIVEREF(__pyx_v_namespace);
11900 __Pyx_INCREF(__pyx_v_other)( ((PyObject*)(__pyx_v_other))->ob_refcnt++);
11901 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_other)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_other
)
;
11902 __Pyx_GIVEREF(__pyx_v_other);
11903 __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__11903; goto __pyx_L1_error;}
11904 __Pyx_GOTREF(__pyx_t_4);
11905 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
11906 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
11907 if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_namespace, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__11907; goto __pyx_L1_error;}
11908 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
11909
11910 /* "xmmsapi.pyx":510
11911 * callbacks = dict(
11912 * namespace = _setcb(namespace, other),
11913 * constant = _setcb(constant, other), # <<<<<<<<<<<<<<
11914 * method = _setcb(method, other),
11915 * broadcast = _setcb(broadcast, other),
11916 */
11917 __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_setcb); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__11917; goto __pyx_L1_error;}
11918 __Pyx_GOTREF(__pyx_t_4);
11919 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__11919; goto __pyx_L1_error;}
11920 __Pyx_GOTREF(__pyx_t_2);
11921 __Pyx_INCREF(__pyx_v_constant)( ((PyObject*)(__pyx_v_constant))->ob_refcnt++);
11922 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_constant)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_constant
)
;
11923 __Pyx_GIVEREF(__pyx_v_constant);
11924 __Pyx_INCREF(__pyx_v_other)( ((PyObject*)(__pyx_v_other))->ob_refcnt++);
11925 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_other)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_other
)
;
11926 __Pyx_GIVEREF(__pyx_v_other);
11927 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__11927; goto __pyx_L1_error;}
11928 __Pyx_GOTREF(__pyx_t_3);
11929 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
11930 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
11931 if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_constant, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__11931; goto __pyx_L1_error;}
11932 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
11933
11934 /* "xmmsapi.pyx":511
11935 * namespace = _setcb(namespace, other),
11936 * constant = _setcb(constant, other),
11937 * method = _setcb(method, other), # <<<<<<<<<<<<<<
11938 * broadcast = _setcb(broadcast, other),
11939 * )
11940 */
11941 __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_setcb); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__11941; goto __pyx_L1_error;}
11942 __Pyx_GOTREF(__pyx_t_3);
11943 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__11943; goto __pyx_L1_error;}
11944 __Pyx_GOTREF(__pyx_t_2);
11945 __Pyx_INCREF(__pyx_v_method)( ((PyObject*)(__pyx_v_method))->ob_refcnt++);
11946 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_method)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_method
)
;
11947 __Pyx_GIVEREF(__pyx_v_method);
11948 __Pyx_INCREF(__pyx_v_other)( ((PyObject*)(__pyx_v_other))->ob_refcnt++);
11949 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_other)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_other
)
;
11950 __Pyx_GIVEREF(__pyx_v_other);
11951 __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__11951; goto __pyx_L1_error;}
11952 __Pyx_GOTREF(__pyx_t_4);
11953 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
11954 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
11955 if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_method, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__11955; goto __pyx_L1_error;}
11956 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
11957
11958 /* "xmmsapi.pyx":512
11959 * constant = _setcb(constant, other),
11960 * method = _setcb(method, other),
11961 * broadcast = _setcb(broadcast, other), # <<<<<<<<<<<<<<
11962 * )
11963 *
11964 */
11965 __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_setcb); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__11965; goto __pyx_L1_error;}
11966 __Pyx_GOTREF(__pyx_t_4);
11967 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__11967; goto __pyx_L1_error;}
11968 __Pyx_GOTREF(__pyx_t_2);
11969 __Pyx_INCREF(__pyx_v_broadcast)( ((PyObject*)(__pyx_v_broadcast))->ob_refcnt++);
11970 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_broadcast)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_broadcast
)
;
11971 __Pyx_GIVEREF(__pyx_v_broadcast);
11972 __Pyx_INCREF(__pyx_v_other)( ((PyObject*)(__pyx_v_other))->ob_refcnt++);
11973 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_other)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_other
)
;
11974 __Pyx_GIVEREF(__pyx_v_other);
11975 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__11975; goto __pyx_L1_error;}
11976 __Pyx_GOTREF(__pyx_t_3);
11977 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
11978 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
11979 if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_broadcast, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__11979; goto __pyx_L1_error;}
11980 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
11981 __pyx_v_callbacks = ((PyObject*)__pyx_t_1);
11982 __pyx_t_1 = 0;
11983
11984 /* "xmmsapi.pyx":515
11985 * )
11986 *
11987 * for attr in dir(self): # <<<<<<<<<<<<<<
11988 * if attr[0] == '_':
11989 * continue
11990 */
11991 __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__11991; goto __pyx_L1_error;}
11992 __Pyx_GOTREF(__pyx_t_1);
11993 if (PyList_CheckExact(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyList_Type) || PyTuple_CheckExact(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyTuple_Type)) {
11994 __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3)( ((PyObject*)(__pyx_t_3))->ob_refcnt++); __pyx_t_5 = 0;
11995 __pyx_t_6 = NULL((void*)0);
11996 } else {
11997 __pyx_t_5 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__11997; goto __pyx_L1_error;}
11998 __Pyx_GOTREF(__pyx_t_3);
11999 __pyx_t_6 = Py_TYPE(__pyx_t_3)(((PyObject*)(__pyx_t_3))->ob_type)->tp_iternext;
12000 }
12001 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
12002 for (;;) {
12003 if (!__pyx_t_6 && PyList_CheckExact(__pyx_t_3)((((PyObject*)(__pyx_t_3))->ob_type) == &PyList_Type)) {
12004 if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)(((PyVarObject*)(__pyx_t_3))->ob_size)) break;
12005 #if CYTHON_COMPILING_IN_CPYTHON1
12006 __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5)(((PyListObject *)(__pyx_t_3))->ob_item[__pyx_t_5]); __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++); __pyx_t_5++; if (unlikely(0 < 0)__builtin_expect(!!(0 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__12006; goto __pyx_L1_error;}
12007 #else
12008 __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_5)( (((PyObject*)(__pyx_t_3))->ob_type)->tp_as_sequence->
sq_item(__pyx_t_3, __pyx_t_5) )
; __pyx_t_5++; if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__12008; goto __pyx_L1_error;}
12009 #endif
12010 } else if (!__pyx_t_6 && PyTuple_CheckExact(__pyx_t_3)((((PyObject*)(__pyx_t_3))->ob_type) == &PyTuple_Type)) {
12011 if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_3)(((PyVarObject*)(__pyx_t_3))->ob_size)) break;
12012 #if CYTHON_COMPILING_IN_CPYTHON1
12013 __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5)(((PyTupleObject *)(__pyx_t_3))->ob_item[__pyx_t_5]); __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++); __pyx_t_5++; if (unlikely(0 < 0)__builtin_expect(!!(0 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__12013; goto __pyx_L1_error;}
12014 #else
12015 __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_5)( (((PyObject*)(__pyx_t_3))->ob_type)->tp_as_sequence->
sq_item(__pyx_t_3, __pyx_t_5) )
; __pyx_t_5++; if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__12015; goto __pyx_L1_error;}
12016 #endif
12017 } else {
12018 __pyx_t_1 = __pyx_t_6(__pyx_t_3);
12019 if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {
12020 PyObject* exc_type = PyErr_Occurred();
12021 if (exc_type) {
12022 if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))__builtin_expect(!!(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches
(exc_type, PyExc_StopIteration)), 1)
) PyErr_Clear();
12023 else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 515; __pyx_clineno = __LINE__12023; goto __pyx_L1_error;}
12024 }
12025 break;
12026 }
12027 __Pyx_GOTREF(__pyx_t_1);
12028 }
12029 __Pyx_XDECREF_SET(__pyx_v_attr, __pyx_t_1)do { PyObject *tmp = (PyObject *) __pyx_v_attr; __pyx_v_attr =
__pyx_t_1; do { if ((tmp) == ((void*)0)) ; else do { if ( --
((PyObject*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject
*)((PyObject *)(tmp)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(tmp)))); } while (0); } while (0); } while (
0)
;
12030 __pyx_t_1 = 0;
12031
12032 /* "xmmsapi.pyx":516
12033 *
12034 * for attr in dir(self):
12035 * if attr[0] == '_': # <<<<<<<<<<<<<<
12036 * continue
12037 * obj = getattr(self, attr)
12038 */
12039 __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_attr, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1)(( (sizeof(long) < sizeof(Py_ssize_t)) || (sizeof(long) >
sizeof(Py_ssize_t) && __builtin_expect(!!(0 < (long
)((Py_ssize_t)(((size_t)-1)>>1)) || 0 == (long)((Py_ssize_t
)(((size_t)-1)>>1))), 1) && (!1 || __builtin_expect
(!!(0 > (long)(-((Py_ssize_t)(((size_t)-1)>>1))-1) ||
0 == (long)(-((Py_ssize_t)(((size_t)-1)>>1))-1)), 1)))
|| (sizeof(long) == sizeof(Py_ssize_t) && (1 || __builtin_expect
(!!(0 < (long)((Py_ssize_t)(((size_t)-1)>>1)) || 0 ==
(long)((Py_ssize_t)(((size_t)-1)>>1))), 1))) ) ? __Pyx_GetItemInt_Fast
(__pyx_v_attr, (Py_ssize_t)0, 0, 0, 1) : (0 ? (PyErr_SetString
(PyExc_IndexError, "list index out of range"), (PyObject*)((void
*)0)) : __Pyx_GetItemInt_Generic(__pyx_v_attr, __Pyx_PyInt_From_long
(0))))
; if (unlikely(__pyx_t_1 == NULL)__builtin_expect(!!(__pyx_t_1 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__12039; goto __pyx_L1_error;};
12040 __Pyx_GOTREF(__pyx_t_1);
12041 __pyx_t_7 = (__Pyx_PyString_Equals__Pyx_PyBytes_Equals(__pyx_t_1, __pyx_n_s__17, Py_EQ2)); if (unlikely(__pyx_t_7 < 0)__builtin_expect(!!(__pyx_t_7 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__12041; goto __pyx_L1_error;}
12042 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
12043 if (__pyx_t_7) {
12044
12045 /* "xmmsapi.pyx":517
12046 * for attr in dir(self):
12047 * if attr[0] == '_':
12048 * continue # <<<<<<<<<<<<<<
12049 * obj = getattr(self, attr)
12050 * if attr in self._xmms_service_constants:
12051 */
12052 goto __pyx_L3_continue;
12053 }
12054
12055 /* "xmmsapi.pyx":518
12056 * if attr[0] == '_':
12057 * continue
12058 * obj = getattr(self, attr) # <<<<<<<<<<<<<<
12059 * if attr in self._xmms_service_constants:
12060 * entity = dict(
12061 */
12062 __pyx_t_1 = __Pyx_GetAttr(((PyObject *)__pyx_v_self), __pyx_v_attr); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__12062; goto __pyx_L1_error;}
12063 __Pyx_GOTREF(__pyx_t_1);
12064 __Pyx_XDECREF_SET(__pyx_v_obj, __pyx_t_1)do { PyObject *tmp = (PyObject *) __pyx_v_obj; __pyx_v_obj = __pyx_t_1
; do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0); } while (0)
;
12065 __pyx_t_1 = 0;
12066
12067 /* "xmmsapi.pyx":519
12068 * continue
12069 * obj = getattr(self, attr)
12070 * if attr in self._xmms_service_constants: # <<<<<<<<<<<<<<
12071 * entity = dict(
12072 * entity = 'constant',
12073 */
12074 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_xmms_service_constants); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__12074; goto __pyx_L1_error;}
12075 __Pyx_GOTREF(__pyx_t_1);
12076 __pyx_t_7 = (__Pyx_PySequence_Contains(__pyx_v_attr, __pyx_t_1, Py_EQ2)); if (unlikely(__pyx_t_7 < 0)__builtin_expect(!!(__pyx_t_7 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__12076; goto __pyx_L1_error;}
12077 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
12078 __pyx_t_8 = (__pyx_t_7 != 0);
12079 if (__pyx_t_8) {
12080
12081 /* "xmmsapi.pyx":520
12082 * obj = getattr(self, attr)
12083 * if attr in self._xmms_service_constants:
12084 * entity = dict( # <<<<<<<<<<<<<<
12085 * entity = 'constant',
12086 * name = attr,
12087 */
12088 __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; __pyx_clineno = __LINE__12088; goto __pyx_L1_error;}
12089 __Pyx_GOTREF(__pyx_t_1);
12090 if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_entity, __pyx_n_s_constant) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; __pyx_clineno = __LINE__12090; goto __pyx_L1_error;}
12091
12092 /* "xmmsapi.pyx":522
12093 * entity = dict(
12094 * entity = 'constant',
12095 * name = attr, # <<<<<<<<<<<<<<
12096 * )
12097 * elif isinstance(obj, service_broadcast):
12098 */
12099 if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_name_2, __pyx_v_attr) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; __pyx_clineno = __LINE__12099; goto __pyx_L1_error;}
12100 __Pyx_XDECREF_SET(__pyx_v_entity, __pyx_t_1)do { PyObject *tmp = (PyObject *) __pyx_v_entity; __pyx_v_entity
= __pyx_t_1; do { if ((tmp) == ((void*)0)) ; else do { if ( --
((PyObject*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject
*)((PyObject *)(tmp)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(tmp)))); } while (0); } while (0); } while (
0)
;
12101 __pyx_t_1 = 0;
12102 goto __pyx_L6;
12103 }
12104
12105 /* "xmmsapi.pyx":524
12106 * name = attr,
12107 * )
12108 * elif isinstance(obj, service_broadcast): # <<<<<<<<<<<<<<
12109 * entity = dict(
12110 * entity = 'broadcast',
12111 */
12112 __pyx_t_8 = __Pyx_TypeCheck(__pyx_v_obj, ((PyObject*)__pyx_ptype_7xmmsapi_service_broadcast))((((PyObject*)(__pyx_v_obj))->ob_type) == ((PyTypeObject *
)((PyObject*)__pyx_ptype_7xmmsapi_service_broadcast)) || PyType_IsSubtype
((((PyObject*)(__pyx_v_obj))->ob_type), ((PyTypeObject *)(
(PyObject*)__pyx_ptype_7xmmsapi_service_broadcast))))
;
12113 __pyx_t_7 = (__pyx_t_8 != 0);
12114 if (__pyx_t_7) {
12115
12116 /* "xmmsapi.pyx":525
12117 * )
12118 * elif isinstance(obj, service_broadcast):
12119 * entity = dict( # <<<<<<<<<<<<<<
12120 * entity = 'broadcast',
12121 * name = obj.name or attr,
12122 */
12123 __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__12123; goto __pyx_L1_error;}
12124 __Pyx_GOTREF(__pyx_t_1);
12125 if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_entity, __pyx_n_s_broadcast) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__12125; goto __pyx_L1_error;}
12126
12127 /* "xmmsapi.pyx":527
12128 * entity = dict(
12129 * entity = 'broadcast',
12130 * name = obj.name or attr, # <<<<<<<<<<<<<<
12131 * doc = obj.doc
12132 * )
12133 */
12134 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_name_2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__12134; goto __pyx_L1_error;}
12135 __Pyx_GOTREF(__pyx_t_2);
12136 __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_7 < 0)__builtin_expect(!!(__pyx_t_7 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__12136; goto __pyx_L1_error;}
12137 if (!__pyx_t_7) {
12138 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
12139 __Pyx_INCREF(__pyx_v_attr)( ((PyObject*)(__pyx_v_attr))->ob_refcnt++);
12140 __pyx_t_4 = __pyx_v_attr;
12141 } else {
12142 __pyx_t_4 = __pyx_t_2;
12143 __pyx_t_2 = 0;
12144 }
12145 if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_name_2, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__12145; goto __pyx_L1_error;}
12146 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
12147
12148 /* "xmmsapi.pyx":528
12149 * entity = 'broadcast',
12150 * name = obj.name or attr,
12151 * doc = obj.doc # <<<<<<<<<<<<<<
12152 * )
12153 * else:
12154 */
12155 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_doc_2); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__12155; goto __pyx_L1_error;}
12156 __Pyx_GOTREF(__pyx_t_4);
12157 if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_doc_2, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__12157; goto __pyx_L1_error;}
12158 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
12159 __Pyx_XDECREF_SET(__pyx_v_entity, __pyx_t_1)do { PyObject *tmp = (PyObject *) __pyx_v_entity; __pyx_v_entity
= __pyx_t_1; do { if ((tmp) == ((void*)0)) ; else do { if ( --
((PyObject*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject
*)((PyObject *)(tmp)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(tmp)))); } while (0); } while (0); } while (
0)
;
12160 __pyx_t_1 = 0;
12161 goto __pyx_L6;
12162 }
12163 /*else*/ {
12164
12165 /* "xmmsapi.pyx":531
12166 * )
12167 * else:
12168 * entity = getattr(obj, '_xmms_service_entity', None) # <<<<<<<<<<<<<<
12169 *
12170 * if not isinstance(entity, dict):
12171 */
12172 __pyx_t_1 = __Pyx_GetAttr3(__pyx_v_obj, __pyx_n_s_xmms_service_entity, Py_None(&_Py_NoneStruct)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__12172; goto __pyx_L1_error;}
12173 __Pyx_GOTREF(__pyx_t_1);
12174 __Pyx_XDECREF_SET(__pyx_v_entity, __pyx_t_1)do { PyObject *tmp = (PyObject *) __pyx_v_entity; __pyx_v_entity
= __pyx_t_1; do { if ((tmp) == ((void*)0)) ; else do { if ( --
((PyObject*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject
*)((PyObject *)(tmp)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(tmp)))); } while (0); } while (0); } while (
0)
;
12175 __pyx_t_1 = 0;
12176 }
12177 __pyx_L6:;
12178
12179 /* "xmmsapi.pyx":533
12180 * entity = getattr(obj, '_xmms_service_entity', None)
12181 *
12182 * if not isinstance(entity, dict): # <<<<<<<<<<<<<<
12183 * continue
12184 *
12185 */
12186 __pyx_t_7 = PyDict_Check(__pyx_v_entity)((((((PyObject*)(__pyx_v_entity))->ob_type))->tp_flags &
((1L<<29))) != 0)
;
12187 __pyx_t_8 = ((!(__pyx_t_7 != 0)) != 0);
12188 if (__pyx_t_8) {
12189
12190 /* "xmmsapi.pyx":534
12191 *
12192 * if not isinstance(entity, dict):
12193 * continue # <<<<<<<<<<<<<<
12194 *
12195 * entity_type = entity.get('entity', '')
12196 */
12197 goto __pyx_L3_continue;
12198 }
12199
12200 /* "xmmsapi.pyx":536
12201 * continue
12202 *
12203 * entity_type = entity.get('entity', '') # <<<<<<<<<<<<<<
12204 *
12205 * if entity_type not in callbacks:
12206 */
12207 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_entity, __pyx_n_s_get); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__12207; goto __pyx_L1_error;}
12208 __Pyx_GOTREF(__pyx_t_1);
12209 __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__19, NULL((void*)0)); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__12209; goto __pyx_L1_error;}
12210 __Pyx_GOTREF(__pyx_t_4);
12211 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
12212 __Pyx_XDECREF_SET(__pyx_v_entity_type, __pyx_t_4)do { PyObject *tmp = (PyObject *) __pyx_v_entity_type; __pyx_v_entity_type
= __pyx_t_4; do { if ((tmp) == ((void*)0)) ; else do { if ( --
((PyObject*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject
*)((PyObject *)(tmp)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(tmp)))); } while (0); } while (0); } while (
0)
;
12213 __pyx_t_4 = 0;
12214
12215 /* "xmmsapi.pyx":538
12216 * entity_type = entity.get('entity', '')
12217 *
12218 * if entity_type not in callbacks: # <<<<<<<<<<<<<<
12219 * continue
12220 *
12221 */
12222 __pyx_t_8 = (__Pyx_PyDict_Contains(__pyx_v_entity_type, __pyx_v_callbacks, Py_NE3)); if (unlikely(__pyx_t_8 < 0)__builtin_expect(!!(__pyx_t_8 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__12222; goto __pyx_L1_error;}
12223 __pyx_t_7 = (__pyx_t_8 != 0);
12224 if (__pyx_t_7) {
12225
12226 /* "xmmsapi.pyx":539
12227 *
12228 * if entity_type not in callbacks:
12229 * continue # <<<<<<<<<<<<<<
12230 *
12231 * if not deep:
12232 */
12233 goto __pyx_L3_continue;
12234 }
12235
12236 /* "xmmsapi.pyx":541
12237 * continue
12238 *
12239 * if not deep: # <<<<<<<<<<<<<<
12240 * callbacks[entity_type](path, obj, entity)
12241 * if entity_type == 'namespace' and depth:
12242 */
12243 __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_deep); if (unlikely(__pyx_t_7 < 0)__builtin_expect(!!(__pyx_t_7 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 541; __pyx_clineno = __LINE__12243; goto __pyx_L1_error;}
12244 __pyx_t_8 = ((!__pyx_t_7) != 0);
12245 if (__pyx_t_8) {
12246
12247 /* "xmmsapi.pyx":542
12248 *
12249 * if not deep:
12250 * callbacks[entity_type](path, obj, entity) # <<<<<<<<<<<<<<
12251 * if entity_type == 'namespace' and depth:
12252 * obj._walk(path = path + (entity['name'] or attr,), depth = depth - 1, **callbacks)
12253 */
12254 __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_callbacks, __pyx_v_entity_type)PyObject_GetItem(__pyx_v_callbacks, __pyx_v_entity_type); if (unlikely(__pyx_t_4 == NULL)__builtin_expect(!!(__pyx_t_4 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__12254; goto __pyx_L1_error;};
12255 __Pyx_GOTREF(__pyx_t_4);
12256 __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__12256; goto __pyx_L1_error;}
12257 __Pyx_GOTREF(__pyx_t_1);
12258 __Pyx_INCREF(__pyx_v_path)( ((PyObject*)(__pyx_v_path))->ob_refcnt++);
12259 PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_path)(((PyTupleObject *)(__pyx_t_1))->ob_item[0] = __pyx_v_path
)
;
12260 __Pyx_GIVEREF(__pyx_v_path);
12261 __Pyx_INCREF(__pyx_v_obj)( ((PyObject*)(__pyx_v_obj))->ob_refcnt++);
12262 PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_obj)(((PyTupleObject *)(__pyx_t_1))->ob_item[1] = __pyx_v_obj);
12263 __Pyx_GIVEREF(__pyx_v_obj);
12264 __Pyx_INCREF(__pyx_v_entity)( ((PyObject*)(__pyx_v_entity))->ob_refcnt++);
12265 PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_entity)(((PyTupleObject *)(__pyx_t_1))->ob_item[2] = __pyx_v_entity
)
;
12266 __Pyx_GIVEREF(__pyx_v_entity);
12267 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__12267; goto __pyx_L1_error;}
12268 __Pyx_GOTREF(__pyx_t_2);
12269 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
12270 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
12271 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
12272 goto __pyx_L9;
12273 }
12274 __pyx_L9:;
12275
12276 /* "xmmsapi.pyx":543
12277 * if not deep:
12278 * callbacks[entity_type](path, obj, entity)
12279 * if entity_type == 'namespace' and depth: # <<<<<<<<<<<<<<
12280 * obj._walk(path = path + (entity['name'] or attr,), depth = depth - 1, **callbacks)
12281 * if deep:
12282 */
12283 __pyx_t_8 = (__Pyx_PyString_Equals__Pyx_PyBytes_Equals(__pyx_v_entity_type, __pyx_n_s_namespace, Py_EQ2)); if (unlikely(__pyx_t_8 < 0)__builtin_expect(!!(__pyx_t_8 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__12283; goto __pyx_L1_error;}
12284 if (__pyx_t_8) {
12285 __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_depth); if (unlikely(__pyx_t_7 < 0)__builtin_expect(!!(__pyx_t_7 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__12285; goto __pyx_L1_error;}
12286 __pyx_t_9 = __pyx_t_7;
12287 } else {
12288 __pyx_t_9 = __pyx_t_8;
12289 }
12290 if (__pyx_t_9) {
12291
12292 /* "xmmsapi.pyx":544
12293 * callbacks[entity_type](path, obj, entity)
12294 * if entity_type == 'namespace' and depth:
12295 * obj._walk(path = path + (entity['name'] or attr,), depth = depth - 1, **callbacks) # <<<<<<<<<<<<<<
12296 * if deep:
12297 * callbacks[entity_type](path, obj, entity)
12298 */
12299 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_walk); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__12299; goto __pyx_L1_error;}
12300 __Pyx_GOTREF(__pyx_t_2);
12301 __pyx_t_1 = PyDict_Copy(__pyx_v_callbacks); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__12301; goto __pyx_L1_error;}
12302 __Pyx_GOTREF(__pyx_t_1);
12303 __pyx_t_4 = PyObject_GetItem(__pyx_v_entity, __pyx_n_s_name_2); if (unlikely(__pyx_t_4 == NULL)__builtin_expect(!!(__pyx_t_4 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__12303; goto __pyx_L1_error;};
12304 __Pyx_GOTREF(__pyx_t_4);
12305 __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_9 < 0)__builtin_expect(!!(__pyx_t_9 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__12305; goto __pyx_L1_error;}
12306 if (!__pyx_t_9) {
12307 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
12308 __Pyx_INCREF(__pyx_v_attr)( ((PyObject*)(__pyx_v_attr))->ob_refcnt++);
12309 __pyx_t_10 = __pyx_v_attr;
12310 } else {
12311 __pyx_t_10 = __pyx_t_4;
12312 __pyx_t_4 = 0;
12313 }
12314 __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__12314; goto __pyx_L1_error;}
12315 __Pyx_GOTREF(__pyx_t_4);
12316 PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_10)(((PyTupleObject *)(__pyx_t_4))->ob_item[0] = __pyx_t_10);
12317 __Pyx_GIVEREF(__pyx_t_10);
12318 __pyx_t_10 = 0;
12319 __pyx_t_10 = PyNumber_Add(__pyx_v_path, __pyx_t_4); if (unlikely(!__pyx_t_10)__builtin_expect(!!(!__pyx_t_10), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__12319; goto __pyx_L1_error;}
12320 __Pyx_GOTREF(__pyx_t_10);
12321 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
12322 if (unlikely(PyDict_GetItem(__pyx_t_1, __pyx_n_s_path))__builtin_expect(!!(PyDict_GetItem(__pyx_t_1, __pyx_n_s_path)
), 0)
) {
12323 __Pyx_RaiseDoubleKeywordsError("function", __pyx_n_s_path); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__12323; goto __pyx_L1_error;}
12324 }
12325 if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_path, __pyx_t_10) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__12325; goto __pyx_L1_error;}
12326 __Pyx_DECREF(__pyx_t_10)do { if ( --((PyObject*)(__pyx_t_10))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_10)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_10)))); } while
(0)
; __pyx_t_10 = 0;
12327 __pyx_t_10 = PyNumber_Subtract(__pyx_v_depth, __pyx_int_1); if (unlikely(!__pyx_t_10)__builtin_expect(!!(!__pyx_t_10), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__12327; goto __pyx_L1_error;}
12328 __Pyx_GOTREF(__pyx_t_10);
12329 if (unlikely(PyDict_GetItem(__pyx_t_1, __pyx_n_s_depth))__builtin_expect(!!(PyDict_GetItem(__pyx_t_1, __pyx_n_s_depth
)), 0)
) {
12330 __Pyx_RaiseDoubleKeywordsError("function", __pyx_n_s_depth); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__12330; goto __pyx_L1_error;}
12331 }
12332 if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_depth, __pyx_t_10) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__12332; goto __pyx_L1_error;}
12333 __Pyx_DECREF(__pyx_t_10)do { if ( --((PyObject*)(__pyx_t_10))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_10)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_10)))); } while
(0)
; __pyx_t_10 = 0;
12334 __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_10)__builtin_expect(!!(!__pyx_t_10), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__12334; goto __pyx_L1_error;}
12335 __Pyx_GOTREF(__pyx_t_10);
12336 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
12337 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
12338 __Pyx_DECREF(__pyx_t_10)do { if ( --((PyObject*)(__pyx_t_10))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_10)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_10)))); } while
(0)
; __pyx_t_10 = 0;
12339 goto __pyx_L10;
12340 }
12341 __pyx_L10:;
12342
12343 /* "xmmsapi.pyx":545
12344 * if entity_type == 'namespace' and depth:
12345 * obj._walk(path = path + (entity['name'] or attr,), depth = depth - 1, **callbacks)
12346 * if deep: # <<<<<<<<<<<<<<
12347 * callbacks[entity_type](path, obj, entity)
12348 *
12349 */
12350 __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_deep); if (unlikely(__pyx_t_9 < 0)__builtin_expect(!!(__pyx_t_9 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__12350; goto __pyx_L1_error;}
12351 if (__pyx_t_9) {
12352
12353 /* "xmmsapi.pyx":546
12354 * obj._walk(path = path + (entity['name'] or attr,), depth = depth - 1, **callbacks)
12355 * if deep:
12356 * callbacks[entity_type](path, obj, entity) # <<<<<<<<<<<<<<
12357 *
12358 * cpdef register_namespace(self, path, instance, infos):
12359 */
12360 __pyx_t_10 = __Pyx_PyDict_GetItem(__pyx_v_callbacks, __pyx_v_entity_type)PyObject_GetItem(__pyx_v_callbacks, __pyx_v_entity_type); if (unlikely(__pyx_t_10 == NULL)__builtin_expect(!!(__pyx_t_10 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__12360; goto __pyx_L1_error;};
12361 __Pyx_GOTREF(__pyx_t_10);
12362 __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__12362; goto __pyx_L1_error;}
12363 __Pyx_GOTREF(__pyx_t_1);
12364 __Pyx_INCREF(__pyx_v_path)( ((PyObject*)(__pyx_v_path))->ob_refcnt++);
12365 PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_path)(((PyTupleObject *)(__pyx_t_1))->ob_item[0] = __pyx_v_path
)
;
12366 __Pyx_GIVEREF(__pyx_v_path);
12367 __Pyx_INCREF(__pyx_v_obj)( ((PyObject*)(__pyx_v_obj))->ob_refcnt++);
12368 PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_obj)(((PyTupleObject *)(__pyx_t_1))->ob_item[1] = __pyx_v_obj);
12369 __Pyx_GIVEREF(__pyx_v_obj);
12370 __Pyx_INCREF(__pyx_v_entity)( ((PyObject*)(__pyx_v_entity))->ob_refcnt++);
12371 PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_entity)(((PyTupleObject *)(__pyx_t_1))->ob_item[2] = __pyx_v_entity
)
;
12372 __Pyx_GIVEREF(__pyx_v_entity);
12373 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_1, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__12373; goto __pyx_L1_error;}
12374 __Pyx_GOTREF(__pyx_t_2);
12375 __Pyx_DECREF(__pyx_t_10)do { if ( --((PyObject*)(__pyx_t_10))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_10)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_10)))); } while
(0)
; __pyx_t_10 = 0;
12376 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
12377 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
12378 goto __pyx_L11;
12379 }
12380 __pyx_L11:;
12381 __pyx_L3_continue:;
12382 }
12383 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
12384
12385 /* "xmmsapi.pyx":507
12386 * pass
12387 *
12388 * cpdef _walk(self, namespace = None, constant = None, method = None, broadcast = None, path = (), other = _noop, depth = -1, deep = False): # <<<<<<<<<<<<<<
12389 * callbacks = dict(
12390 * namespace = _setcb(namespace, other),
12391 */
12392
12393 /* function exit code */
12394 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
12395 goto __pyx_L0;
12396 __pyx_L1_error:;
12397 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
12398 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
12399 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
12400 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
;
12401 __Pyx_XDECREF(__pyx_t_10)do { if ((__pyx_t_10) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_10))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_t_10)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_10)))); } while (0); } while (0)
;
12402 __Pyx_AddTraceback("xmmsapi.XmmsServiceNamespace._walk", __pyx_clineno, __pyx_lineno, __pyx_filename);
12403 __pyx_r = 0;
12404 __pyx_L0:;
12405 __Pyx_XDECREF(__pyx_v_callbacks)do { if ((__pyx_v_callbacks) == ((void*)0)) ; else do { if ( --
((PyObject*)(__pyx_v_callbacks))->ob_refcnt != 0) ; else (
(*(((PyObject*)((PyObject *)(__pyx_v_callbacks)))->ob_type
)->tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_callbacks
)))); } while (0); } while (0)
;
12406 __Pyx_XDECREF(__pyx_v_attr)do { if ((__pyx_v_attr) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_attr))->ob_refcnt != 0) ; else ( (*(((PyObject*
)((PyObject *)(__pyx_v_attr)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(__pyx_v_attr)))); } while (0); } while
(0)
;
12407 __Pyx_XDECREF(__pyx_v_obj)do { if ((__pyx_v_obj) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_obj))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(__pyx_v_obj)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_obj)))); } while (0); } while (0)
;
12408 __Pyx_XDECREF(__pyx_v_entity)do { if ((__pyx_v_entity) == ((void*)0)) ; else do { if ( --(
(PyObject*)(__pyx_v_entity))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(__pyx_v_entity)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_entity)))); } while
(0); } while (0)
;
12409 __Pyx_XDECREF(__pyx_v_entity_type)do { if ((__pyx_v_entity_type) == ((void*)0)) ; else do { if (
--((PyObject*)(__pyx_v_entity_type))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_v_entity_type)))->ob_type
)->tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_entity_type
)))); } while (0); } while (0)
;
12410 __Pyx_XGIVEREF(__pyx_r);
12411 __Pyx_RefNannyFinishContext();
12412 return __pyx_r;
12413}
12414
12415/* Python wrapper */
12416static PyObject *__pyx_pw_7xmmsapi_20XmmsServiceNamespace_3_walk(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
12417static char __pyx_doc_7xmmsapi_20XmmsServiceNamespace_2_walk[] = "XmmsServiceNamespace._walk(self, namespace=None, constant=None, method=None, broadcast=None, path=(), other=_noop, depth=-1, deep=False)";
12418static PyObject *__pyx_pw_7xmmsapi_20XmmsServiceNamespace_3_walk(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
12419 PyObject *__pyx_v_namespace = 0;
12420 PyObject *__pyx_v_constant = 0;
12421 PyObject *__pyx_v_method = 0;
12422 PyObject *__pyx_v_broadcast = 0;
12423 PyObject *__pyx_v_path = 0;
12424 PyObject *__pyx_v_other = 0;
12425 PyObject *__pyx_v_depth = 0;
12426 PyObject *__pyx_v_deep = 0;
12427 int __pyx_lineno = 0;
12428 const char *__pyx_filename = NULL((void*)0);
12429 int __pyx_clineno = 0;
12430 PyObject *__pyx_r = 0;
12431 __Pyx_RefNannyDeclarations
12432 __Pyx_RefNannySetupContext("_walk (wrapper)", 0);
12433 {
12434 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_namespace,&__pyx_n_s_constant,&__pyx_n_s_method,&__pyx_n_s_broadcast,&__pyx_n_s_path,&__pyx_n_s_other,&__pyx_n_s_depth,&__pyx_n_s_deep,0};
12435 PyObject* values[8] = {0,0,0,0,0,0,0,0};
12436 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
12437 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
12438 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
12439 values[3] = ((PyObject *)Py_None(&_Py_NoneStruct));
12440 values[4] = ((PyObject *)__pyx_empty_tuple);
12441 values[5] = __pyx_k__18;
12442 values[6] = ((PyObject *)__pyx_int_neg_1);
12443 values[7] = ((PyObject *)Py_False((PyObject *) &_Py_ZeroStruct));
12444 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
12445 Py_ssize_t kw_args;
12446 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
12447 switch (pos_args) {
12448 case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7)(((PyTupleObject *)(__pyx_args))->ob_item[7]);
12449 case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6)(((PyTupleObject *)(__pyx_args))->ob_item[6]);
12450 case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5)(((PyTupleObject *)(__pyx_args))->ob_item[5]);
12451 case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4)(((PyTupleObject *)(__pyx_args))->ob_item[4]);
12452 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
12453 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
12454 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
12455 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
12456 case 0: break;
12457 default: goto __pyx_L5_argtuple_error;
12458 }
12459 kw_args = PyDict_Size(__pyx_kwds);
12460 switch (pos_args) {
12461 case 0:
12462 if (kw_args > 0) {
12463 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_namespace);
12464 if (value) { values[0] = value; kw_args--; }
12465 }
12466 case 1:
12467 if (kw_args > 0) {
12468 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_constant);
12469 if (value) { values[1] = value; kw_args--; }
12470 }
12471 case 2:
12472 if (kw_args > 0) {
12473 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_method);
12474 if (value) { values[2] = value; kw_args--; }
12475 }
12476 case 3:
12477 if (kw_args > 0) {
12478 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_broadcast);
12479 if (value) { values[3] = value; kw_args--; }
12480 }
12481 case 4:
12482 if (kw_args > 0) {
12483 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path);
12484 if (value) { values[4] = value; kw_args--; }
12485 }
12486 case 5:
12487 if (kw_args > 0) {
12488 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_other);
12489 if (value) { values[5] = value; kw_args--; }
12490 }
12491 case 6:
12492 if (kw_args > 0) {
12493 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_depth);
12494 if (value) { values[6] = value; kw_args--; }
12495 }
12496 case 7:
12497 if (kw_args > 0) {
12498 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_deep);
12499 if (value) { values[7] = value; kw_args--; }
12500 }
12501 }
12502 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
12503 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_walk") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "_walk") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__12503; goto __pyx_L3_error;}
12504 }
12505 } else {
12506 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
12507 case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7)(((PyTupleObject *)(__pyx_args))->ob_item[7]);
12508 case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6)(((PyTupleObject *)(__pyx_args))->ob_item[6]);
12509 case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5)(((PyTupleObject *)(__pyx_args))->ob_item[5]);
12510 case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4)(((PyTupleObject *)(__pyx_args))->ob_item[4]);
12511 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
12512 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
12513 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
12514 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
12515 case 0: break;
12516 default: goto __pyx_L5_argtuple_error;
12517 }
12518 }
12519 __pyx_v_namespace = values[0];
12520 __pyx_v_constant = values[1];
12521 __pyx_v_method = values[2];
12522 __pyx_v_broadcast = values[3];
12523 __pyx_v_path = values[4];
12524 __pyx_v_other = values[5];
12525 __pyx_v_depth = values[6];
12526 __pyx_v_deep = values[7];
12527 }
12528 goto __pyx_L4_argument_unpacking_done;
12529 __pyx_L5_argtuple_error:;
12530 __Pyx_RaiseArgtupleInvalid("_walk", 0, 0, 8, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__12530; goto __pyx_L3_error;}
12531 __pyx_L3_error:;
12532 __Pyx_AddTraceback("xmmsapi.XmmsServiceNamespace._walk", __pyx_clineno, __pyx_lineno, __pyx_filename);
12533 __Pyx_RefNannyFinishContext();
12534 return NULL((void*)0);
12535 __pyx_L4_argument_unpacking_done:;
12536 __pyx_r = __pyx_pf_7xmmsapi_20XmmsServiceNamespace_2_walk(((struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *)__pyx_v_self), __pyx_v_namespace, __pyx_v_constant, __pyx_v_method, __pyx_v_broadcast, __pyx_v_path, __pyx_v_other, __pyx_v_depth, __pyx_v_deep);
12537
12538 /* function exit code */
12539 __Pyx_RefNannyFinishContext();
12540 return __pyx_r;
12541}
12542
12543static PyObject *__pyx_pf_7xmmsapi_20XmmsServiceNamespace_2_walk(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *__pyx_v_self, PyObject *__pyx_v_namespace, PyObject *__pyx_v_constant, PyObject *__pyx_v_method, PyObject *__pyx_v_broadcast, PyObject *__pyx_v_path, PyObject *__pyx_v_other, PyObject *__pyx_v_depth, PyObject *__pyx_v_deep) {
12544 PyObject *__pyx_r = NULL((void*)0);
12545 __Pyx_RefNannyDeclarations
12546 PyObject *__pyx_t_1 = NULL((void*)0);
12547 struct __pyx_opt_args_7xmmsapi_20XmmsServiceNamespace__walk __pyx_t_2;
12548 int __pyx_lineno = 0;
12549 const char *__pyx_filename = NULL((void*)0);
12550 int __pyx_clineno = 0;
12551 __Pyx_RefNannySetupContext("_walk", 0);
12552 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
12553 __pyx_t_2.__pyx_n = 8;
12554 __pyx_t_2.namespace = __pyx_v_namespace;
12555 __pyx_t_2.constant = __pyx_v_constant;
12556 __pyx_t_2.method = __pyx_v_method;
12557 __pyx_t_2.broadcast = __pyx_v_broadcast;
12558 __pyx_t_2.path = __pyx_v_path;
12559 __pyx_t_2.other = __pyx_v_other;
12560 __pyx_t_2.depth = __pyx_v_depth;
12561 __pyx_t_2.deep = __pyx_v_deep;
12562 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsServiceNamespace *)__pyx_v_self->__pyx_vtab)->_walk(__pyx_v_self, 1, &__pyx_t_2); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__12562; goto __pyx_L1_error;}
12563 __Pyx_GOTREF(__pyx_t_1);
12564 __pyx_r = __pyx_t_1;
12565 __pyx_t_1 = 0;
12566 goto __pyx_L0;
12567
12568 /* function exit code */
12569 __pyx_L1_error:;
12570 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
12571 __Pyx_AddTraceback("xmmsapi.XmmsServiceNamespace._walk", __pyx_clineno, __pyx_lineno, __pyx_filename);
12572 __pyx_r = NULL((void*)0);
12573 __pyx_L0:;
12574 __Pyx_XGIVEREF(__pyx_r);
12575 __Pyx_RefNannyFinishContext();
12576 return __pyx_r;
12577}
12578
12579/* "xmmsapi.pyx":548
12580 * callbacks[entity_type](path, obj, entity)
12581 *
12582 * cpdef register_namespace(self, path, instance, infos): # <<<<<<<<<<<<<<
12583 * cdef xmmsc_sc_namespace_t *ns
12584 * name = from_unicode(infos.get('name', ""))
12585 */
12586
12587static PyObject *__pyx_pw_7xmmsapi_20XmmsServiceNamespace_5register_namespace(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
12588static PyObject *__pyx_f_7xmmsapi_20XmmsServiceNamespace_register_namespace(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *__pyx_v_self, PyObject *__pyx_v_path, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_v_instance, PyObject *__pyx_v_infos, int __pyx_skip_dispatch) {
12589 xmmsc_sc_namespace_t *__pyx_v_ns;
12590 PyObject *__pyx_v_name = NULL((void*)0);
12591 PyObject *__pyx_v_doc = NULL((void*)0);
12592 PyObject *__pyx_r = NULL((void*)0);
12593 __Pyx_RefNannyDeclarations
12594 PyObject *__pyx_t_1 = NULL((void*)0);
12595 PyObject *__pyx_t_2 = NULL((void*)0);
12596 PyObject *__pyx_t_3 = NULL((void*)0);
12597 int __pyx_t_4;
12598 int __pyx_t_5;
12599 char *__pyx_t_6;
12600 char *__pyx_t_7;
12601 int __pyx_lineno = 0;
12602 const char *__pyx_filename = NULL((void*)0);
12603 int __pyx_clineno = 0;
12604 __Pyx_RefNannySetupContext("register_namespace", 0);
12605 /* Check if called by wrapper */
12606 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
12607 /* Check if overridden in Python */
12608 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
12609 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_register_namespace); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__12609; goto __pyx_L1_error;}
12610 __Pyx_GOTREF(__pyx_t_1);
12611 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_20XmmsServiceNamespace_5register_namespace)) {
12612 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
12613 __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__12613; goto __pyx_L1_error;}
12614 __Pyx_GOTREF(__pyx_t_2);
12615 __Pyx_INCREF(__pyx_v_path)( ((PyObject*)(__pyx_v_path))->ob_refcnt++);
12616 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_path)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_path
)
;
12617 __Pyx_GIVEREF(__pyx_v_path);
12618 __Pyx_INCREF(__pyx_v_instance)( ((PyObject*)(__pyx_v_instance))->ob_refcnt++);
12619 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_instance)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_instance
)
;
12620 __Pyx_GIVEREF(__pyx_v_instance);
12621 __Pyx_INCREF(__pyx_v_infos)( ((PyObject*)(__pyx_v_infos))->ob_refcnt++);
12622 PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_infos)(((PyTupleObject *)(__pyx_t_2))->ob_item[2] = __pyx_v_infos
)
;
12623 __Pyx_GIVEREF(__pyx_v_infos);
12624 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__12624; goto __pyx_L1_error;}
12625 __Pyx_GOTREF(__pyx_t_3);
12626 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
12627 __pyx_r = __pyx_t_3;
12628 __pyx_t_3 = 0;
12629 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
12630 goto __pyx_L0;
12631 }
12632 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
12633 }
12634
12635 /* "xmmsapi.pyx":550
12636 * cpdef register_namespace(self, path, instance, infos):
12637 * cdef xmmsc_sc_namespace_t *ns
12638 * name = from_unicode(infos.get('name', "")) # <<<<<<<<<<<<<<
12639 * if not name: #root namespace already exists
12640 * return
12641 */
12642 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_infos, __pyx_n_s_get); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__12642; goto __pyx_L1_error;}
12643 __Pyx_GOTREF(__pyx_t_1);
12644 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__20, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__12644; goto __pyx_L1_error;}
12645 __Pyx_GOTREF(__pyx_t_3);
12646 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
12647 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_t_3); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__12647; goto __pyx_L1_error;}
12648 __Pyx_GOTREF(__pyx_t_1);
12649 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
12650 __pyx_v_name = __pyx_t_1;
12651 __pyx_t_1 = 0;
12652
12653 /* "xmmsapi.pyx":551
12654 * cdef xmmsc_sc_namespace_t *ns
12655 * name = from_unicode(infos.get('name', ""))
12656 * if not name: #root namespace already exists # <<<<<<<<<<<<<<
12657 * return
12658 * doc = from_unicode(infos.get('doc', ""))
12659 */
12660 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_name); if (unlikely(__pyx_t_4 < 0)__builtin_expect(!!(__pyx_t_4 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__12660; goto __pyx_L1_error;}
12661 __pyx_t_5 = ((!__pyx_t_4) != 0);
12662 if (__pyx_t_5) {
12663
12664 /* "xmmsapi.pyx":552
12665 * name = from_unicode(infos.get('name', ""))
12666 * if not name: #root namespace already exists
12667 * return # <<<<<<<<<<<<<<
12668 * doc = from_unicode(infos.get('doc', ""))
12669 * ns = _namespace_get(self.xmms.conn, path, True)
12670 */
12671 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
12672 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
12673 goto __pyx_L0;
12674 }
12675
12676 /* "xmmsapi.pyx":553
12677 * if not name: #root namespace already exists
12678 * return
12679 * doc = from_unicode(infos.get('doc', "")) # <<<<<<<<<<<<<<
12680 * ns = _namespace_get(self.xmms.conn, path, True)
12681 * xmmsc_sc_namespace_new(ns, <char *>name, <char *>doc)
12682 */
12683 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_infos, __pyx_n_s_get); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__12683; goto __pyx_L1_error;}
12684 __Pyx_GOTREF(__pyx_t_1);
12685 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__21, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__12685; goto __pyx_L1_error;}
12686 __Pyx_GOTREF(__pyx_t_3);
12687 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
12688 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_t_3); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__12688; goto __pyx_L1_error;}
12689 __Pyx_GOTREF(__pyx_t_1);
12690 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
12691 __pyx_v_doc = __pyx_t_1;
12692 __pyx_t_1 = 0;
12693
12694 /* "xmmsapi.pyx":554
12695 * return
12696 * doc = from_unicode(infos.get('doc', ""))
12697 * ns = _namespace_get(self.xmms.conn, path, True) # <<<<<<<<<<<<<<
12698 * xmmsc_sc_namespace_new(ns, <char *>name, <char *>doc)
12699 *
12700 */
12701 __pyx_v_ns = __pyx_f_7xmmsapi__namespace_get(__pyx_v_self->xmms->conn, __pyx_v_path, 1);
12702
12703 /* "xmmsapi.pyx":555
12704 * doc = from_unicode(infos.get('doc', ""))
12705 * ns = _namespace_get(self.xmms.conn, path, True)
12706 * xmmsc_sc_namespace_new(ns, <char *>name, <char *>doc) # <<<<<<<<<<<<<<
12707 *
12708 * cpdef register_constant(self, path, value, infos):
12709 */
12710 __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_name); if (unlikely((!__pyx_t_6) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_6) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__12710; goto __pyx_L1_error;}
12711 __pyx_t_7 = __Pyx_PyObject_AsString(__pyx_v_doc); if (unlikely((!__pyx_t_7) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_7) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__12711; goto __pyx_L1_error;}
12712 xmmsc_sc_namespace_new(__pyx_v_ns, ((char *)__pyx_t_6), ((char *)__pyx_t_7));
12713
12714 /* "xmmsapi.pyx":548
12715 * callbacks[entity_type](path, obj, entity)
12716 *
12717 * cpdef register_namespace(self, path, instance, infos): # <<<<<<<<<<<<<<
12718 * cdef xmmsc_sc_namespace_t *ns
12719 * name = from_unicode(infos.get('name', ""))
12720 */
12721
12722 /* function exit code */
12723 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
12724 goto __pyx_L0;
12725 __pyx_L1_error:;
12726 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
12727 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
12728 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
12729 __Pyx_AddTraceback("xmmsapi.XmmsServiceNamespace.register_namespace", __pyx_clineno, __pyx_lineno, __pyx_filename);
12730 __pyx_r = 0;
12731 __pyx_L0:;
12732 __Pyx_XDECREF(__pyx_v_name)do { if ((__pyx_v_name) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_name))->ob_refcnt != 0) ; else ( (*(((PyObject*
)((PyObject *)(__pyx_v_name)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(__pyx_v_name)))); } while (0); } while
(0)
;
12733 __Pyx_XDECREF(__pyx_v_doc)do { if ((__pyx_v_doc) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_doc))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(__pyx_v_doc)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_doc)))); } while (0); } while (0)
;
12734 __Pyx_XGIVEREF(__pyx_r);
12735 __Pyx_RefNannyFinishContext();
12736 return __pyx_r;
12737}
12738
12739/* Python wrapper */
12740static PyObject *__pyx_pw_7xmmsapi_20XmmsServiceNamespace_5register_namespace(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
12741static char __pyx_doc_7xmmsapi_20XmmsServiceNamespace_4register_namespace[] = "XmmsServiceNamespace.register_namespace(self, path, instance, infos)";
12742static PyObject *__pyx_pw_7xmmsapi_20XmmsServiceNamespace_5register_namespace(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
12743 PyObject *__pyx_v_path = 0;
12744 PyObject *__pyx_v_instance = 0;
12745 PyObject *__pyx_v_infos = 0;
12746 int __pyx_lineno = 0;
12747 const char *__pyx_filename = NULL((void*)0);
12748 int __pyx_clineno = 0;
12749 PyObject *__pyx_r = 0;
12750 __Pyx_RefNannyDeclarations
12751 __Pyx_RefNannySetupContext("register_namespace (wrapper)", 0);
12752 {
12753 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_path,&__pyx_n_s_instance,&__pyx_n_s_infos,0};
12754 PyObject* values[3] = {0,0,0};
12755 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
12756 Py_ssize_t kw_args;
12757 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
12758 switch (pos_args) {
12759 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
12760 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
12761 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
12762 case 0: break;
12763 default: goto __pyx_L5_argtuple_error;
12764 }
12765 kw_args = PyDict_Size(__pyx_kwds);
12766 switch (pos_args) {
12767 case 0:
12768 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path
)) != 0), 1)
) kw_args--;
12769 else goto __pyx_L5_argtuple_error;
12770 case 1:
12771 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_instance)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_instance
)) != 0), 1)
) kw_args--;
12772 else {
12773 __Pyx_RaiseArgtupleInvalid("register_namespace", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__12773; goto __pyx_L3_error;}
12774 }
12775 case 2:
12776 if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_infos)) != 0)__builtin_expect(!!((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_infos
)) != 0), 1)
) kw_args--;
12777 else {
12778 __Pyx_RaiseArgtupleInvalid("register_namespace", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__12778; goto __pyx_L3_error;}
12779 }
12780 }
12781 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
12782 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "register_namespace") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "register_namespace") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__12782; goto __pyx_L3_error;}
12783 }
12784 } else if (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size) != 3) {
12785 goto __pyx_L5_argtuple_error;
12786 } else {
12787 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
12788 values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
12789 values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
12790 }
12791 __pyx_v_path = values[0];
12792 __pyx_v_instance = values[1];
12793 __pyx_v_infos = values[2];
12794 }
12795 goto __pyx_L4_argument_unpacking_done;
12796 __pyx_L5_argtuple_error:;
12797 __Pyx_RaiseArgtupleInvalid("register_namespace", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__12797; goto __pyx_L3_error;}
12798 __pyx_L3_error:;
12799 __Pyx_AddTraceback("xmmsapi.XmmsServiceNamespace.register_namespace", __pyx_clineno, __pyx_lineno, __pyx_filename);
12800 __Pyx_RefNannyFinishContext();
12801 return NULL((void*)0);
12802 __pyx_L4_argument_unpacking_done:;
12803 __pyx_r = __pyx_pf_7xmmsapi_20XmmsServiceNamespace_4register_namespace(((struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *)__pyx_v_self), __pyx_v_path, __pyx_v_instance, __pyx_v_infos);
12804
12805 /* function exit code */
12806 __Pyx_RefNannyFinishContext();
12807 return __pyx_r;
12808}
12809
12810static PyObject *__pyx_pf_7xmmsapi_20XmmsServiceNamespace_4register_namespace(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *__pyx_v_self, PyObject *__pyx_v_path, PyObject *__pyx_v_instance, PyObject *__pyx_v_infos) {
12811 PyObject *__pyx_r = NULL((void*)0);
12812 __Pyx_RefNannyDeclarations
12813 PyObject *__pyx_t_1 = NULL((void*)0);
12814 int __pyx_lineno = 0;
12815 const char *__pyx_filename = NULL((void*)0);
12816 int __pyx_clineno = 0;
12817 __Pyx_RefNannySetupContext("register_namespace", 0);
12818 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
12819 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsServiceNamespace *)__pyx_v_self->__pyx_vtab)->register_namespace(__pyx_v_self, __pyx_v_path, __pyx_v_instance, __pyx_v_infos, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__12819; goto __pyx_L1_error;}
12820 __Pyx_GOTREF(__pyx_t_1);
12821 __pyx_r = __pyx_t_1;
12822 __pyx_t_1 = 0;
12823 goto __pyx_L0;
12824
12825 /* function exit code */
12826 __pyx_L1_error:;
12827 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
12828 __Pyx_AddTraceback("xmmsapi.XmmsServiceNamespace.register_namespace", __pyx_clineno, __pyx_lineno, __pyx_filename);
12829 __pyx_r = NULL((void*)0);
12830 __pyx_L0:;
12831 __Pyx_XGIVEREF(__pyx_r);
12832 __Pyx_RefNannyFinishContext();
12833 return __pyx_r;
12834}
12835
12836/* "xmmsapi.pyx":557
12837 * xmmsc_sc_namespace_new(ns, <char *>name, <char *>doc)
12838 *
12839 * cpdef register_constant(self, path, value, infos): # <<<<<<<<<<<<<<
12840 * cdef xmmsc_sc_namespace_t *ns
12841 * cdef xmmsv_t *val
12842 */
12843
12844static PyObject *__pyx_pw_7xmmsapi_20XmmsServiceNamespace_7register_constant(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
12845static PyObject *__pyx_f_7xmmsapi_20XmmsServiceNamespace_register_constant(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *__pyx_v_self, PyObject *__pyx_v_path, PyObject *__pyx_v_value, PyObject *__pyx_v_infos, int __pyx_skip_dispatch) {
12846 xmmsc_sc_namespace_t *__pyx_v_ns;
12847 xmmsv_t *__pyx_v_val;
12848 PyObject *__pyx_v_name = NULL((void*)0);
12849 PyObject *__pyx_r = NULL((void*)0);
12850 __Pyx_RefNannyDeclarations
12851 PyObject *__pyx_t_1 = NULL((void*)0);
12852 PyObject *__pyx_t_2 = NULL((void*)0);
12853 PyObject *__pyx_t_3 = NULL((void*)0);
12854 int __pyx_t_4;
12855 int __pyx_t_5;
12856 xmmsv_t *__pyx_t_6;
12857 char *__pyx_t_7;
12858 int __pyx_lineno = 0;
12859 const char *__pyx_filename = NULL((void*)0);
12860 int __pyx_clineno = 0;
12861 __Pyx_RefNannySetupContext("register_constant", 0);
12862 /* Check if called by wrapper */
12863 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
12864 /* Check if overridden in Python */
12865 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
12866 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_register_constant); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__12866; goto __pyx_L1_error;}
12867 __Pyx_GOTREF(__pyx_t_1);
12868 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_20XmmsServiceNamespace_7register_constant)) {
12869 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
12870 __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__12870; goto __pyx_L1_error;}
12871 __Pyx_GOTREF(__pyx_t_2);
12872 __Pyx_INCREF(__pyx_v_path)( ((PyObject*)(__pyx_v_path))->ob_refcnt++);
12873 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_path)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_path
)
;
12874 __Pyx_GIVEREF(__pyx_v_path);
12875 __Pyx_INCREF(__pyx_v_value)( ((PyObject*)(__pyx_v_value))->ob_refcnt++);
12876 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_value)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_value
)
;
12877 __Pyx_GIVEREF(__pyx_v_value);
12878 __Pyx_INCREF(__pyx_v_infos)( ((PyObject*)(__pyx_v_infos))->ob_refcnt++);
12879 PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_infos)(((PyTupleObject *)(__pyx_t_2))->ob_item[2] = __pyx_v_infos
)
;
12880 __Pyx_GIVEREF(__pyx_v_infos);
12881 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__12881; goto __pyx_L1_error;}
12882 __Pyx_GOTREF(__pyx_t_3);
12883 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
12884 __pyx_r = __pyx_t_3;
12885 __pyx_t_3 = 0;
12886 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
12887 goto __pyx_L0;
12888 }
12889 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
12890 }
12891
12892 /* "xmmsapi.pyx":560
12893 * cdef xmmsc_sc_namespace_t *ns
12894 * cdef xmmsv_t *val
12895 * name = from_unicode(infos.get('name', "")) # <<<<<<<<<<<<<<
12896 * if not name:
12897 * return
12898 */
12899 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_infos, __pyx_n_s_get); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__12899; goto __pyx_L1_error;}
12900 __Pyx_GOTREF(__pyx_t_1);
12901 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__22, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__12901; goto __pyx_L1_error;}
12902 __Pyx_GOTREF(__pyx_t_3);
12903 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
12904 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_t_3); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__12904; goto __pyx_L1_error;}
12905 __Pyx_GOTREF(__pyx_t_1);
12906 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
12907 __pyx_v_name = __pyx_t_1;
12908 __pyx_t_1 = 0;
12909
12910 /* "xmmsapi.pyx":561
12911 * cdef xmmsv_t *val
12912 * name = from_unicode(infos.get('name', ""))
12913 * if not name: # <<<<<<<<<<<<<<
12914 * return
12915 * ns = _namespace_get(self.xmms.conn, path, True)
12916 */
12917 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_name); if (unlikely(__pyx_t_4 < 0)__builtin_expect(!!(__pyx_t_4 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__12917; goto __pyx_L1_error;}
12918 __pyx_t_5 = ((!__pyx_t_4) != 0);
12919 if (__pyx_t_5) {
12920
12921 /* "xmmsapi.pyx":562
12922 * name = from_unicode(infos.get('name', ""))
12923 * if not name:
12924 * return # <<<<<<<<<<<<<<
12925 * ns = _namespace_get(self.xmms.conn, path, True)
12926 * val = create_native_value(value)
12927 */
12928 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
12929 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
12930 goto __pyx_L0;
12931 }
12932
12933 /* "xmmsapi.pyx":563
12934 * if not name:
12935 * return
12936 * ns = _namespace_get(self.xmms.conn, path, True) # <<<<<<<<<<<<<<
12937 * val = create_native_value(value)
12938 * xmmsc_sc_namespace_add_constant(ns, <char *>name, val)
12939 */
12940 __pyx_v_ns = __pyx_f_7xmmsapi__namespace_get(__pyx_v_self->xmms->conn, __pyx_v_path, 1);
12941
12942 /* "xmmsapi.pyx":564
12943 * return
12944 * ns = _namespace_get(self.xmms.conn, path, True)
12945 * val = create_native_value(value) # <<<<<<<<<<<<<<
12946 * xmmsc_sc_namespace_add_constant(ns, <char *>name, val)
12947 * xmmsv_unref(val)
12948 */
12949 __pyx_t_6 = __pyx_f_9xmmsvalue_create_native_value(__pyx_v_value); if (unlikely(__pyx_t_6 == NULL)__builtin_expect(!!(__pyx_t_6 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 564; __pyx_clineno = __LINE__12949; goto __pyx_L1_error;}
12950 __pyx_v_val = __pyx_t_6;
12951
12952 /* "xmmsapi.pyx":565
12953 * ns = _namespace_get(self.xmms.conn, path, True)
12954 * val = create_native_value(value)
12955 * xmmsc_sc_namespace_add_constant(ns, <char *>name, val) # <<<<<<<<<<<<<<
12956 * xmmsv_unref(val)
12957 *
12958 */
12959 __pyx_t_7 = __Pyx_PyObject_AsString(__pyx_v_name); if (unlikely((!__pyx_t_7) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_7) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__12959; goto __pyx_L1_error;}
12960 xmmsc_sc_namespace_add_constant(__pyx_v_ns, ((char *)__pyx_t_7), __pyx_v_val);
12961
12962 /* "xmmsapi.pyx":566
12963 * val = create_native_value(value)
12964 * xmmsc_sc_namespace_add_constant(ns, <char *>name, val)
12965 * xmmsv_unref(val) # <<<<<<<<<<<<<<
12966 *
12967 * cpdef register_method(self, path, meth, infos):
12968 */
12969 xmmsv_unref(__pyx_v_val);
12970
12971 /* "xmmsapi.pyx":557
12972 * xmmsc_sc_namespace_new(ns, <char *>name, <char *>doc)
12973 *
12974 * cpdef register_constant(self, path, value, infos): # <<<<<<<<<<<<<<
12975 * cdef xmmsc_sc_namespace_t *ns
12976 * cdef xmmsv_t *val
12977 */
12978
12979 /* function exit code */
12980 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
12981 goto __pyx_L0;
12982 __pyx_L1_error:;
12983 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
12984 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
12985 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
12986 __Pyx_AddTraceback("xmmsapi.XmmsServiceNamespace.register_constant", __pyx_clineno, __pyx_lineno, __pyx_filename);
12987 __pyx_r = 0;
12988 __pyx_L0:;
12989 __Pyx_XDECREF(__pyx_v_name)do { if ((__pyx_v_name) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_name))->ob_refcnt != 0) ; else ( (*(((PyObject*
)((PyObject *)(__pyx_v_name)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(__pyx_v_name)))); } while (0); } while
(0)
;
12990 __Pyx_XGIVEREF(__pyx_r);
12991 __Pyx_RefNannyFinishContext();
12992 return __pyx_r;
12993}
12994
12995/* Python wrapper */
12996static PyObject *__pyx_pw_7xmmsapi_20XmmsServiceNamespace_7register_constant(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
12997static char __pyx_doc_7xmmsapi_20XmmsServiceNamespace_6register_constant[] = "XmmsServiceNamespace.register_constant(self, path, value, infos)";
12998static PyObject *__pyx_pw_7xmmsapi_20XmmsServiceNamespace_7register_constant(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
12999 PyObject *__pyx_v_path = 0;
13000 PyObject *__pyx_v_value = 0;
13001 PyObject *__pyx_v_infos = 0;
13002 int __pyx_lineno = 0;
13003 const char *__pyx_filename = NULL((void*)0);
13004 int __pyx_clineno = 0;
13005 PyObject *__pyx_r = 0;
13006 __Pyx_RefNannyDeclarations
13007 __Pyx_RefNannySetupContext("register_constant (wrapper)", 0);
13008 {
13009 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_path,&__pyx_n_s_value,&__pyx_n_s_infos,0};
13010 PyObject* values[3] = {0,0,0};
13011 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
13012 Py_ssize_t kw_args;
13013 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
13014 switch (pos_args) {
13015 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
13016 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
13017 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
13018 case 0: break;
13019 default: goto __pyx_L5_argtuple_error;
13020 }
13021 kw_args = PyDict_Size(__pyx_kwds);
13022 switch (pos_args) {
13023 case 0:
13024 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path
)) != 0), 1)
) kw_args--;
13025 else goto __pyx_L5_argtuple_error;
13026 case 1:
13027 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_value)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_value
)) != 0), 1)
) kw_args--;
13028 else {
13029 __Pyx_RaiseArgtupleInvalid("register_constant", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__13029; goto __pyx_L3_error;}
13030 }
13031 case 2:
13032 if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_infos)) != 0)__builtin_expect(!!((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_infos
)) != 0), 1)
) kw_args--;
13033 else {
13034 __Pyx_RaiseArgtupleInvalid("register_constant", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__13034; goto __pyx_L3_error;}
13035 }
13036 }
13037 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
13038 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "register_constant") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "register_constant") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__13038; goto __pyx_L3_error;}
13039 }
13040 } else if (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size) != 3) {
13041 goto __pyx_L5_argtuple_error;
13042 } else {
13043 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
13044 values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
13045 values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
13046 }
13047 __pyx_v_path = values[0];
13048 __pyx_v_value = values[1];
13049 __pyx_v_infos = values[2];
13050 }
13051 goto __pyx_L4_argument_unpacking_done;
13052 __pyx_L5_argtuple_error:;
13053 __Pyx_RaiseArgtupleInvalid("register_constant", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__13053; goto __pyx_L3_error;}
13054 __pyx_L3_error:;
13055 __Pyx_AddTraceback("xmmsapi.XmmsServiceNamespace.register_constant", __pyx_clineno, __pyx_lineno, __pyx_filename);
13056 __Pyx_RefNannyFinishContext();
13057 return NULL((void*)0);
13058 __pyx_L4_argument_unpacking_done:;
13059 __pyx_r = __pyx_pf_7xmmsapi_20XmmsServiceNamespace_6register_constant(((struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *)__pyx_v_self), __pyx_v_path, __pyx_v_value, __pyx_v_infos);
13060
13061 /* function exit code */
13062 __Pyx_RefNannyFinishContext();
13063 return __pyx_r;
13064}
13065
13066static PyObject *__pyx_pf_7xmmsapi_20XmmsServiceNamespace_6register_constant(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *__pyx_v_self, PyObject *__pyx_v_path, PyObject *__pyx_v_value, PyObject *__pyx_v_infos) {
13067 PyObject *__pyx_r = NULL((void*)0);
13068 __Pyx_RefNannyDeclarations
13069 PyObject *__pyx_t_1 = NULL((void*)0);
13070 int __pyx_lineno = 0;
13071 const char *__pyx_filename = NULL((void*)0);
13072 int __pyx_clineno = 0;
13073 __Pyx_RefNannySetupContext("register_constant", 0);
13074 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
13075 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsServiceNamespace *)__pyx_v_self->__pyx_vtab)->register_constant(__pyx_v_self, __pyx_v_path, __pyx_v_value, __pyx_v_infos, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__13075; goto __pyx_L1_error;}
13076 __Pyx_GOTREF(__pyx_t_1);
13077 __pyx_r = __pyx_t_1;
13078 __pyx_t_1 = 0;
13079 goto __pyx_L0;
13080
13081 /* function exit code */
13082 __pyx_L1_error:;
13083 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
13084 __Pyx_AddTraceback("xmmsapi.XmmsServiceNamespace.register_constant", __pyx_clineno, __pyx_lineno, __pyx_filename);
13085 __pyx_r = NULL((void*)0);
13086 __pyx_L0:;
13087 __Pyx_XGIVEREF(__pyx_r);
13088 __Pyx_RefNannyFinishContext();
13089 return __pyx_r;
13090}
13091
13092/* "xmmsapi.pyx":568
13093 * xmmsv_unref(val)
13094 *
13095 * cpdef register_method(self, path, meth, infos): # <<<<<<<<<<<<<<
13096 * cdef xmmsc_sc_namespace_t *ns
13097 * cdef xmmsv_t *positional
13098 */
13099
13100static PyObject *__pyx_pw_7xmmsapi_20XmmsServiceNamespace_9register_method(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
13101static PyObject *__pyx_f_7xmmsapi_20XmmsServiceNamespace_register_method(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *__pyx_v_self, PyObject *__pyx_v_path, PyObject *__pyx_v_meth, PyObject *__pyx_v_infos, int __pyx_skip_dispatch) {
13102 xmmsc_sc_namespace_t *__pyx_v_ns;
13103 xmmsv_t *__pyx_v_positional;
13104 xmmsv_t *__pyx_v_named;
13105 xmmsv_t *__pyx_v_x_arg;
13106 int __pyx_v_va_pos;
13107 int __pyx_v_va_named;
13108 xmmsv_t *__pyx_v_a_default;
13109 xmmsv_type_t __pyx_v_a_type;
13110 PyObject *__pyx_v_name = NULL((void*)0);
13111 PyObject *__pyx_v_doc = NULL((void*)0);
13112 PyObject *__pyx_v_arg = NULL((void*)0);
13113 PyObject *__pyx_v_a_name = NULL((void*)0);
13114 PyObject *__pyx_v_a_doc = NULL((void*)0);
13115 PyObject *__pyx_r = NULL((void*)0);
13116 __Pyx_RefNannyDeclarations
13117 PyObject *__pyx_t_1 = NULL((void*)0);
13118 PyObject *__pyx_t_2 = NULL((void*)0);
13119 PyObject *__pyx_t_3 = NULL((void*)0);
13120 int __pyx_t_4;
13121 int __pyx_t_5;
13122 Py_ssize_t __pyx_t_6;
13123 PyObject *(*__pyx_t_7)(PyObject *);
13124 xmmsv_t *__pyx_t_8;
13125 xmmsv_type_t __pyx_t_9;
13126 char *__pyx_t_10;
13127 char *__pyx_t_11;
13128 int __pyx_lineno = 0;
13129 const char *__pyx_filename = NULL((void*)0);
13130 int __pyx_clineno = 0;
13131 __Pyx_RefNannySetupContext("register_method", 0);
13132 /* Check if called by wrapper */
13133 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
13134 /* Check if overridden in Python */
13135 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
13136 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_register_method); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__13136; goto __pyx_L1_error;}
13137 __Pyx_GOTREF(__pyx_t_1);
13138 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_20XmmsServiceNamespace_9register_method)) {
13139 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
13140 __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__13140; goto __pyx_L1_error;}
13141 __Pyx_GOTREF(__pyx_t_2);
13142 __Pyx_INCREF(__pyx_v_path)( ((PyObject*)(__pyx_v_path))->ob_refcnt++);
13143 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_path)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_path
)
;
13144 __Pyx_GIVEREF(__pyx_v_path);
13145 __Pyx_INCREF(__pyx_v_meth)( ((PyObject*)(__pyx_v_meth))->ob_refcnt++);
13146 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_meth)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_meth
)
;
13147 __Pyx_GIVEREF(__pyx_v_meth);
13148 __Pyx_INCREF(__pyx_v_infos)( ((PyObject*)(__pyx_v_infos))->ob_refcnt++);
13149 PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_infos)(((PyTupleObject *)(__pyx_t_2))->ob_item[2] = __pyx_v_infos
)
;
13150 __Pyx_GIVEREF(__pyx_v_infos);
13151 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__13151; goto __pyx_L1_error;}
13152 __Pyx_GOTREF(__pyx_t_3);
13153 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
13154 __pyx_r = __pyx_t_3;
13155 __pyx_t_3 = 0;
13156 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
13157 goto __pyx_L0;
13158 }
13159 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
13160 }
13161
13162 /* "xmmsapi.pyx":578
13163 * cdef xmmsv_type_t a_type
13164 *
13165 * positional = xmmsv_new_list() # <<<<<<<<<<<<<<
13166 * named = xmmsv_new_list()
13167 *
13168 */
13169 __pyx_v_positional = xmmsv_new_list();
13170
13171 /* "xmmsapi.pyx":579
13172 *
13173 * positional = xmmsv_new_list()
13174 * named = xmmsv_new_list() # <<<<<<<<<<<<<<
13175 *
13176 * name = from_unicode(infos.get('name') or "")
13177 */
13178 __pyx_v_named = xmmsv_new_list();
13179
13180 /* "xmmsapi.pyx":581
13181 * named = xmmsv_new_list()
13182 *
13183 * name = from_unicode(infos.get('name') or "") # <<<<<<<<<<<<<<
13184 * if not name:
13185 * return
13186 */
13187 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_infos, __pyx_n_s_get); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__13187; goto __pyx_L1_error;}
13188 __Pyx_GOTREF(__pyx_t_1);
13189 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__23, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__13189; goto __pyx_L1_error;}
13190 __Pyx_GOTREF(__pyx_t_3);
13191 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
13192 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)__builtin_expect(!!(__pyx_t_4 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__13192; goto __pyx_L1_error;}
13193 if (!__pyx_t_4) {
13194 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
13195 __Pyx_INCREF(__pyx_kp_s__15)( ((PyObject*)(__pyx_kp_s__15))->ob_refcnt++);
13196 __pyx_t_1 = __pyx_kp_s__15;
13197 } else {
13198 __pyx_t_1 = __pyx_t_3;
13199 __pyx_t_3 = 0;
13200 }
13201 __pyx_t_3 = __pyx_f_9xmmsutils_from_unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__13201; goto __pyx_L1_error;}
13202 __Pyx_GOTREF(__pyx_t_3);
13203 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
13204 __pyx_v_name = __pyx_t_3;
13205 __pyx_t_3 = 0;
13206
13207 /* "xmmsapi.pyx":582
13208 *
13209 * name = from_unicode(infos.get('name') or "")
13210 * if not name: # <<<<<<<<<<<<<<
13211 * return
13212 * doc = from_unicode(infos.get('doc') or "")
13213 */
13214 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_name); if (unlikely(__pyx_t_4 < 0)__builtin_expect(!!(__pyx_t_4 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__13214; goto __pyx_L1_error;}
13215 __pyx_t_5 = ((!__pyx_t_4) != 0);
13216 if (__pyx_t_5) {
13217
13218 /* "xmmsapi.pyx":583
13219 * name = from_unicode(infos.get('name') or "")
13220 * if not name:
13221 * return # <<<<<<<<<<<<<<
13222 * doc = from_unicode(infos.get('doc') or "")
13223 * for arg in infos.get('positional', ()):
13224 */
13225 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
13226 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
13227 goto __pyx_L0;
13228 }
13229
13230 /* "xmmsapi.pyx":584
13231 * if not name:
13232 * return
13233 * doc = from_unicode(infos.get('doc') or "") # <<<<<<<<<<<<<<
13234 * for arg in infos.get('positional', ()):
13235 * if isinstance(arg, method_varg):
13236 */
13237 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_infos, __pyx_n_s_get); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__13237; goto __pyx_L1_error;}
13238 __Pyx_GOTREF(__pyx_t_3);
13239 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__24, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__13239; goto __pyx_L1_error;}
13240 __Pyx_GOTREF(__pyx_t_1);
13241 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
13242 __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)__builtin_expect(!!(__pyx_t_5 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__13242; goto __pyx_L1_error;}
13243 if (!__pyx_t_5) {
13244 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
13245 __Pyx_INCREF(__pyx_kp_s__15)( ((PyObject*)(__pyx_kp_s__15))->ob_refcnt++);
13246 __pyx_t_3 = __pyx_kp_s__15;
13247 } else {
13248 __pyx_t_3 = __pyx_t_1;
13249 __pyx_t_1 = 0;
13250 }
13251 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_t_3); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__13251; goto __pyx_L1_error;}
13252 __Pyx_GOTREF(__pyx_t_1);
13253 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
13254 __pyx_v_doc = __pyx_t_1;
13255 __pyx_t_1 = 0;
13256
13257 /* "xmmsapi.pyx":585
13258 * return
13259 * doc = from_unicode(infos.get('doc') or "")
13260 * for arg in infos.get('positional', ()): # <<<<<<<<<<<<<<
13261 * if isinstance(arg, method_varg):
13262 * va_pos = True
13263 */
13264 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_infos, __pyx_n_s_get); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__13264; goto __pyx_L1_error;}
13265 __Pyx_GOTREF(__pyx_t_1);
13266 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__25, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__13266; goto __pyx_L1_error;}
13267 __Pyx_GOTREF(__pyx_t_3);
13268 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
13269 if (PyList_CheckExact(__pyx_t_3)((((PyObject*)(__pyx_t_3))->ob_type) == &PyList_Type) || PyTuple_CheckExact(__pyx_t_3)((((PyObject*)(__pyx_t_3))->ob_type) == &PyTuple_Type)) {
13270 __pyx_t_1 = __pyx_t_3; __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++); __pyx_t_6 = 0;
13271 __pyx_t_7 = NULL((void*)0);
13272 } else {
13273 __pyx_t_6 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__13273; goto __pyx_L1_error;}
13274 __Pyx_GOTREF(__pyx_t_1);
13275 __pyx_t_7 = Py_TYPE(__pyx_t_1)(((PyObject*)(__pyx_t_1))->ob_type)->tp_iternext;
13276 }
13277 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
13278 for (;;) {
13279 if (!__pyx_t_7 && PyList_CheckExact(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyList_Type)) {
13280 if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_1)(((PyVarObject*)(__pyx_t_1))->ob_size)) break;
13281 #if CYTHON_COMPILING_IN_CPYTHON1
13282 __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6)(((PyListObject *)(__pyx_t_1))->ob_item[__pyx_t_6]); __Pyx_INCREF(__pyx_t_3)( ((PyObject*)(__pyx_t_3))->ob_refcnt++); __pyx_t_6++; if (unlikely(0 < 0)__builtin_expect(!!(0 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__13282; goto __pyx_L1_error;}
13283 #else
13284 __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_6)( (((PyObject*)(__pyx_t_1))->ob_type)->tp_as_sequence->
sq_item(__pyx_t_1, __pyx_t_6) )
; __pyx_t_6++; if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__13284; goto __pyx_L1_error;}
13285 #endif
13286 } else if (!__pyx_t_7 && PyTuple_CheckExact(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyTuple_Type)) {
13287 if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_1)(((PyVarObject*)(__pyx_t_1))->ob_size)) break;
13288 #if CYTHON_COMPILING_IN_CPYTHON1
13289 __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6)(((PyTupleObject *)(__pyx_t_1))->ob_item[__pyx_t_6]); __Pyx_INCREF(__pyx_t_3)( ((PyObject*)(__pyx_t_3))->ob_refcnt++); __pyx_t_6++; if (unlikely(0 < 0)__builtin_expect(!!(0 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__13289; goto __pyx_L1_error;}
13290 #else
13291 __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_6)( (((PyObject*)(__pyx_t_1))->ob_type)->tp_as_sequence->
sq_item(__pyx_t_1, __pyx_t_6) )
; __pyx_t_6++; if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__13291; goto __pyx_L1_error;}
13292 #endif
13293 } else {
13294 __pyx_t_3 = __pyx_t_7(__pyx_t_1);
13295 if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {
13296 PyObject* exc_type = PyErr_Occurred();
13297 if (exc_type) {
13298 if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))__builtin_expect(!!(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches
(exc_type, PyExc_StopIteration)), 1)
) PyErr_Clear();
13299 else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__13299; goto __pyx_L1_error;}
13300 }
13301 break;
13302 }
13303 __Pyx_GOTREF(__pyx_t_3);
13304 }
13305 __Pyx_XDECREF_SET(__pyx_v_arg, __pyx_t_3)do { PyObject *tmp = (PyObject *) __pyx_v_arg; __pyx_v_arg = __pyx_t_3
; do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0); } while (0)
;
13306 __pyx_t_3 = 0;
13307
13308 /* "xmmsapi.pyx":586
13309 * doc = from_unicode(infos.get('doc') or "")
13310 * for arg in infos.get('positional', ()):
13311 * if isinstance(arg, method_varg): # <<<<<<<<<<<<<<
13312 * va_pos = True
13313 * break
13314 */
13315 __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_method_varg); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__13315; goto __pyx_L1_error;}
13316 __Pyx_GOTREF(__pyx_t_3);
13317 __pyx_t_5 = PyObject_IsInstance(__pyx_v_arg, __pyx_t_3); if (unlikely(__pyx_t_5 == -1)__builtin_expect(!!(__pyx_t_5 == -1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__13317; goto __pyx_L1_error;}
13318 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
13319 __pyx_t_4 = (__pyx_t_5 != 0);
13320 if (__pyx_t_4) {
13321
13322 /* "xmmsapi.pyx":587
13323 * for arg in infos.get('positional', ()):
13324 * if isinstance(arg, method_varg):
13325 * va_pos = True # <<<<<<<<<<<<<<
13326 * break
13327 * if hasattr(arg, 'default'):
13328 */
13329 __pyx_v_va_pos = 1;
13330
13331 /* "xmmsapi.pyx":588
13332 * if isinstance(arg, method_varg):
13333 * va_pos = True
13334 * break # <<<<<<<<<<<<<<
13335 * if hasattr(arg, 'default'):
13336 * a_default = create_native_value(arg.default)
13337 */
13338 goto __pyx_L5_break;
13339 }
13340
13341 /* "xmmsapi.pyx":589
13342 * va_pos = True
13343 * break
13344 * if hasattr(arg, 'default'): # <<<<<<<<<<<<<<
13345 * a_default = create_native_value(arg.default)
13346 * else:
13347 */
13348 __pyx_t_4 = PyObject_HasAttr(__pyx_v_arg, __pyx_n_s_default); if (unlikely(__pyx_t_4 == -1)__builtin_expect(!!(__pyx_t_4 == -1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__13348; goto __pyx_L1_error;}
13349 __pyx_t_5 = (__pyx_t_4 != 0);
13350 if (__pyx_t_5) {
13351
13352 /* "xmmsapi.pyx":590
13353 * break
13354 * if hasattr(arg, 'default'):
13355 * a_default = create_native_value(arg.default) # <<<<<<<<<<<<<<
13356 * else:
13357 * a_default = NULL
13358 */
13359 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_default); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 590; __pyx_clineno = __LINE__13359; goto __pyx_L1_error;}
13360 __Pyx_GOTREF(__pyx_t_3);
13361 __pyx_t_8 = __pyx_f_9xmmsvalue_create_native_value(__pyx_t_3); if (unlikely(__pyx_t_8 == NULL)__builtin_expect(!!(__pyx_t_8 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 590; __pyx_clineno = __LINE__13361; goto __pyx_L1_error;}
13362 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
13363 __pyx_v_a_default = __pyx_t_8;
13364 goto __pyx_L7;
13365 }
13366 /*else*/ {
13367
13368 /* "xmmsapi.pyx":592
13369 * a_default = create_native_value(arg.default)
13370 * else:
13371 * a_default = NULL # <<<<<<<<<<<<<<
13372 * a_type = arg._x_type
13373 * a_name = from_unicode(arg.name)
13374 */
13375 __pyx_v_a_default = NULL((void*)0);
13376 }
13377 __pyx_L7:;
13378
13379 /* "xmmsapi.pyx":593
13380 * else:
13381 * a_default = NULL
13382 * a_type = arg._x_type # <<<<<<<<<<<<<<
13383 * a_name = from_unicode(arg.name)
13384 * a_doc = from_unicode(arg.doc)
13385 */
13386 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_x_type); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__13386; goto __pyx_L1_error;}
13387 __Pyx_GOTREF(__pyx_t_3);
13388 __pyx_t_9 = ((xmmsv_type_t)PyInt_AsLong(__pyx_t_3)); if (unlikely(PyErr_Occurred())__builtin_expect(!!(PyErr_Occurred()), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__13388; goto __pyx_L1_error;}
13389 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
13390 __pyx_v_a_type = __pyx_t_9;
13391
13392 /* "xmmsapi.pyx":594
13393 * a_default = NULL
13394 * a_type = arg._x_type
13395 * a_name = from_unicode(arg.name) # <<<<<<<<<<<<<<
13396 * a_doc = from_unicode(arg.doc)
13397 * x_arg = xmmsv_sc_argument_new(<char *>a_name, <char *>a_doc, a_type, a_default)
13398 */
13399 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_name_2); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__13399; goto __pyx_L1_error;}
13400 __Pyx_GOTREF(__pyx_t_3);
13401 __pyx_t_2 = __pyx_f_9xmmsutils_from_unicode(__pyx_t_3); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__13401; goto __pyx_L1_error;}
13402 __Pyx_GOTREF(__pyx_t_2);
13403 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
13404 __Pyx_XDECREF_SET(__pyx_v_a_name, __pyx_t_2)do { PyObject *tmp = (PyObject *) __pyx_v_a_name; __pyx_v_a_name
= __pyx_t_2; do { if ((tmp) == ((void*)0)) ; else do { if ( --
((PyObject*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject
*)((PyObject *)(tmp)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(tmp)))); } while (0); } while (0); } while (
0)
;
13405 __pyx_t_2 = 0;
13406
13407 /* "xmmsapi.pyx":595
13408 * a_type = arg._x_type
13409 * a_name = from_unicode(arg.name)
13410 * a_doc = from_unicode(arg.doc) # <<<<<<<<<<<<<<
13411 * x_arg = xmmsv_sc_argument_new(<char *>a_name, <char *>a_doc, a_type, a_default)
13412 * xmmsv_list_append(positional, x_arg)
13413 */
13414 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_doc_2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__13414; goto __pyx_L1_error;}
13415 __Pyx_GOTREF(__pyx_t_2);
13416 __pyx_t_3 = __pyx_f_9xmmsutils_from_unicode(__pyx_t_2); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__13416; goto __pyx_L1_error;}
13417 __Pyx_GOTREF(__pyx_t_3);
13418 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
13419 __Pyx_XDECREF_SET(__pyx_v_a_doc, __pyx_t_3)do { PyObject *tmp = (PyObject *) __pyx_v_a_doc; __pyx_v_a_doc
= __pyx_t_3; do { if ((tmp) == ((void*)0)) ; else do { if ( --
((PyObject*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject
*)((PyObject *)(tmp)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(tmp)))); } while (0); } while (0); } while (
0)
;
13420 __pyx_t_3 = 0;
13421
13422 /* "xmmsapi.pyx":596
13423 * a_name = from_unicode(arg.name)
13424 * a_doc = from_unicode(arg.doc)
13425 * x_arg = xmmsv_sc_argument_new(<char *>a_name, <char *>a_doc, a_type, a_default) # <<<<<<<<<<<<<<
13426 * xmmsv_list_append(positional, x_arg)
13427 * xmmsv_unref(x_arg)
13428 */
13429 __pyx_t_10 = __Pyx_PyObject_AsString(__pyx_v_a_name); if (unlikely((!__pyx_t_10) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_10) && PyErr_Occurred()
), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__13429; goto __pyx_L1_error;}
13430 __pyx_t_11 = __Pyx_PyObject_AsString(__pyx_v_a_doc); if (unlikely((!__pyx_t_11) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_11) && PyErr_Occurred()
), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__13430; goto __pyx_L1_error;}
13431 __pyx_v_x_arg = xmmsv_sc_argument_new(((char *)__pyx_t_10), ((char *)__pyx_t_11), __pyx_v_a_type, __pyx_v_a_default);
13432
13433 /* "xmmsapi.pyx":597
13434 * a_doc = from_unicode(arg.doc)
13435 * x_arg = xmmsv_sc_argument_new(<char *>a_name, <char *>a_doc, a_type, a_default)
13436 * xmmsv_list_append(positional, x_arg) # <<<<<<<<<<<<<<
13437 * xmmsv_unref(x_arg)
13438 *
13439 */
13440 xmmsv_list_append(__pyx_v_positional, __pyx_v_x_arg);
13441
13442 /* "xmmsapi.pyx":598
13443 * x_arg = xmmsv_sc_argument_new(<char *>a_name, <char *>a_doc, a_type, a_default)
13444 * xmmsv_list_append(positional, x_arg)
13445 * xmmsv_unref(x_arg) # <<<<<<<<<<<<<<
13446 *
13447 * for arg in infos.get('named', ()):
13448 */
13449 xmmsv_unref(__pyx_v_x_arg);
13450 }
13451 __pyx_L5_break:;
13452 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
13453
13454 /* "xmmsapi.pyx":600
13455 * xmmsv_unref(x_arg)
13456 *
13457 * for arg in infos.get('named', ()): # <<<<<<<<<<<<<<
13458 * if isinstance(arg, method_varg):
13459 * va_named = True
13460 */
13461 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_infos, __pyx_n_s_get); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__13461; goto __pyx_L1_error;}
13462 __Pyx_GOTREF(__pyx_t_1);
13463 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__26, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__13463; goto __pyx_L1_error;}
13464 __Pyx_GOTREF(__pyx_t_3);
13465 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
13466 if (PyList_CheckExact(__pyx_t_3)((((PyObject*)(__pyx_t_3))->ob_type) == &PyList_Type) || PyTuple_CheckExact(__pyx_t_3)((((PyObject*)(__pyx_t_3))->ob_type) == &PyTuple_Type)) {
13467 __pyx_t_1 = __pyx_t_3; __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++); __pyx_t_6 = 0;
13468 __pyx_t_7 = NULL((void*)0);
13469 } else {
13470 __pyx_t_6 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__13470; goto __pyx_L1_error;}
13471 __Pyx_GOTREF(__pyx_t_1);
13472 __pyx_t_7 = Py_TYPE(__pyx_t_1)(((PyObject*)(__pyx_t_1))->ob_type)->tp_iternext;
13473 }
13474 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
13475 for (;;) {
13476 if (!__pyx_t_7 && PyList_CheckExact(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyList_Type)) {
13477 if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_1)(((PyVarObject*)(__pyx_t_1))->ob_size)) break;
13478 #if CYTHON_COMPILING_IN_CPYTHON1
13479 __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6)(((PyListObject *)(__pyx_t_1))->ob_item[__pyx_t_6]); __Pyx_INCREF(__pyx_t_3)( ((PyObject*)(__pyx_t_3))->ob_refcnt++); __pyx_t_6++; if (unlikely(0 < 0)__builtin_expect(!!(0 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__13479; goto __pyx_L1_error;}
13480 #else
13481 __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_6)( (((PyObject*)(__pyx_t_1))->ob_type)->tp_as_sequence->
sq_item(__pyx_t_1, __pyx_t_6) )
; __pyx_t_6++; if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__13481; goto __pyx_L1_error;}
13482 #endif
13483 } else if (!__pyx_t_7 && PyTuple_CheckExact(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyTuple_Type)) {
13484 if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_1)(((PyVarObject*)(__pyx_t_1))->ob_size)) break;
13485 #if CYTHON_COMPILING_IN_CPYTHON1
13486 __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6)(((PyTupleObject *)(__pyx_t_1))->ob_item[__pyx_t_6]); __Pyx_INCREF(__pyx_t_3)( ((PyObject*)(__pyx_t_3))->ob_refcnt++); __pyx_t_6++; if (unlikely(0 < 0)__builtin_expect(!!(0 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__13486; goto __pyx_L1_error;}
13487 #else
13488 __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_6)( (((PyObject*)(__pyx_t_1))->ob_type)->tp_as_sequence->
sq_item(__pyx_t_1, __pyx_t_6) )
; __pyx_t_6++; if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__13488; goto __pyx_L1_error;}
13489 #endif
13490 } else {
13491 __pyx_t_3 = __pyx_t_7(__pyx_t_1);
13492 if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {
13493 PyObject* exc_type = PyErr_Occurred();
13494 if (exc_type) {
13495 if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))__builtin_expect(!!(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches
(exc_type, PyExc_StopIteration)), 1)
) PyErr_Clear();
13496 else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__13496; goto __pyx_L1_error;}
13497 }
13498 break;
13499 }
13500 __Pyx_GOTREF(__pyx_t_3);
13501 }
13502 __Pyx_XDECREF_SET(__pyx_v_arg, __pyx_t_3)do { PyObject *tmp = (PyObject *) __pyx_v_arg; __pyx_v_arg = __pyx_t_3
; do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0); } while (0)
;
13503 __pyx_t_3 = 0;
13504
13505 /* "xmmsapi.pyx":601
13506 *
13507 * for arg in infos.get('named', ()):
13508 * if isinstance(arg, method_varg): # <<<<<<<<<<<<<<
13509 * va_named = True
13510 * break
13511 */
13512 __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_method_varg); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__13512; goto __pyx_L1_error;}
13513 __Pyx_GOTREF(__pyx_t_3);
13514 __pyx_t_5 = PyObject_IsInstance(__pyx_v_arg, __pyx_t_3); if (unlikely(__pyx_t_5 == -1)__builtin_expect(!!(__pyx_t_5 == -1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__13514; goto __pyx_L1_error;}
13515 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
13516 __pyx_t_4 = (__pyx_t_5 != 0);
13517 if (__pyx_t_4) {
13518
13519 /* "xmmsapi.pyx":602
13520 * for arg in infos.get('named', ()):
13521 * if isinstance(arg, method_varg):
13522 * va_named = True # <<<<<<<<<<<<<<
13523 * break
13524 * if hasattr(arg, 'default'):
13525 */
13526 __pyx_v_va_named = 1;
13527
13528 /* "xmmsapi.pyx":603
13529 * if isinstance(arg, method_varg):
13530 * va_named = True
13531 * break # <<<<<<<<<<<<<<
13532 * if hasattr(arg, 'default'):
13533 * a_default = create_native_value(arg.default)
13534 */
13535 goto __pyx_L9_break;
13536 }
13537
13538 /* "xmmsapi.pyx":604
13539 * va_named = True
13540 * break
13541 * if hasattr(arg, 'default'): # <<<<<<<<<<<<<<
13542 * a_default = create_native_value(arg.default)
13543 * else:
13544 */
13545 __pyx_t_4 = PyObject_HasAttr(__pyx_v_arg, __pyx_n_s_default); if (unlikely(__pyx_t_4 == -1)__builtin_expect(!!(__pyx_t_4 == -1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__13545; goto __pyx_L1_error;}
13546 __pyx_t_5 = (__pyx_t_4 != 0);
13547 if (__pyx_t_5) {
13548
13549 /* "xmmsapi.pyx":605
13550 * break
13551 * if hasattr(arg, 'default'):
13552 * a_default = create_native_value(arg.default) # <<<<<<<<<<<<<<
13553 * else:
13554 * a_default = NULL
13555 */
13556 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_default); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__13556; goto __pyx_L1_error;}
13557 __Pyx_GOTREF(__pyx_t_3);
13558 __pyx_t_8 = __pyx_f_9xmmsvalue_create_native_value(__pyx_t_3); if (unlikely(__pyx_t_8 == NULL)__builtin_expect(!!(__pyx_t_8 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__13558; goto __pyx_L1_error;}
13559 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
13560 __pyx_v_a_default = __pyx_t_8;
13561 goto __pyx_L11;
13562 }
13563 /*else*/ {
13564
13565 /* "xmmsapi.pyx":607
13566 * a_default = create_native_value(arg.default)
13567 * else:
13568 * a_default = NULL # <<<<<<<<<<<<<<
13569 * a_type = arg._x_type
13570 * a_name = from_unicode(arg.name)
13571 */
13572 __pyx_v_a_default = NULL((void*)0);
13573 }
13574 __pyx_L11:;
13575
13576 /* "xmmsapi.pyx":608
13577 * else:
13578 * a_default = NULL
13579 * a_type = arg._x_type # <<<<<<<<<<<<<<
13580 * a_name = from_unicode(arg.name)
13581 * a_doc = from_unicode(arg.doc)
13582 */
13583 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_x_type); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__13583; goto __pyx_L1_error;}
13584 __Pyx_GOTREF(__pyx_t_3);
13585 __pyx_t_9 = ((xmmsv_type_t)PyInt_AsLong(__pyx_t_3)); if (unlikely(PyErr_Occurred())__builtin_expect(!!(PyErr_Occurred()), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__13585; goto __pyx_L1_error;}
13586 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
13587 __pyx_v_a_type = __pyx_t_9;
13588
13589 /* "xmmsapi.pyx":609
13590 * a_default = NULL
13591 * a_type = arg._x_type
13592 * a_name = from_unicode(arg.name) # <<<<<<<<<<<<<<
13593 * a_doc = from_unicode(arg.doc)
13594 * x_arg = xmmsv_sc_argument_new(<char *>a_name, <char *>a_doc, a_type, a_default)
13595 */
13596 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_name_2); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__13596; goto __pyx_L1_error;}
13597 __Pyx_GOTREF(__pyx_t_3);
13598 __pyx_t_2 = __pyx_f_9xmmsutils_from_unicode(__pyx_t_3); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__13598; goto __pyx_L1_error;}
13599 __Pyx_GOTREF(__pyx_t_2);
13600 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
13601 __Pyx_XDECREF_SET(__pyx_v_a_name, __pyx_t_2)do { PyObject *tmp = (PyObject *) __pyx_v_a_name; __pyx_v_a_name
= __pyx_t_2; do { if ((tmp) == ((void*)0)) ; else do { if ( --
((PyObject*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject
*)((PyObject *)(tmp)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(tmp)))); } while (0); } while (0); } while (
0)
;
13602 __pyx_t_2 = 0;
13603
13604 /* "xmmsapi.pyx":610
13605 * a_type = arg._x_type
13606 * a_name = from_unicode(arg.name)
13607 * a_doc = from_unicode(arg.doc) # <<<<<<<<<<<<<<
13608 * x_arg = xmmsv_sc_argument_new(<char *>a_name, <char *>a_doc, a_type, a_default)
13609 * xmmsv_list_append(named, x_arg)
13610 */
13611 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_arg, __pyx_n_s_doc_2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__13611; goto __pyx_L1_error;}
13612 __Pyx_GOTREF(__pyx_t_2);
13613 __pyx_t_3 = __pyx_f_9xmmsutils_from_unicode(__pyx_t_2); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__13613; goto __pyx_L1_error;}
13614 __Pyx_GOTREF(__pyx_t_3);
13615 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
13616 __Pyx_XDECREF_SET(__pyx_v_a_doc, __pyx_t_3)do { PyObject *tmp = (PyObject *) __pyx_v_a_doc; __pyx_v_a_doc
= __pyx_t_3; do { if ((tmp) == ((void*)0)) ; else do { if ( --
((PyObject*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject
*)((PyObject *)(tmp)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(tmp)))); } while (0); } while (0); } while (
0)
;
13617 __pyx_t_3 = 0;
13618
13619 /* "xmmsapi.pyx":611
13620 * a_name = from_unicode(arg.name)
13621 * a_doc = from_unicode(arg.doc)
13622 * x_arg = xmmsv_sc_argument_new(<char *>a_name, <char *>a_doc, a_type, a_default) # <<<<<<<<<<<<<<
13623 * xmmsv_list_append(named, x_arg)
13624 * xmmsv_unref(x_arg)
13625 */
13626 __pyx_t_11 = __Pyx_PyObject_AsString(__pyx_v_a_name); if (unlikely((!__pyx_t_11) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_11) && PyErr_Occurred()
), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__13626; goto __pyx_L1_error;}
13627 __pyx_t_10 = __Pyx_PyObject_AsString(__pyx_v_a_doc); if (unlikely((!__pyx_t_10) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_10) && PyErr_Occurred()
), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__13627; goto __pyx_L1_error;}
13628 __pyx_v_x_arg = xmmsv_sc_argument_new(((char *)__pyx_t_11), ((char *)__pyx_t_10), __pyx_v_a_type, __pyx_v_a_default);
13629
13630 /* "xmmsapi.pyx":612
13631 * a_doc = from_unicode(arg.doc)
13632 * x_arg = xmmsv_sc_argument_new(<char *>a_name, <char *>a_doc, a_type, a_default)
13633 * xmmsv_list_append(named, x_arg) # <<<<<<<<<<<<<<
13634 * xmmsv_unref(x_arg)
13635 *
13636 */
13637 xmmsv_list_append(__pyx_v_named, __pyx_v_x_arg);
13638
13639 /* "xmmsapi.pyx":613
13640 * x_arg = xmmsv_sc_argument_new(<char *>a_name, <char *>a_doc, a_type, a_default)
13641 * xmmsv_list_append(named, x_arg)
13642 * xmmsv_unref(x_arg) # <<<<<<<<<<<<<<
13643 *
13644 * ns = _namespace_get(self.xmms.conn, path, True)
13645 */
13646 xmmsv_unref(__pyx_v_x_arg);
13647 }
13648 __pyx_L9_break:;
13649 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
13650
13651 /* "xmmsapi.pyx":615
13652 * xmmsv_unref(x_arg)
13653 *
13654 * ns = _namespace_get(self.xmms.conn, path, True) # <<<<<<<<<<<<<<
13655 *
13656 * # We need this to prevent bound function wrapper to be recycled on
13657 */
13658 __pyx_v_ns = __pyx_f_7xmmsapi__namespace_get(__pyx_v_self->xmms->conn, __pyx_v_path, 1);
13659
13660 /* "xmmsapi.pyx":619
13661 * # We need this to prevent bound function wrapper to be recycled on
13662 * # return, leading to weird behaviour
13663 * self._bound_methods[name] = meth # <<<<<<<<<<<<<<
13664 *
13665 * xmmsc_sc_namespace_add_method(ns, service_method_proxy, <char *>name, <char *>doc, positional, named, va_pos, va_named, <void *>meth)
13666 */
13667 if (unlikely(PyObject_SetItem(__pyx_v_self->_bound_methods, __pyx_v_name, __pyx_v_meth) < 0)__builtin_expect(!!(PyObject_SetItem(__pyx_v_self->_bound_methods
, __pyx_v_name, __pyx_v_meth) < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 619; __pyx_clineno = __LINE__13667; goto __pyx_L1_error;}
13668
13669 /* "xmmsapi.pyx":621
13670 * self._bound_methods[name] = meth
13671 *
13672 * xmmsc_sc_namespace_add_method(ns, service_method_proxy, <char *>name, <char *>doc, positional, named, va_pos, va_named, <void *>meth) # <<<<<<<<<<<<<<
13673 * xmmsv_unref(positional)
13674 * xmmsv_unref(named)
13675 */
13676 __pyx_t_10 = __Pyx_PyObject_AsString(__pyx_v_name); if (unlikely((!__pyx_t_10) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_10) && PyErr_Occurred()
), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__13676; goto __pyx_L1_error;}
13677 __pyx_t_11 = __Pyx_PyObject_AsString(__pyx_v_doc); if (unlikely((!__pyx_t_11) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_11) && PyErr_Occurred()
), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__13677; goto __pyx_L1_error;}
13678 xmmsc_sc_namespace_add_method(__pyx_v_ns, __pyx_f_7xmmsapi_service_method_proxy, ((char *)__pyx_t_10), ((char *)__pyx_t_11), __pyx_v_positional, __pyx_v_named, __pyx_v_va_pos, __pyx_v_va_named, ((void *)__pyx_v_meth));
13679
13680 /* "xmmsapi.pyx":622
13681 *
13682 * xmmsc_sc_namespace_add_method(ns, service_method_proxy, <char *>name, <char *>doc, positional, named, va_pos, va_named, <void *>meth)
13683 * xmmsv_unref(positional) # <<<<<<<<<<<<<<
13684 * xmmsv_unref(named)
13685 *
13686 */
13687 xmmsv_unref(__pyx_v_positional);
13688
13689 /* "xmmsapi.pyx":623
13690 * xmmsc_sc_namespace_add_method(ns, service_method_proxy, <char *>name, <char *>doc, positional, named, va_pos, va_named, <void *>meth)
13691 * xmmsv_unref(positional)
13692 * xmmsv_unref(named) # <<<<<<<<<<<<<<
13693 *
13694 * cpdef register_broadcast(self, path, bc, infos):
13695 */
13696 xmmsv_unref(__pyx_v_named);
13697
13698 /* "xmmsapi.pyx":568
13699 * xmmsv_unref(val)
13700 *
13701 * cpdef register_method(self, path, meth, infos): # <<<<<<<<<<<<<<
13702 * cdef xmmsc_sc_namespace_t *ns
13703 * cdef xmmsv_t *positional
13704 */
13705
13706 /* function exit code */
13707 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
13708 goto __pyx_L0;
13709 __pyx_L1_error:;
13710 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
13711 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
13712 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
13713 __Pyx_AddTraceback("xmmsapi.XmmsServiceNamespace.register_method", __pyx_clineno, __pyx_lineno, __pyx_filename);
13714 __pyx_r = 0;
13715 __pyx_L0:;
13716 __Pyx_XDECREF(__pyx_v_name)do { if ((__pyx_v_name) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_name))->ob_refcnt != 0) ; else ( (*(((PyObject*
)((PyObject *)(__pyx_v_name)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(__pyx_v_name)))); } while (0); } while
(0)
;
13717 __Pyx_XDECREF(__pyx_v_doc)do { if ((__pyx_v_doc) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_doc))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(__pyx_v_doc)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_doc)))); } while (0); } while (0)
;
13718 __Pyx_XDECREF(__pyx_v_arg)do { if ((__pyx_v_arg) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_arg))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(__pyx_v_arg)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_arg)))); } while (0); } while (0)
;
13719 __Pyx_XDECREF(__pyx_v_a_name)do { if ((__pyx_v_a_name) == ((void*)0)) ; else do { if ( --(
(PyObject*)(__pyx_v_a_name))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(__pyx_v_a_name)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_a_name)))); } while
(0); } while (0)
;
13720 __Pyx_XDECREF(__pyx_v_a_doc)do { if ((__pyx_v_a_doc) == ((void*)0)) ; else do { if ( --((
PyObject*)(__pyx_v_a_doc))->ob_refcnt != 0) ; else ( (*(((
PyObject*)((PyObject *)(__pyx_v_a_doc)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(__pyx_v_a_doc)))); } while (0); }
while (0)
;
13721 __Pyx_XGIVEREF(__pyx_r);
13722 __Pyx_RefNannyFinishContext();
13723 return __pyx_r;
13724}
13725
13726/* Python wrapper */
13727static PyObject *__pyx_pw_7xmmsapi_20XmmsServiceNamespace_9register_method(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
13728static char __pyx_doc_7xmmsapi_20XmmsServiceNamespace_8register_method[] = "XmmsServiceNamespace.register_method(self, path, meth, infos)";
13729static PyObject *__pyx_pw_7xmmsapi_20XmmsServiceNamespace_9register_method(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
13730 PyObject *__pyx_v_path = 0;
13731 PyObject *__pyx_v_meth = 0;
13732 PyObject *__pyx_v_infos = 0;
13733 int __pyx_lineno = 0;
13734 const char *__pyx_filename = NULL((void*)0);
13735 int __pyx_clineno = 0;
13736 PyObject *__pyx_r = 0;
13737 __Pyx_RefNannyDeclarations
13738 __Pyx_RefNannySetupContext("register_method (wrapper)", 0);
13739 {
13740 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_path,&__pyx_n_s_meth,&__pyx_n_s_infos,0};
13741 PyObject* values[3] = {0,0,0};
13742 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
13743 Py_ssize_t kw_args;
13744 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
13745 switch (pos_args) {
13746 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
13747 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
13748 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
13749 case 0: break;
13750 default: goto __pyx_L5_argtuple_error;
13751 }
13752 kw_args = PyDict_Size(__pyx_kwds);
13753 switch (pos_args) {
13754 case 0:
13755 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path
)) != 0), 1)
) kw_args--;
13756 else goto __pyx_L5_argtuple_error;
13757 case 1:
13758 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_meth)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_meth
)) != 0), 1)
) kw_args--;
13759 else {
13760 __Pyx_RaiseArgtupleInvalid("register_method", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__13760; goto __pyx_L3_error;}
13761 }
13762 case 2:
13763 if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_infos)) != 0)__builtin_expect(!!((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_infos
)) != 0), 1)
) kw_args--;
13764 else {
13765 __Pyx_RaiseArgtupleInvalid("register_method", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__13765; goto __pyx_L3_error;}
13766 }
13767 }
13768 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
13769 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "register_method") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "register_method") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__13769; goto __pyx_L3_error;}
13770 }
13771 } else if (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size) != 3) {
13772 goto __pyx_L5_argtuple_error;
13773 } else {
13774 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
13775 values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
13776 values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
13777 }
13778 __pyx_v_path = values[0];
13779 __pyx_v_meth = values[1];
13780 __pyx_v_infos = values[2];
13781 }
13782 goto __pyx_L4_argument_unpacking_done;
13783 __pyx_L5_argtuple_error:;
13784 __Pyx_RaiseArgtupleInvalid("register_method", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__13784; goto __pyx_L3_error;}
13785 __pyx_L3_error:;
13786 __Pyx_AddTraceback("xmmsapi.XmmsServiceNamespace.register_method", __pyx_clineno, __pyx_lineno, __pyx_filename);
13787 __Pyx_RefNannyFinishContext();
13788 return NULL((void*)0);
13789 __pyx_L4_argument_unpacking_done:;
13790 __pyx_r = __pyx_pf_7xmmsapi_20XmmsServiceNamespace_8register_method(((struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *)__pyx_v_self), __pyx_v_path, __pyx_v_meth, __pyx_v_infos);
13791
13792 /* function exit code */
13793 __Pyx_RefNannyFinishContext();
13794 return __pyx_r;
13795}
13796
13797static PyObject *__pyx_pf_7xmmsapi_20XmmsServiceNamespace_8register_method(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *__pyx_v_self, PyObject *__pyx_v_path, PyObject *__pyx_v_meth, PyObject *__pyx_v_infos) {
13798 PyObject *__pyx_r = NULL((void*)0);
13799 __Pyx_RefNannyDeclarations
13800 PyObject *__pyx_t_1 = NULL((void*)0);
13801 int __pyx_lineno = 0;
13802 const char *__pyx_filename = NULL((void*)0);
13803 int __pyx_clineno = 0;
13804 __Pyx_RefNannySetupContext("register_method", 0);
13805 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
13806 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsServiceNamespace *)__pyx_v_self->__pyx_vtab)->register_method(__pyx_v_self, __pyx_v_path, __pyx_v_meth, __pyx_v_infos, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__13806; goto __pyx_L1_error;}
13807 __Pyx_GOTREF(__pyx_t_1);
13808 __pyx_r = __pyx_t_1;
13809 __pyx_t_1 = 0;
13810 goto __pyx_L0;
13811
13812 /* function exit code */
13813 __pyx_L1_error:;
13814 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
13815 __Pyx_AddTraceback("xmmsapi.XmmsServiceNamespace.register_method", __pyx_clineno, __pyx_lineno, __pyx_filename);
13816 __pyx_r = NULL((void*)0);
13817 __pyx_L0:;
13818 __Pyx_XGIVEREF(__pyx_r);
13819 __Pyx_RefNannyFinishContext();
13820 return __pyx_r;
13821}
13822
13823/* "xmmsapi.pyx":625
13824 * xmmsv_unref(named)
13825 *
13826 * cpdef register_broadcast(self, path, bc, infos): # <<<<<<<<<<<<<<
13827 * cdef xmmsc_sc_namespace_t *ns
13828 * name = from_unicode(infos.get('name') or "")
13829 */
13830
13831static PyObject *__pyx_pw_7xmmsapi_20XmmsServiceNamespace_11register_broadcast(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
13832static PyObject *__pyx_f_7xmmsapi_20XmmsServiceNamespace_register_broadcast(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *__pyx_v_self, PyObject *__pyx_v_path, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_v_bc, PyObject *__pyx_v_infos, int __pyx_skip_dispatch) {
13833 xmmsc_sc_namespace_t *__pyx_v_ns;
13834 PyObject *__pyx_v_name = NULL((void*)0);
13835 PyObject *__pyx_v_doc = NULL((void*)0);
13836 PyObject *__pyx_r = NULL((void*)0);
13837 __Pyx_RefNannyDeclarations
13838 PyObject *__pyx_t_1 = NULL((void*)0);
13839 PyObject *__pyx_t_2 = NULL((void*)0);
13840 PyObject *__pyx_t_3 = NULL((void*)0);
13841 int __pyx_t_4;
13842 int __pyx_t_5;
13843 char *__pyx_t_6;
13844 char *__pyx_t_7;
13845 int __pyx_lineno = 0;
13846 const char *__pyx_filename = NULL((void*)0);
13847 int __pyx_clineno = 0;
13848 __Pyx_RefNannySetupContext("register_broadcast", 0);
13849 /* Check if called by wrapper */
13850 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
13851 /* Check if overridden in Python */
13852 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
13853 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_register_broadcast); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__13853; goto __pyx_L1_error;}
13854 __Pyx_GOTREF(__pyx_t_1);
13855 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_20XmmsServiceNamespace_11register_broadcast)) {
13856 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
13857 __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__13857; goto __pyx_L1_error;}
13858 __Pyx_GOTREF(__pyx_t_2);
13859 __Pyx_INCREF(__pyx_v_path)( ((PyObject*)(__pyx_v_path))->ob_refcnt++);
13860 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_path)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_path
)
;
13861 __Pyx_GIVEREF(__pyx_v_path);
13862 __Pyx_INCREF(__pyx_v_bc)( ((PyObject*)(__pyx_v_bc))->ob_refcnt++);
13863 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_bc)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_bc);
13864 __Pyx_GIVEREF(__pyx_v_bc);
13865 __Pyx_INCREF(__pyx_v_infos)( ((PyObject*)(__pyx_v_infos))->ob_refcnt++);
13866 PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_infos)(((PyTupleObject *)(__pyx_t_2))->ob_item[2] = __pyx_v_infos
)
;
13867 __Pyx_GIVEREF(__pyx_v_infos);
13868 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__13868; goto __pyx_L1_error;}
13869 __Pyx_GOTREF(__pyx_t_3);
13870 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
13871 __pyx_r = __pyx_t_3;
13872 __pyx_t_3 = 0;
13873 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
13874 goto __pyx_L0;
13875 }
13876 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
13877 }
13878
13879 /* "xmmsapi.pyx":627
13880 * cpdef register_broadcast(self, path, bc, infos):
13881 * cdef xmmsc_sc_namespace_t *ns
13882 * name = from_unicode(infos.get('name') or "") # <<<<<<<<<<<<<<
13883 * if not name:
13884 * return
13885 */
13886 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_infos, __pyx_n_s_get); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__13886; goto __pyx_L1_error;}
13887 __Pyx_GOTREF(__pyx_t_1);
13888 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__27, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__13888; goto __pyx_L1_error;}
13889 __Pyx_GOTREF(__pyx_t_3);
13890 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
13891 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)__builtin_expect(!!(__pyx_t_4 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__13891; goto __pyx_L1_error;}
13892 if (!__pyx_t_4) {
13893 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
13894 __Pyx_INCREF(__pyx_kp_s__15)( ((PyObject*)(__pyx_kp_s__15))->ob_refcnt++);
13895 __pyx_t_1 = __pyx_kp_s__15;
13896 } else {
13897 __pyx_t_1 = __pyx_t_3;
13898 __pyx_t_3 = 0;
13899 }
13900 __pyx_t_3 = __pyx_f_9xmmsutils_from_unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__13900; goto __pyx_L1_error;}
13901 __Pyx_GOTREF(__pyx_t_3);
13902 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
13903 __pyx_v_name = __pyx_t_3;
13904 __pyx_t_3 = 0;
13905
13906 /* "xmmsapi.pyx":628
13907 * cdef xmmsc_sc_namespace_t *ns
13908 * name = from_unicode(infos.get('name') or "")
13909 * if not name: # <<<<<<<<<<<<<<
13910 * return
13911 * doc = from_unicode(infos.get('doc') or "")
13912 */
13913 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_name); if (unlikely(__pyx_t_4 < 0)__builtin_expect(!!(__pyx_t_4 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__13913; goto __pyx_L1_error;}
13914 __pyx_t_5 = ((!__pyx_t_4) != 0);
13915 if (__pyx_t_5) {
13916
13917 /* "xmmsapi.pyx":629
13918 * name = from_unicode(infos.get('name') or "")
13919 * if not name:
13920 * return # <<<<<<<<<<<<<<
13921 * doc = from_unicode(infos.get('doc') or "")
13922 * ns = _namespace_get(self.xmms.conn, path, True)
13923 */
13924 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
13925 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
13926 goto __pyx_L0;
13927 }
13928
13929 /* "xmmsapi.pyx":630
13930 * if not name:
13931 * return
13932 * doc = from_unicode(infos.get('doc') or "") # <<<<<<<<<<<<<<
13933 * ns = _namespace_get(self.xmms.conn, path, True)
13934 * xmmsc_sc_namespace_add_broadcast(ns, <char *>name, <char *>doc)
13935 */
13936 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_infos, __pyx_n_s_get); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__13936; goto __pyx_L1_error;}
13937 __Pyx_GOTREF(__pyx_t_3);
13938 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__28, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__13938; goto __pyx_L1_error;}
13939 __Pyx_GOTREF(__pyx_t_1);
13940 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
13941 __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)__builtin_expect(!!(__pyx_t_5 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__13941; goto __pyx_L1_error;}
13942 if (!__pyx_t_5) {
13943 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
13944 __Pyx_INCREF(__pyx_kp_s__15)( ((PyObject*)(__pyx_kp_s__15))->ob_refcnt++);
13945 __pyx_t_3 = __pyx_kp_s__15;
13946 } else {
13947 __pyx_t_3 = __pyx_t_1;
13948 __pyx_t_1 = 0;
13949 }
13950 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_t_3); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__13950; goto __pyx_L1_error;}
13951 __Pyx_GOTREF(__pyx_t_1);
13952 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
13953 __pyx_v_doc = __pyx_t_1;
13954 __pyx_t_1 = 0;
13955
13956 /* "xmmsapi.pyx":631
13957 * return
13958 * doc = from_unicode(infos.get('doc') or "")
13959 * ns = _namespace_get(self.xmms.conn, path, True) # <<<<<<<<<<<<<<
13960 * xmmsc_sc_namespace_add_broadcast(ns, <char *>name, <char *>doc)
13961 *
13962 */
13963 __pyx_v_ns = __pyx_f_7xmmsapi__namespace_get(__pyx_v_self->xmms->conn, __pyx_v_path, 1);
13964
13965 /* "xmmsapi.pyx":632
13966 * doc = from_unicode(infos.get('doc') or "")
13967 * ns = _namespace_get(self.xmms.conn, path, True)
13968 * xmmsc_sc_namespace_add_broadcast(ns, <char *>name, <char *>doc) # <<<<<<<<<<<<<<
13969 *
13970 * cpdef register(self):
13971 */
13972 __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_name); if (unlikely((!__pyx_t_6) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_6) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__13972; goto __pyx_L1_error;}
13973 __pyx_t_7 = __Pyx_PyObject_AsString(__pyx_v_doc); if (unlikely((!__pyx_t_7) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_7) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__13973; goto __pyx_L1_error;}
13974 xmmsc_sc_namespace_add_broadcast(__pyx_v_ns, ((char *)__pyx_t_6), ((char *)__pyx_t_7));
13975
13976 /* "xmmsapi.pyx":625
13977 * xmmsv_unref(named)
13978 *
13979 * cpdef register_broadcast(self, path, bc, infos): # <<<<<<<<<<<<<<
13980 * cdef xmmsc_sc_namespace_t *ns
13981 * name = from_unicode(infos.get('name') or "")
13982 */
13983
13984 /* function exit code */
13985 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
13986 goto __pyx_L0;
13987 __pyx_L1_error:;
13988 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
13989 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
13990 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
13991 __Pyx_AddTraceback("xmmsapi.XmmsServiceNamespace.register_broadcast", __pyx_clineno, __pyx_lineno, __pyx_filename);
13992 __pyx_r = 0;
13993 __pyx_L0:;
13994 __Pyx_XDECREF(__pyx_v_name)do { if ((__pyx_v_name) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_name))->ob_refcnt != 0) ; else ( (*(((PyObject*
)((PyObject *)(__pyx_v_name)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(__pyx_v_name)))); } while (0); } while
(0)
;
13995 __Pyx_XDECREF(__pyx_v_doc)do { if ((__pyx_v_doc) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_doc))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(__pyx_v_doc)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_doc)))); } while (0); } while (0)
;
13996 __Pyx_XGIVEREF(__pyx_r);
13997 __Pyx_RefNannyFinishContext();
13998 return __pyx_r;
13999}
14000
14001/* Python wrapper */
14002static PyObject *__pyx_pw_7xmmsapi_20XmmsServiceNamespace_11register_broadcast(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
14003static char __pyx_doc_7xmmsapi_20XmmsServiceNamespace_10register_broadcast[] = "XmmsServiceNamespace.register_broadcast(self, path, bc, infos)";
14004static PyObject *__pyx_pw_7xmmsapi_20XmmsServiceNamespace_11register_broadcast(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
14005 PyObject *__pyx_v_path = 0;
14006 PyObject *__pyx_v_bc = 0;
14007 PyObject *__pyx_v_infos = 0;
14008 int __pyx_lineno = 0;
14009 const char *__pyx_filename = NULL((void*)0);
14010 int __pyx_clineno = 0;
14011 PyObject *__pyx_r = 0;
14012 __Pyx_RefNannyDeclarations
14013 __Pyx_RefNannySetupContext("register_broadcast (wrapper)", 0);
14014 {
14015 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_path,&__pyx_n_s_bc,&__pyx_n_s_infos,0};
14016 PyObject* values[3] = {0,0,0};
14017 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
14018 Py_ssize_t kw_args;
14019 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
14020 switch (pos_args) {
14021 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
14022 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
14023 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
14024 case 0: break;
14025 default: goto __pyx_L5_argtuple_error;
14026 }
14027 kw_args = PyDict_Size(__pyx_kwds);
14028 switch (pos_args) {
14029 case 0:
14030 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path
)) != 0), 1)
) kw_args--;
14031 else goto __pyx_L5_argtuple_error;
14032 case 1:
14033 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_bc)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_bc
)) != 0), 1)
) kw_args--;
14034 else {
14035 __Pyx_RaiseArgtupleInvalid("register_broadcast", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__14035; goto __pyx_L3_error;}
14036 }
14037 case 2:
14038 if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_infos)) != 0)__builtin_expect(!!((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_infos
)) != 0), 1)
) kw_args--;
14039 else {
14040 __Pyx_RaiseArgtupleInvalid("register_broadcast", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__14040; goto __pyx_L3_error;}
14041 }
14042 }
14043 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
14044 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "register_broadcast") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "register_broadcast") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__14044; goto __pyx_L3_error;}
14045 }
14046 } else if (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size) != 3) {
14047 goto __pyx_L5_argtuple_error;
14048 } else {
14049 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
14050 values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
14051 values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
14052 }
14053 __pyx_v_path = values[0];
14054 __pyx_v_bc = values[1];
14055 __pyx_v_infos = values[2];
14056 }
14057 goto __pyx_L4_argument_unpacking_done;
14058 __pyx_L5_argtuple_error:;
14059 __Pyx_RaiseArgtupleInvalid("register_broadcast", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__14059; goto __pyx_L3_error;}
14060 __pyx_L3_error:;
14061 __Pyx_AddTraceback("xmmsapi.XmmsServiceNamespace.register_broadcast", __pyx_clineno, __pyx_lineno, __pyx_filename);
14062 __Pyx_RefNannyFinishContext();
14063 return NULL((void*)0);
14064 __pyx_L4_argument_unpacking_done:;
14065 __pyx_r = __pyx_pf_7xmmsapi_20XmmsServiceNamespace_10register_broadcast(((struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *)__pyx_v_self), __pyx_v_path, __pyx_v_bc, __pyx_v_infos);
14066
14067 /* function exit code */
14068 __Pyx_RefNannyFinishContext();
14069 return __pyx_r;
14070}
14071
14072static PyObject *__pyx_pf_7xmmsapi_20XmmsServiceNamespace_10register_broadcast(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *__pyx_v_self, PyObject *__pyx_v_path, PyObject *__pyx_v_bc, PyObject *__pyx_v_infos) {
14073 PyObject *__pyx_r = NULL((void*)0);
14074 __Pyx_RefNannyDeclarations
14075 PyObject *__pyx_t_1 = NULL((void*)0);
14076 int __pyx_lineno = 0;
14077 const char *__pyx_filename = NULL((void*)0);
14078 int __pyx_clineno = 0;
14079 __Pyx_RefNannySetupContext("register_broadcast", 0);
14080 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
14081 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsServiceNamespace *)__pyx_v_self->__pyx_vtab)->register_broadcast(__pyx_v_self, __pyx_v_path, __pyx_v_bc, __pyx_v_infos, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 625; __pyx_clineno = __LINE__14081; goto __pyx_L1_error;}
14082 __Pyx_GOTREF(__pyx_t_1);
14083 __pyx_r = __pyx_t_1;
14084 __pyx_t_1 = 0;
14085 goto __pyx_L0;
14086
14087 /* function exit code */
14088 __pyx_L1_error:;
14089 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
14090 __Pyx_AddTraceback("xmmsapi.XmmsServiceNamespace.register_broadcast", __pyx_clineno, __pyx_lineno, __pyx_filename);
14091 __pyx_r = NULL((void*)0);
14092 __pyx_L0:;
14093 __Pyx_XGIVEREF(__pyx_r);
14094 __Pyx_RefNannyFinishContext();
14095 return __pyx_r;
14096}
14097
14098/* "xmmsapi.pyx":634
14099 * xmmsc_sc_namespace_add_broadcast(ns, <char *>name, <char *>doc)
14100 *
14101 * cpdef register(self): # <<<<<<<<<<<<<<
14102 * if self.registered:
14103 * return
14104 */
14105
14106static PyObject *__pyx_pw_7xmmsapi_20XmmsServiceNamespace_13register(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
14107static PyObject *__pyx_f_7xmmsapi_20XmmsServiceNamespace_register(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *__pyx_v_self, int __pyx_skip_dispatch) {
14108 PyObject *__pyx_v__path = NULL((void*)0);
14109 PyObject *__pyx_r = NULL((void*)0);
14110 __Pyx_RefNannyDeclarations
14111 PyObject *__pyx_t_1 = NULL((void*)0);
14112 PyObject *__pyx_t_2 = NULL((void*)0);
14113 int __pyx_t_3;
14114 PyObject *__pyx_t_4 = NULL((void*)0);
14115 PyObject *__pyx_t_5 = NULL((void*)0);
14116 PyObject *__pyx_t_6 = NULL((void*)0);
14117 struct __pyx_opt_args_7xmmsapi_20XmmsServiceNamespace__walk __pyx_t_7;
14118 int __pyx_lineno = 0;
14119 const char *__pyx_filename = NULL((void*)0);
14120 int __pyx_clineno = 0;
14121 __Pyx_RefNannySetupContext("register", 0);
14122 /* Check if called by wrapper */
14123 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
14124 /* Check if overridden in Python */
14125 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
14126 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_register); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__14126; goto __pyx_L1_error;}
14127 __Pyx_GOTREF(__pyx_t_1);
14128 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_20XmmsServiceNamespace_13register)) {
14129 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
14130 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__14130; goto __pyx_L1_error;}
14131 __Pyx_GOTREF(__pyx_t_2);
14132 __pyx_r = __pyx_t_2;
14133 __pyx_t_2 = 0;
14134 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
14135 goto __pyx_L0;
14136 }
14137 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
14138 }
14139
14140 /* "xmmsapi.pyx":635
14141 *
14142 * cpdef register(self):
14143 * if self.registered: # <<<<<<<<<<<<<<
14144 * return
14145 *
14146 */
14147 __pyx_t_3 = (__pyx_v_self->registered != 0);
14148 if (__pyx_t_3) {
14149
14150 /* "xmmsapi.pyx":636
14151 * cpdef register(self):
14152 * if self.registered:
14153 * return # <<<<<<<<<<<<<<
14154 *
14155 * self.xmms.sc_init()
14156 */
14157 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
14158 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
14159 goto __pyx_L0;
14160 }
14161
14162 /* "xmmsapi.pyx":638
14163 * return
14164 *
14165 * self.xmms.sc_init() # <<<<<<<<<<<<<<
14166 *
14167 * _path = self.path
14168 */
14169 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->xmms), __pyx_n_s_sc_init); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__14169; goto __pyx_L1_error;}
14170 __Pyx_GOTREF(__pyx_t_1);
14171 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__14171; goto __pyx_L1_error;}
14172 __Pyx_GOTREF(__pyx_t_2);
14173 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
14174 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
14175
14176 /* "xmmsapi.pyx":640
14177 * self.xmms.sc_init()
14178 *
14179 * _path = self.path # <<<<<<<<<<<<<<
14180 * self.register_namespace(_path[:-1], self, dict(
14181 * name = _path and _path[-1] or "",
14182 */
14183 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_path); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 640; __pyx_clineno = __LINE__14183; goto __pyx_L1_error;}
14184 __Pyx_GOTREF(__pyx_t_2);
14185 __pyx_v__path = __pyx_t_2;
14186 __pyx_t_2 = 0;
14187
14188 /* "xmmsapi.pyx":641
14189 *
14190 * _path = self.path
14191 * self.register_namespace(_path[:-1], self, dict( # <<<<<<<<<<<<<<
14192 * name = _path and _path[-1] or "",
14193 * doc = self.__doc__ or ""
14194 */
14195 __pyx_t_2 = __Pyx_PyObject_GetSlice(__pyx_v__path, 0, -1, NULL((void*)0), NULL((void*)0), &__pyx_slice__29, 0, 1, 1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__14195; goto __pyx_L1_error;}
14196 __Pyx_GOTREF(__pyx_t_2);
14197 __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__14197; goto __pyx_L1_error;}
14198 __Pyx_GOTREF(__pyx_t_1);
14199
14200 /* "xmmsapi.pyx":642
14201 * _path = self.path
14202 * self.register_namespace(_path[:-1], self, dict(
14203 * name = _path and _path[-1] or "", # <<<<<<<<<<<<<<
14204 * doc = self.__doc__ or ""
14205 * ))
14206 */
14207 __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__path); if (unlikely(__pyx_t_3 < 0)__builtin_expect(!!(__pyx_t_3 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__14207; goto __pyx_L1_error;}
14208 if (__pyx_t_3) {
14209 __pyx_t_4 = __Pyx_GetItemInt(__pyx_v__path, -1, long, 1, __Pyx_PyInt_From_long, 0, 1, 1)(( (sizeof(long) < sizeof(Py_ssize_t)) || (sizeof(long) >
sizeof(Py_ssize_t) && __builtin_expect(!!(-1 < (long
)((Py_ssize_t)(((size_t)-1)>>1)) || -1 == (long)((Py_ssize_t
)(((size_t)-1)>>1))), 1) && (!1 || __builtin_expect
(!!(-1 > (long)(-((Py_ssize_t)(((size_t)-1)>>1))-1) ||
-1 == (long)(-((Py_ssize_t)(((size_t)-1)>>1))-1)), 1))
) || (sizeof(long) == sizeof(Py_ssize_t) && (1 || __builtin_expect
(!!(-1 < (long)((Py_ssize_t)(((size_t)-1)>>1)) || -1
== (long)((Py_ssize_t)(((size_t)-1)>>1))), 1))) ) ? __Pyx_GetItemInt_Fast
(__pyx_v__path, (Py_ssize_t)-1, 0, 1, 1) : (0 ? (PyErr_SetString
(PyExc_IndexError, "list index out of range"), (PyObject*)((void
*)0)) : __Pyx_GetItemInt_Generic(__pyx_v__path, __Pyx_PyInt_From_long
(-1))))
; if (unlikely(__pyx_t_4 == NULL)__builtin_expect(!!(__pyx_t_4 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__14209; goto __pyx_L1_error;};
14210 __Pyx_GOTREF(__pyx_t_4);
14211 __pyx_t_5 = __pyx_t_4;
14212 __pyx_t_4 = 0;
14213 } else {
14214 __Pyx_INCREF(__pyx_v__path)( ((PyObject*)(__pyx_v__path))->ob_refcnt++);
14215 __pyx_t_5 = __pyx_v__path;
14216 }
14217 __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)__builtin_expect(!!(__pyx_t_3 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__14217; goto __pyx_L1_error;}
14218 if (!__pyx_t_3) {
14219 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
14220 __Pyx_INCREF(__pyx_kp_s__15)( ((PyObject*)(__pyx_kp_s__15))->ob_refcnt++);
14221 __pyx_t_4 = __pyx_kp_s__15;
14222 } else {
14223 __pyx_t_4 = __pyx_t_5;
14224 __pyx_t_5 = 0;
14225 }
14226 if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_name_2, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__14226; goto __pyx_L1_error;}
14227 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
14228
14229 /* "xmmsapi.pyx":643
14230 * self.register_namespace(_path[:-1], self, dict(
14231 * name = _path and _path[-1] or "",
14232 * doc = self.__doc__ or "" # <<<<<<<<<<<<<<
14233 * ))
14234 *
14235 */
14236 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_doc); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__14236; goto __pyx_L1_error;}
14237 __Pyx_GOTREF(__pyx_t_4);
14238 __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)__builtin_expect(!!(__pyx_t_3 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__14238; goto __pyx_L1_error;}
14239 if (!__pyx_t_3) {
14240 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
14241 __Pyx_INCREF(__pyx_kp_s__15)( ((PyObject*)(__pyx_kp_s__15))->ob_refcnt++);
14242 __pyx_t_5 = __pyx_kp_s__15;
14243 } else {
14244 __pyx_t_5 = __pyx_t_4;
14245 __pyx_t_4 = 0;
14246 }
14247 if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_doc_2, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__14247; goto __pyx_L1_error;}
14248 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
14249
14250 /* "xmmsapi.pyx":641
14251 *
14252 * _path = self.path
14253 * self.register_namespace(_path[:-1], self, dict( # <<<<<<<<<<<<<<
14254 * name = _path and _path[-1] or "",
14255 * doc = self.__doc__ or ""
14256 */
14257 __pyx_t_5 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsServiceNamespace *)__pyx_v_self->__pyx_vtab)->register_namespace(__pyx_v_self, __pyx_t_2, ((PyObject *)__pyx_v_self), __pyx_t_1, 0); if (unlikely(!__pyx_t_5)__builtin_expect(!!(!__pyx_t_5), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__14257; goto __pyx_L1_error;}
14258 __Pyx_GOTREF(__pyx_t_5);
14259 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
14260 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
14261 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
14262
14263 /* "xmmsapi.pyx":647
14264 *
14265 * self._walk( path = _path,
14266 * namespace = self.register_namespace, # <<<<<<<<<<<<<<
14267 * constant = self.register_constant,
14268 * method = self.register_method,
14269 */
14270 __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_register_namespace); if (unlikely(!__pyx_t_5)__builtin_expect(!!(!__pyx_t_5), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__14270; goto __pyx_L1_error;}
14271 __Pyx_GOTREF(__pyx_t_5);
14272
14273 /* "xmmsapi.pyx":648
14274 * self._walk( path = _path,
14275 * namespace = self.register_namespace,
14276 * constant = self.register_constant, # <<<<<<<<<<<<<<
14277 * method = self.register_method,
14278 * broadcast = self.register_broadcast)
14279 */
14280 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_register_constant); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__14280; goto __pyx_L1_error;}
14281 __Pyx_GOTREF(__pyx_t_1);
14282
14283 /* "xmmsapi.pyx":649
14284 * namespace = self.register_namespace,
14285 * constant = self.register_constant,
14286 * method = self.register_method, # <<<<<<<<<<<<<<
14287 * broadcast = self.register_broadcast)
14288 *
14289 */
14290 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_register_method); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__14290; goto __pyx_L1_error;}
14291 __Pyx_GOTREF(__pyx_t_2);
14292
14293 /* "xmmsapi.pyx":650
14294 * constant = self.register_constant,
14295 * method = self.register_method,
14296 * broadcast = self.register_broadcast) # <<<<<<<<<<<<<<
14297 *
14298 * self.xmms.c2c_ready()
14299 */
14300 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_register_broadcast); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__14300; goto __pyx_L1_error;}
14301 __Pyx_GOTREF(__pyx_t_4);
14302
14303 /* "xmmsapi.pyx":646
14304 * ))
14305 *
14306 * self._walk( path = _path, # <<<<<<<<<<<<<<
14307 * namespace = self.register_namespace,
14308 * constant = self.register_constant,
14309 */
14310 __pyx_t_7.__pyx_n = 5;
14311 __pyx_t_7.namespace = __pyx_t_5;
14312 __pyx_t_7.constant = __pyx_t_1;
14313 __pyx_t_7.method = __pyx_t_2;
14314 __pyx_t_7.broadcast = __pyx_t_4;
14315 __pyx_t_7.path = __pyx_v__path;
14316 __pyx_t_6 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsServiceNamespace *)__pyx_v_self->__pyx_vtab)->_walk(__pyx_v_self, 0, &__pyx_t_7); if (unlikely(!__pyx_t_6)__builtin_expect(!!(!__pyx_t_6), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__14316; goto __pyx_L1_error;}
14317 __Pyx_GOTREF(__pyx_t_6);
14318 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
14319 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
14320 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
14321 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
14322 __Pyx_DECREF(__pyx_t_6)do { if ( --((PyObject*)(__pyx_t_6))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_6)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_6)))); } while (
0)
; __pyx_t_6 = 0;
14323
14324 /* "xmmsapi.pyx":652
14325 * broadcast = self.register_broadcast)
14326 *
14327 * self.xmms.c2c_ready() # <<<<<<<<<<<<<<
14328 *
14329 * self.registered = True
14330 */
14331 __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->xmms), __pyx_n_s_c2c_ready); if (unlikely(!__pyx_t_6)__builtin_expect(!!(!__pyx_t_6), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__14331; goto __pyx_L1_error;}
14332 __Pyx_GOTREF(__pyx_t_6);
14333 __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__14333; goto __pyx_L1_error;}
14334 __Pyx_GOTREF(__pyx_t_4);
14335 __Pyx_DECREF(__pyx_t_6)do { if ( --((PyObject*)(__pyx_t_6))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_6)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_6)))); } while (
0)
; __pyx_t_6 = 0;
14336 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
14337
14338 /* "xmmsapi.pyx":654
14339 * self.xmms.c2c_ready()
14340 *
14341 * self.registered = True # <<<<<<<<<<<<<<
14342 *
14343 *
14344 */
14345 __pyx_v_self->registered = 1;
14346
14347 /* "xmmsapi.pyx":634
14348 * xmmsc_sc_namespace_add_broadcast(ns, <char *>name, <char *>doc)
14349 *
14350 * cpdef register(self): # <<<<<<<<<<<<<<
14351 * if self.registered:
14352 * return
14353 */
14354
14355 /* function exit code */
14356 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
14357 goto __pyx_L0;
14358 __pyx_L1_error:;
14359 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
14360 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
14361 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
;
14362 __Pyx_XDECREF(__pyx_t_5)do { if ((__pyx_t_5) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_5))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_5)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_5)))); } while (0); } while (0)
;
14363 __Pyx_XDECREF(__pyx_t_6)do { if ((__pyx_t_6) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_6))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_6)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_6)))); } while (0); } while (0)
;
14364 __Pyx_AddTraceback("xmmsapi.XmmsServiceNamespace.register", __pyx_clineno, __pyx_lineno, __pyx_filename);
14365 __pyx_r = 0;
14366 __pyx_L0:;
14367 __Pyx_XDECREF(__pyx_v__path)do { if ((__pyx_v__path) == ((void*)0)) ; else do { if ( --((
PyObject*)(__pyx_v__path))->ob_refcnt != 0) ; else ( (*(((
PyObject*)((PyObject *)(__pyx_v__path)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(__pyx_v__path)))); } while (0); }
while (0)
;
14368 __Pyx_XGIVEREF(__pyx_r);
14369 __Pyx_RefNannyFinishContext();
14370 return __pyx_r;
14371}
14372
14373/* Python wrapper */
14374static PyObject *__pyx_pw_7xmmsapi_20XmmsServiceNamespace_13register(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
14375static char __pyx_doc_7xmmsapi_20XmmsServiceNamespace_12register[] = "XmmsServiceNamespace.register(self)";
14376static PyObject *__pyx_pw_7xmmsapi_20XmmsServiceNamespace_13register(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
14377 PyObject *__pyx_r = 0;
14378 __Pyx_RefNannyDeclarations
14379 __Pyx_RefNannySetupContext("register (wrapper)", 0);
14380 __pyx_r = __pyx_pf_7xmmsapi_20XmmsServiceNamespace_12register(((struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *)__pyx_v_self));
14381
14382 /* function exit code */
14383 __Pyx_RefNannyFinishContext();
14384 return __pyx_r;
14385}
14386
14387static PyObject *__pyx_pf_7xmmsapi_20XmmsServiceNamespace_12register(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *__pyx_v_self) {
14388 PyObject *__pyx_r = NULL((void*)0);
14389 __Pyx_RefNannyDeclarations
14390 PyObject *__pyx_t_1 = NULL((void*)0);
14391 int __pyx_lineno = 0;
14392 const char *__pyx_filename = NULL((void*)0);
14393 int __pyx_clineno = 0;
14394 __Pyx_RefNannySetupContext("register", 0);
14395 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
14396 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsServiceNamespace *)__pyx_v_self->__pyx_vtab)->__pyx_register(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 634; __pyx_clineno = __LINE__14396; goto __pyx_L1_error;}
14397 __Pyx_GOTREF(__pyx_t_1);
14398 __pyx_r = __pyx_t_1;
14399 __pyx_t_1 = 0;
14400 goto __pyx_L0;
14401
14402 /* function exit code */
14403 __pyx_L1_error:;
14404 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
14405 __Pyx_AddTraceback("xmmsapi.XmmsServiceNamespace.register", __pyx_clineno, __pyx_lineno, __pyx_filename);
14406 __pyx_r = NULL((void*)0);
14407 __pyx_L0:;
14408 __Pyx_XGIVEREF(__pyx_r);
14409 __Pyx_RefNannyFinishContext();
14410 return __pyx_r;
14411}
14412
14413/* "xmmsapi.pxd":64
14414 * cdef class XmmsCore
14415 * cdef class XmmsServiceNamespace:
14416 * cdef readonly XmmsCore xmms # <<<<<<<<<<<<<<
14417 * cdef readonly XmmsServiceNamespace parent
14418 * cdef bint registered
14419 */
14420
14421/* Python wrapper */
14422static PyObject *__pyx_pw_7xmmsapi_20XmmsServiceNamespace_4xmms_1__get__(PyObject *__pyx_v_self); /*proto*/
14423static PyObject *__pyx_pw_7xmmsapi_20XmmsServiceNamespace_4xmms_1__get__(PyObject *__pyx_v_self) {
14424 PyObject *__pyx_r = 0;
14425 __Pyx_RefNannyDeclarations
14426 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
14427 __pyx_r = __pyx_pf_7xmmsapi_20XmmsServiceNamespace_4xmms___get__(((struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *)__pyx_v_self));
14428
14429 /* function exit code */
14430 __Pyx_RefNannyFinishContext();
14431 return __pyx_r;
14432}
14433
14434static PyObject *__pyx_pf_7xmmsapi_20XmmsServiceNamespace_4xmms___get__(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *__pyx_v_self) {
14435 PyObject *__pyx_r = NULL((void*)0);
14436 __Pyx_RefNannyDeclarations
14437 __Pyx_RefNannySetupContext("__get__", 0);
14438 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
14439 __Pyx_INCREF(((PyObject *)__pyx_v_self->xmms))( ((PyObject*)(((PyObject *)__pyx_v_self->xmms)))->ob_refcnt
++)
;
14440 __pyx_r = ((PyObject *)__pyx_v_self->xmms);
14441 goto __pyx_L0;
14442
14443 /* function exit code */
14444 __pyx_L0:;
14445 __Pyx_XGIVEREF(__pyx_r);
14446 __Pyx_RefNannyFinishContext();
14447 return __pyx_r;
14448}
14449
14450/* "xmmsapi.pxd":65
14451 * cdef class XmmsServiceNamespace:
14452 * cdef readonly XmmsCore xmms
14453 * cdef readonly XmmsServiceNamespace parent # <<<<<<<<<<<<<<
14454 * cdef bint registered
14455 * cdef object _bound_methods
14456 */
14457
14458/* Python wrapper */
14459static PyObject *__pyx_pw_7xmmsapi_20XmmsServiceNamespace_6parent_1__get__(PyObject *__pyx_v_self); /*proto*/
14460static PyObject *__pyx_pw_7xmmsapi_20XmmsServiceNamespace_6parent_1__get__(PyObject *__pyx_v_self) {
14461 PyObject *__pyx_r = 0;
14462 __Pyx_RefNannyDeclarations
14463 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
14464 __pyx_r = __pyx_pf_7xmmsapi_20XmmsServiceNamespace_6parent___get__(((struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *)__pyx_v_self));
14465
14466 /* function exit code */
14467 __Pyx_RefNannyFinishContext();
14468 return __pyx_r;
14469}
14470
14471static PyObject *__pyx_pf_7xmmsapi_20XmmsServiceNamespace_6parent___get__(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *__pyx_v_self) {
14472 PyObject *__pyx_r = NULL((void*)0);
14473 __Pyx_RefNannyDeclarations
14474 __Pyx_RefNannySetupContext("__get__", 0);
14475 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
14476 __Pyx_INCREF(((PyObject *)__pyx_v_self->parent))( ((PyObject*)(((PyObject *)__pyx_v_self->parent)))->ob_refcnt
++)
;
14477 __pyx_r = ((PyObject *)__pyx_v_self->parent);
14478 goto __pyx_L0;
14479
14480 /* function exit code */
14481 __pyx_L0:;
14482 __Pyx_XGIVEREF(__pyx_r);
14483 __Pyx_RefNannyFinishContext();
14484 return __pyx_r;
14485}
14486
14487/* "xmmsapi.pyx":657
14488 *
14489 *
14490 * cdef xmmsc_sc_namespace_t *_namespace_get(xmmsc_connection_t *c, path, bint create): # <<<<<<<<<<<<<<
14491 * cdef xmmsc_sc_namespace_t *ns
14492 * cdef xmmsc_sc_namespace_t *child_ns
14493 */
14494
14495static xmmsc_sc_namespace_t *__pyx_f_7xmmsapi__namespace_get(xmmsc_connection_t *__pyx_v_c, PyObject *__pyx_v_path, int __pyx_v_create) {
14496 xmmsc_sc_namespace_t *__pyx_v_ns;
14497 xmmsc_sc_namespace_t *__pyx_v_child_ns;
14498 PyObject *__pyx_v_p = NULL((void*)0);
14499 PyObject *__pyx_v_doc = NULL((void*)0);
14500 xmmsc_sc_namespace_t *__pyx_r;
14501 __Pyx_RefNannyDeclarations
14502 PyObject *__pyx_t_1 = NULL((void*)0);
14503 Py_ssize_t __pyx_t_2;
14504 PyObject *(*__pyx_t_3)(PyObject *);
14505 PyObject *__pyx_t_4 = NULL((void*)0);
14506 char *__pyx_t_5;
14507 int __pyx_t_6;
14508 char *__pyx_t_7;
14509 int __pyx_lineno = 0;
14510 const char *__pyx_filename = NULL((void*)0);
14511 int __pyx_clineno = 0;
14512 __Pyx_RefNannySetupContext("_namespace_get", 0);
14513
14514 /* "xmmsapi.pyx":661
14515 * cdef xmmsc_sc_namespace_t *child_ns
14516 *
14517 * ns = xmmsc_sc_namespace_root(c) # <<<<<<<<<<<<<<
14518 *
14519 * for p in path:
14520 */
14521 __pyx_v_ns = xmmsc_sc_namespace_root(__pyx_v_c);
14522
14523 /* "xmmsapi.pyx":663
14524 * ns = xmmsc_sc_namespace_root(c)
14525 *
14526 * for p in path: # <<<<<<<<<<<<<<
14527 * p = from_unicode(p)
14528 * doc = from_unicode("")
14529 */
14530 if (PyList_CheckExact(__pyx_v_path)((((PyObject*)(__pyx_v_path))->ob_type) == &PyList_Type
)
|| PyTuple_CheckExact(__pyx_v_path)((((PyObject*)(__pyx_v_path))->ob_type) == &PyTuple_Type
)
) {
14531 __pyx_t_1 = __pyx_v_path; __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++); __pyx_t_2 = 0;
14532 __pyx_t_3 = NULL((void*)0);
14533 } else {
14534 __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_path); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__14534; goto __pyx_L1_error;}
14535 __Pyx_GOTREF(__pyx_t_1);
14536 __pyx_t_3 = Py_TYPE(__pyx_t_1)(((PyObject*)(__pyx_t_1))->ob_type)->tp_iternext;
14537 }
14538 for (;;) {
14539 if (!__pyx_t_3 && PyList_CheckExact(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyList_Type)) {
14540 if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)(((PyVarObject*)(__pyx_t_1))->ob_size)) break;
14541 #if CYTHON_COMPILING_IN_CPYTHON1
14542 __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2)(((PyListObject *)(__pyx_t_1))->ob_item[__pyx_t_2]); __Pyx_INCREF(__pyx_t_4)( ((PyObject*)(__pyx_t_4))->ob_refcnt++); __pyx_t_2++; if (unlikely(0 < 0)__builtin_expect(!!(0 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__14542; goto __pyx_L1_error;}
14543 #else
14544 __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2)( (((PyObject*)(__pyx_t_1))->ob_type)->tp_as_sequence->
sq_item(__pyx_t_1, __pyx_t_2) )
; __pyx_t_2++; if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__14544; goto __pyx_L1_error;}
14545 #endif
14546 } else if (!__pyx_t_3 && PyTuple_CheckExact(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyTuple_Type)) {
14547 if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)(((PyVarObject*)(__pyx_t_1))->ob_size)) break;
14548 #if CYTHON_COMPILING_IN_CPYTHON1
14549 __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2)(((PyTupleObject *)(__pyx_t_1))->ob_item[__pyx_t_2]); __Pyx_INCREF(__pyx_t_4)( ((PyObject*)(__pyx_t_4))->ob_refcnt++); __pyx_t_2++; if (unlikely(0 < 0)__builtin_expect(!!(0 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__14549; goto __pyx_L1_error;}
14550 #else
14551 __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2)( (((PyObject*)(__pyx_t_1))->ob_type)->tp_as_sequence->
sq_item(__pyx_t_1, __pyx_t_2) )
; __pyx_t_2++; if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__14551; goto __pyx_L1_error;}
14552 #endif
14553 } else {
14554 __pyx_t_4 = __pyx_t_3(__pyx_t_1);
14555 if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {
14556 PyObject* exc_type = PyErr_Occurred();
14557 if (exc_type) {
14558 if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))__builtin_expect(!!(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches
(exc_type, PyExc_StopIteration)), 1)
) PyErr_Clear();
14559 else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__14559; goto __pyx_L1_error;}
14560 }
14561 break;
14562 }
14563 __Pyx_GOTREF(__pyx_t_4);
14564 }
14565 __Pyx_XDECREF_SET(__pyx_v_p, __pyx_t_4)do { PyObject *tmp = (PyObject *) __pyx_v_p; __pyx_v_p = __pyx_t_4
; do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0); } while (0)
;
14566 __pyx_t_4 = 0;
14567
14568 /* "xmmsapi.pyx":664
14569 *
14570 * for p in path:
14571 * p = from_unicode(p) # <<<<<<<<<<<<<<
14572 * doc = from_unicode("")
14573 * child_ns = xmmsc_sc_namespace_get(ns, <char *>p)
14574 */
14575 __pyx_t_4 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_p); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__14575; goto __pyx_L1_error;}
14576 __Pyx_GOTREF(__pyx_t_4);
14577 __Pyx_DECREF_SET(__pyx_v_p, __pyx_t_4)do { PyObject *tmp = (PyObject *) __pyx_v_p; __pyx_v_p = __pyx_t_4
; do { if ( --((PyObject*)(tmp))->ob_refcnt != 0) ; else (
(*(((PyObject*)((PyObject *)(tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(tmp)))); } while (0); } while (0)
;
14578 __pyx_t_4 = 0;
14579
14580 /* "xmmsapi.pyx":665
14581 * for p in path:
14582 * p = from_unicode(p)
14583 * doc = from_unicode("") # <<<<<<<<<<<<<<
14584 * child_ns = xmmsc_sc_namespace_get(ns, <char *>p)
14585 * if child_ns == NULL:
14586 */
14587 __pyx_t_4 = __pyx_f_9xmmsutils_from_unicode(__pyx_kp_s__15); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__14587; goto __pyx_L1_error;}
14588 __Pyx_GOTREF(__pyx_t_4);
14589 __Pyx_XDECREF_SET(__pyx_v_doc, __pyx_t_4)do { PyObject *tmp = (PyObject *) __pyx_v_doc; __pyx_v_doc = __pyx_t_4
; do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0); } while (0)
;
14590 __pyx_t_4 = 0;
14591
14592 /* "xmmsapi.pyx":666
14593 * p = from_unicode(p)
14594 * doc = from_unicode("")
14595 * child_ns = xmmsc_sc_namespace_get(ns, <char *>p) # <<<<<<<<<<<<<<
14596 * if child_ns == NULL:
14597 * if not create:
14598 */
14599 __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_5) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_5) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__14599; goto __pyx_L1_error;}
14600 __pyx_v_child_ns = xmmsc_sc_namespace_get(__pyx_v_ns, ((char *)__pyx_t_5));
14601
14602 /* "xmmsapi.pyx":667
14603 * doc = from_unicode("")
14604 * child_ns = xmmsc_sc_namespace_get(ns, <char *>p)
14605 * if child_ns == NULL: # <<<<<<<<<<<<<<
14606 * if not create:
14607 * break
14608 */
14609 __pyx_t_6 = ((__pyx_v_child_ns == NULL((void*)0)) != 0);
14610 if (__pyx_t_6) {
14611
14612 /* "xmmsapi.pyx":668
14613 * child_ns = xmmsc_sc_namespace_get(ns, <char *>p)
14614 * if child_ns == NULL:
14615 * if not create: # <<<<<<<<<<<<<<
14616 * break
14617 * child_ns = xmmsc_sc_namespace_new(ns, <char *>p, <char *>doc)
14618 */
14619 __pyx_t_6 = ((!(__pyx_v_create != 0)) != 0);
14620 if (__pyx_t_6) {
14621
14622 /* "xmmsapi.pyx":669
14623 * if child_ns == NULL:
14624 * if not create:
14625 * break # <<<<<<<<<<<<<<
14626 * child_ns = xmmsc_sc_namespace_new(ns, <char *>p, <char *>doc)
14627 * ns = child_ns
14628 */
14629 goto __pyx_L4_break;
14630 }
14631
14632 /* "xmmsapi.pyx":670
14633 * if not create:
14634 * break
14635 * child_ns = xmmsc_sc_namespace_new(ns, <char *>p, <char *>doc) # <<<<<<<<<<<<<<
14636 * ns = child_ns
14637 *
14638 */
14639 __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_5) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_5) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__14639; goto __pyx_L1_error;}
14640 __pyx_t_7 = __Pyx_PyObject_AsString(__pyx_v_doc); if (unlikely((!__pyx_t_7) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_7) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__14640; goto __pyx_L1_error;}
14641 __pyx_v_child_ns = xmmsc_sc_namespace_new(__pyx_v_ns, ((char *)__pyx_t_5), ((char *)__pyx_t_7));
14642 goto __pyx_L5;
14643 }
14644 __pyx_L5:;
14645
14646 /* "xmmsapi.pyx":671
14647 * break
14648 * child_ns = xmmsc_sc_namespace_new(ns, <char *>p, <char *>doc)
14649 * ns = child_ns # <<<<<<<<<<<<<<
14650 *
14651 * return ns
14652 */
14653 __pyx_v_ns = __pyx_v_child_ns;
14654 }
14655 __pyx_L4_break:;
14656 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
14657
14658 /* "xmmsapi.pyx":673
14659 * ns = child_ns
14660 *
14661 * return ns # <<<<<<<<<<<<<<
14662 *
14663 * cdef xmmsv_t *service_method_proxy(xmmsv_t *pargs, xmmsv_t *nargs, void *udata):
14664 */
14665 __pyx_r = __pyx_v_ns;
14666 goto __pyx_L0;
14667
14668 /* "xmmsapi.pyx":657
14669 *
14670 *
14671 * cdef xmmsc_sc_namespace_t *_namespace_get(xmmsc_connection_t *c, path, bint create): # <<<<<<<<<<<<<<
14672 * cdef xmmsc_sc_namespace_t *ns
14673 * cdef xmmsc_sc_namespace_t *child_ns
14674 */
14675
14676 /* function exit code */
14677 __pyx_L1_error:;
14678 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
14679 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
;
14680 __Pyx_WriteUnraisable("xmmsapi._namespace_get", __pyx_clineno, __pyx_lineno, __pyx_filename, 0);
14681 __pyx_r = 0;
14682 __pyx_L0:;
14683 __Pyx_XDECREF(__pyx_v_p)do { if ((__pyx_v_p) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_p))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_p)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_p)))); } while (0); } while (0)
;
14684 __Pyx_XDECREF(__pyx_v_doc)do { if ((__pyx_v_doc) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_doc))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(__pyx_v_doc)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_doc)))); } while (0); } while (0)
;
14685 __Pyx_RefNannyFinishContext();
14686 return __pyx_r;
14687}
14688
14689/* "xmmsapi.pyx":675
14690 * return ns
14691 *
14692 * cdef xmmsv_t *service_method_proxy(xmmsv_t *pargs, xmmsv_t *nargs, void *udata): # <<<<<<<<<<<<<<
14693 * cdef object method
14694 * cdef XmmsValue args
14695 */
14696
14697static xmmsv_t *__pyx_f_7xmmsapi_service_method_proxy(xmmsv_t *__pyx_v_pargs, xmmsv_t *__pyx_v_nargs, void *__pyx_v_udata) {
14698 PyObject *__pyx_v_method = 0;
14699 struct __pyx_obj_9xmmsvalue_XmmsValue *__pyx_v_args = 0;
14700 struct __pyx_obj_9xmmsvalue_XmmsValue *__pyx_v_kargs = 0;
14701 xmmsv_t *__pyx_v_res;
14702 PyObject *__pyx_v_ret = NULL((void*)0);
14703 PyObject *__pyx_v_traceback = NULL((void*)0);
14704 PyObject *__pyx_v_sys = NULL((void*)0);
14705 PyObject *__pyx_v_exc = NULL((void*)0);
14706 PyObject *__pyx_v_s = NULL((void*)0);
14707 xmmsv_t *__pyx_r;
14708 __Pyx_RefNannyDeclarations
14709 PyObject *__pyx_t_1 = NULL((void*)0);
14710 PyObject *__pyx_t_2 = NULL((void*)0);
14711 PyObject *__pyx_t_3 = NULL((void*)0);
14712 PyObject *__pyx_t_4 = NULL((void*)0);
14713 PyObject *__pyx_t_5 = NULL((void*)0);
14714 PyObject *__pyx_t_6 = NULL((void*)0);
14715 xmmsv_t *__pyx_t_7;
14716 PyObject *__pyx_t_8 = NULL((void*)0);
14717 PyObject *__pyx_t_9 = NULL((void*)0);
14718 PyObject *__pyx_t_10 = NULL((void*)0);
14719 char *__pyx_t_11;
14720 int __pyx_lineno = 0;
14721 const char *__pyx_filename = NULL((void*)0);
14722 int __pyx_clineno = 0;
14723 __Pyx_RefNannySetupContext("service_method_proxy", 0);
14724
14725 /* "xmmsapi.pyx":681
14726 * cdef xmmsv_t *res
14727 *
14728 * method = <object> udata # <<<<<<<<<<<<<<
14729 * args = XmmsValue()
14730 * args.set_value(pargs)
14731 */
14732 __pyx_t_1 = ((PyObject *)__pyx_v_udata);
14733 __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++);
14734 __pyx_v_method = __pyx_t_1;
14735 __pyx_t_1 = 0;
14736
14737 /* "xmmsapi.pyx":682
14738 *
14739 * method = <object> udata
14740 * args = XmmsValue() # <<<<<<<<<<<<<<
14741 * args.set_value(pargs)
14742 * kargs = XmmsValue()
14743 */
14744 __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_9xmmsvalue_XmmsValue)), __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__14744; goto __pyx_L1_error;}
14745 __Pyx_GOTREF(__pyx_t_1);
14746 __pyx_v_args = ((struct __pyx_obj_9xmmsvalue_XmmsValue *)__pyx_t_1);
14747 __pyx_t_1 = 0;
14748
14749 /* "xmmsapi.pyx":683
14750 * method = <object> udata
14751 * args = XmmsValue()
14752 * args.set_value(pargs) # <<<<<<<<<<<<<<
14753 * kargs = XmmsValue()
14754 * kargs.set_value(nargs)
14755 */
14756 __pyx_t_1 = ((struct __pyx_vtabstruct_9xmmsvalue_XmmsValue *)__pyx_v_args->__pyx_vtab)->set_value(__pyx_v_args, __pyx_v_pargs, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__14756; goto __pyx_L1_error;}
14757 __Pyx_GOTREF(__pyx_t_1);
14758 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
14759
14760 /* "xmmsapi.pyx":684
14761 * args = XmmsValue()
14762 * args.set_value(pargs)
14763 * kargs = XmmsValue() # <<<<<<<<<<<<<<
14764 * kargs.set_value(nargs)
14765 * try:
14766 */
14767 __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_9xmmsvalue_XmmsValue)), __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __pyx_clineno = __LINE__14767; goto __pyx_L1_error;}
14768 __Pyx_GOTREF(__pyx_t_1);
14769 __pyx_v_kargs = ((struct __pyx_obj_9xmmsvalue_XmmsValue *)__pyx_t_1);
14770 __pyx_t_1 = 0;
14771
14772 /* "xmmsapi.pyx":685
14773 * args.set_value(pargs)
14774 * kargs = XmmsValue()
14775 * kargs.set_value(nargs) # <<<<<<<<<<<<<<
14776 * try:
14777 * ret = method(*args.get_list(), **kargs.get_dict())
14778 */
14779 __pyx_t_1 = ((struct __pyx_vtabstruct_9xmmsvalue_XmmsValue *)__pyx_v_kargs->__pyx_vtab)->set_value(__pyx_v_kargs, __pyx_v_nargs, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__14779; goto __pyx_L1_error;}
14780 __Pyx_GOTREF(__pyx_t_1);
14781 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
14782
14783 /* "xmmsapi.pyx":686
14784 * kargs = XmmsValue()
14785 * kargs.set_value(nargs)
14786 * try: # <<<<<<<<<<<<<<
14787 * ret = method(*args.get_list(), **kargs.get_dict())
14788 * res = create_native_value(ret)
14789 */
14790 {
14791 __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4);
14792 __Pyx_XGOTREF(__pyx_t_2);
14793 __Pyx_XGOTREF(__pyx_t_3);
14794 __Pyx_XGOTREF(__pyx_t_4);
14795 /*try:*/ {
14796
14797 /* "xmmsapi.pyx":687
14798 * kargs.set_value(nargs)
14799 * try:
14800 * ret = method(*args.get_list(), **kargs.get_dict()) # <<<<<<<<<<<<<<
14801 * res = create_native_value(ret)
14802 * except:
14803 */
14804 __pyx_t_1 = ((struct __pyx_vtabstruct_9xmmsvalue_XmmsValue *)__pyx_v_args->__pyx_vtab)->get_list(__pyx_v_args, 0); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__14804; goto __pyx_L3_error;}
14805 __Pyx_GOTREF(__pyx_t_1);
14806 __pyx_t_5 = PySequence_Tuple(__pyx_t_1); if (unlikely(!__pyx_t_5)__builtin_expect(!!(!__pyx_t_5), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__14806; goto __pyx_L3_error;}
14807 __Pyx_GOTREF(__pyx_t_5);
14808 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
14809 __pyx_t_6 = ((struct __pyx_vtabstruct_9xmmsvalue_XmmsValue *)__pyx_v_kargs->__pyx_vtab)->get_dict(__pyx_v_kargs, 0); if (unlikely(!__pyx_t_6)__builtin_expect(!!(!__pyx_t_6), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__14809; goto __pyx_L3_error;}
14810 __Pyx_GOTREF(__pyx_t_6);
14811 if (unlikely(__pyx_t_6 == Py_None)__builtin_expect(!!(__pyx_t_6 == (&_Py_NoneStruct)), 0)) {
14812 PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
14813 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__14813; goto __pyx_L3_error;}
14814 }
14815 if (likely(PyDict_Check(__pyx_t_6))__builtin_expect(!!(((((((PyObject*)(__pyx_t_6))->ob_type)
)->tp_flags & ((1L<<29))) != 0)), 1)
) {
14816 __pyx_t_1 = __pyx_t_6;
14817 __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++);
14818 } else {
14819 __pyx_t_1 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_t_6, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__14819; goto __pyx_L3_error;}
14820 __Pyx_GOTREF(__pyx_t_1);
14821 }
14822 __Pyx_DECREF(__pyx_t_6)do { if ( --((PyObject*)(__pyx_t_6))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_6)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_6)))); } while (
0)
; __pyx_t_6 = 0;
14823 __pyx_t_6 = __Pyx_PyObject_Call(__pyx_v_method, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_6)__builtin_expect(!!(!__pyx_t_6), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__14823; goto __pyx_L3_error;}
14824 __Pyx_GOTREF(__pyx_t_6);
14825 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
14826 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
14827 __pyx_v_ret = __pyx_t_6;
14828 __pyx_t_6 = 0;
14829
14830 /* "xmmsapi.pyx":688
14831 * try:
14832 * ret = method(*args.get_list(), **kargs.get_dict())
14833 * res = create_native_value(ret) # <<<<<<<<<<<<<<
14834 * except:
14835 * import traceback, sys
14836 */
14837 __pyx_t_7 = __pyx_f_9xmmsvalue_create_native_value(__pyx_v_ret); if (unlikely(__pyx_t_7 == NULL)__builtin_expect(!!(__pyx_t_7 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 688; __pyx_clineno = __LINE__14837; goto __pyx_L3_error;}
14838 __pyx_v_res = __pyx_t_7;
14839 }
14840 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
; __pyx_t_2 = 0;
14841 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
; __pyx_t_3 = 0;
14842 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
; __pyx_t_4 = 0;
14843 goto __pyx_L10_try_end;
14844 __pyx_L3_error:;
14845 __Pyx_XDECREF(__pyx_t_5)do { if ((__pyx_t_5) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_5))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_5)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_5)))); } while (0); } while (0)
; __pyx_t_5 = 0;
14846 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
; __pyx_t_1 = 0;
14847 __Pyx_XDECREF(__pyx_t_6)do { if ((__pyx_t_6) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_6))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_6)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_6)))); } while (0); } while (0)
; __pyx_t_6 = 0;
14848
14849 /* "xmmsapi.pyx":689
14850 * ret = method(*args.get_list(), **kargs.get_dict())
14851 * res = create_native_value(ret)
14852 * except: # <<<<<<<<<<<<<<
14853 * import traceback, sys
14854 * exc = sys.exc_info()
14855 */
14856 /*except:*/ {
14857 __Pyx_AddTraceback("xmmsapi.service_method_proxy", __pyx_clineno, __pyx_lineno, __pyx_filename);
14858 if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_1, &__pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__14858; goto __pyx_L5_except_error;}
14859 __Pyx_GOTREF(__pyx_t_6);
14860 __Pyx_GOTREF(__pyx_t_1);
14861 __Pyx_GOTREF(__pyx_t_5);
14862
14863 /* "xmmsapi.pyx":690
14864 * res = create_native_value(ret)
14865 * except:
14866 * import traceback, sys # <<<<<<<<<<<<<<
14867 * exc = sys.exc_info()
14868 * traceback.print_exception(*exc)
14869 */
14870 __pyx_t_8 = __Pyx_Import(__pyx_n_s_traceback, 0, -1); if (unlikely(!__pyx_t_8)__builtin_expect(!!(!__pyx_t_8), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__14870; goto __pyx_L5_except_error;}
14871 __Pyx_GOTREF(__pyx_t_8);
14872 __pyx_v_traceback = __pyx_t_8;
14873 __pyx_t_8 = 0;
14874 __pyx_t_8 = __Pyx_Import(__pyx_n_s_sys, 0, -1); if (unlikely(!__pyx_t_8)__builtin_expect(!!(!__pyx_t_8), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 690; __pyx_clineno = __LINE__14874; goto __pyx_L5_except_error;}
14875 __Pyx_GOTREF(__pyx_t_8);
14876 __pyx_v_sys = __pyx_t_8;
14877 __pyx_t_8 = 0;
14878
14879 /* "xmmsapi.pyx":691
14880 * except:
14881 * import traceback, sys
14882 * exc = sys.exc_info() # <<<<<<<<<<<<<<
14883 * traceback.print_exception(*exc)
14884 * s = from_unicode("%s"%exc[1])
14885 */
14886 __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_sys, __pyx_n_s_exc_info); if (unlikely(!__pyx_t_8)__builtin_expect(!!(!__pyx_t_8), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__14886; goto __pyx_L5_except_error;}
14887 __Pyx_GOTREF(__pyx_t_8);
14888 __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_9)__builtin_expect(!!(!__pyx_t_9), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 691; __pyx_clineno = __LINE__14888; goto __pyx_L5_except_error;}
14889 __Pyx_GOTREF(__pyx_t_9);
14890 __Pyx_DECREF(__pyx_t_8)do { if ( --((PyObject*)(__pyx_t_8))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_8)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_8)))); } while (
0)
; __pyx_t_8 = 0;
14891 __pyx_v_exc = __pyx_t_9;
14892 __pyx_t_9 = 0;
14893
14894 /* "xmmsapi.pyx":692
14895 * import traceback, sys
14896 * exc = sys.exc_info()
14897 * traceback.print_exception(*exc) # <<<<<<<<<<<<<<
14898 * s = from_unicode("%s"%exc[1])
14899 * res = xmmsv_new_error(<char *>s)
14900 */
14901 __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_traceback, __pyx_n_s_print_exception); if (unlikely(!__pyx_t_9)__builtin_expect(!!(!__pyx_t_9), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__14901; goto __pyx_L5_except_error;}
14902 __Pyx_GOTREF(__pyx_t_9);
14903 __pyx_t_8 = PySequence_Tuple(__pyx_v_exc); if (unlikely(!__pyx_t_8)__builtin_expect(!!(!__pyx_t_8), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__14903; goto __pyx_L5_except_error;}
14904 __Pyx_GOTREF(__pyx_t_8);
14905 __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL((void*)0)); if (unlikely(!__pyx_t_10)__builtin_expect(!!(!__pyx_t_10), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__14905; goto __pyx_L5_except_error;}
14906 __Pyx_GOTREF(__pyx_t_10);
14907 __Pyx_DECREF(__pyx_t_9)do { if ( --((PyObject*)(__pyx_t_9))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_9)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_9)))); } while (
0)
; __pyx_t_9 = 0;
14908 __Pyx_DECREF(__pyx_t_8)do { if ( --((PyObject*)(__pyx_t_8))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_8)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_8)))); } while (
0)
; __pyx_t_8 = 0;
14909 __Pyx_DECREF(__pyx_t_10)do { if ( --((PyObject*)(__pyx_t_10))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_10)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_10)))); } while
(0)
; __pyx_t_10 = 0;
14910
14911 /* "xmmsapi.pyx":693
14912 * exc = sys.exc_info()
14913 * traceback.print_exception(*exc)
14914 * s = from_unicode("%s"%exc[1]) # <<<<<<<<<<<<<<
14915 * res = xmmsv_new_error(<char *>s)
14916 * return res
14917 */
14918 __pyx_t_10 = __Pyx_GetItemInt(__pyx_v_exc, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1)(( (sizeof(long) < sizeof(Py_ssize_t)) || (sizeof(long) >
sizeof(Py_ssize_t) && __builtin_expect(!!(1 < (long
)((Py_ssize_t)(((size_t)-1)>>1)) || 1 == (long)((Py_ssize_t
)(((size_t)-1)>>1))), 1) && (!1 || __builtin_expect
(!!(1 > (long)(-((Py_ssize_t)(((size_t)-1)>>1))-1) ||
1 == (long)(-((Py_ssize_t)(((size_t)-1)>>1))-1)), 1)))
|| (sizeof(long) == sizeof(Py_ssize_t) && (1 || __builtin_expect
(!!(1 < (long)((Py_ssize_t)(((size_t)-1)>>1)) || 1 ==
(long)((Py_ssize_t)(((size_t)-1)>>1))), 1))) ) ? __Pyx_GetItemInt_Fast
(__pyx_v_exc, (Py_ssize_t)1, 0, 0, 1) : (0 ? (PyErr_SetString
(PyExc_IndexError, "list index out of range"), (PyObject*)((void
*)0)) : __Pyx_GetItemInt_Generic(__pyx_v_exc, __Pyx_PyInt_From_long
(1))))
; if (unlikely(__pyx_t_10 == NULL)__builtin_expect(!!(__pyx_t_10 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__14918; goto __pyx_L5_except_error;};
14919 __Pyx_GOTREF(__pyx_t_10);
14920 __pyx_t_8 = __Pyx_PyString_Format(__pyx_kp_s_s, __pyx_t_10)PyString_Format(__pyx_kp_s_s, __pyx_t_10); if (unlikely(!__pyx_t_8)__builtin_expect(!!(!__pyx_t_8), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__14920; goto __pyx_L5_except_error;}
14921 __Pyx_GOTREF(__pyx_t_8);
14922 __Pyx_DECREF(__pyx_t_10)do { if ( --((PyObject*)(__pyx_t_10))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_10)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_10)))); } while
(0)
; __pyx_t_10 = 0;
14923 __pyx_t_10 = __pyx_f_9xmmsutils_from_unicode(__pyx_t_8); if (unlikely(!__pyx_t_10)__builtin_expect(!!(!__pyx_t_10), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__14923; goto __pyx_L5_except_error;}
14924 __Pyx_GOTREF(__pyx_t_10);
14925 __Pyx_DECREF(__pyx_t_8)do { if ( --((PyObject*)(__pyx_t_8))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_8)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_8)))); } while (
0)
; __pyx_t_8 = 0;
14926 __pyx_v_s = __pyx_t_10;
14927 __pyx_t_10 = 0;
14928
14929 /* "xmmsapi.pyx":694
14930 * traceback.print_exception(*exc)
14931 * s = from_unicode("%s"%exc[1])
14932 * res = xmmsv_new_error(<char *>s) # <<<<<<<<<<<<<<
14933 * return res
14934 *
14935 */
14936 __pyx_t_11 = __Pyx_PyObject_AsString(__pyx_v_s); if (unlikely((!__pyx_t_11) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_11) && PyErr_Occurred()
), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__14936; goto __pyx_L5_except_error;}
14937 __pyx_v_res = xmmsv_new_error(((char *)__pyx_t_11));
14938 __Pyx_DECREF(__pyx_t_6)do { if ( --((PyObject*)(__pyx_t_6))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_6)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_6)))); } while (
0)
; __pyx_t_6 = 0;
14939 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
14940 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
14941 goto __pyx_L4_exception_handled;
14942 }
14943 __pyx_L5_except_error:;
14944 __Pyx_XGIVEREF(__pyx_t_2);
14945 __Pyx_XGIVEREF(__pyx_t_3);
14946 __Pyx_XGIVEREF(__pyx_t_4);
14947 __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
14948 goto __pyx_L1_error;
14949 __pyx_L4_exception_handled:;
14950 __Pyx_XGIVEREF(__pyx_t_2);
14951 __Pyx_XGIVEREF(__pyx_t_3);
14952 __Pyx_XGIVEREF(__pyx_t_4);
14953 __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
14954 __pyx_L10_try_end:;
14955 }
14956
14957 /* "xmmsapi.pyx":695
14958 * s = from_unicode("%s"%exc[1])
14959 * res = xmmsv_new_error(<char *>s)
14960 * return res # <<<<<<<<<<<<<<
14961 *
14962 *
14963 */
14964 __pyx_r = __pyx_v_res;
14965 goto __pyx_L0;
14966
14967 /* "xmmsapi.pyx":675
14968 * return ns
14969 *
14970 * cdef xmmsv_t *service_method_proxy(xmmsv_t *pargs, xmmsv_t *nargs, void *udata): # <<<<<<<<<<<<<<
14971 * cdef object method
14972 * cdef XmmsValue args
14973 */
14974
14975 /* function exit code */
14976 __pyx_L1_error:;
14977 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
14978 __Pyx_XDECREF(__pyx_t_5)do { if ((__pyx_t_5) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_5))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_5)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_5)))); } while (0); } while (0)
;
14979 __Pyx_XDECREF(__pyx_t_6)do { if ((__pyx_t_6) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_6))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_6)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_6)))); } while (0); } while (0)
;
14980 __Pyx_XDECREF(__pyx_t_8)do { if ((__pyx_t_8) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_8))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_8)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_8)))); } while (0); } while (0)
;
14981 __Pyx_XDECREF(__pyx_t_9)do { if ((__pyx_t_9) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_9))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_9)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_9)))); } while (0); } while (0)
;
14982 __Pyx_XDECREF(__pyx_t_10)do { if ((__pyx_t_10) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_10))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_t_10)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_10)))); } while (0); } while (0)
;
14983 __Pyx_WriteUnraisable("xmmsapi.service_method_proxy", __pyx_clineno, __pyx_lineno, __pyx_filename, 0);
14984 __pyx_r = 0;
14985 __pyx_L0:;
14986 __Pyx_XDECREF(__pyx_v_method)do { if ((__pyx_v_method) == ((void*)0)) ; else do { if ( --(
(PyObject*)(__pyx_v_method))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(__pyx_v_method)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_method)))); } while
(0); } while (0)
;
14987 __Pyx_XDECREF((PyObject *)__pyx_v_args)do { if (((PyObject *)__pyx_v_args) == ((void*)0)) ; else do {
if ( --((PyObject*)((PyObject *)__pyx_v_args))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)((PyObject *)__pyx_v_args
)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)((PyObject
*)__pyx_v_args)))); } while (0); } while (0)
;
14988 __Pyx_XDECREF((PyObject *)__pyx_v_kargs)do { if (((PyObject *)__pyx_v_kargs) == ((void*)0)) ; else do
{ if ( --((PyObject*)((PyObject *)__pyx_v_kargs))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)((PyObject *)__pyx_v_kargs
)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)((PyObject
*)__pyx_v_kargs)))); } while (0); } while (0)
;
14989 __Pyx_XDECREF(__pyx_v_ret)do { if ((__pyx_v_ret) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_ret))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(__pyx_v_ret)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_ret)))); } while (0); } while (0)
;
14990 __Pyx_XDECREF(__pyx_v_traceback)do { if ((__pyx_v_traceback) == ((void*)0)) ; else do { if ( --
((PyObject*)(__pyx_v_traceback))->ob_refcnt != 0) ; else (
(*(((PyObject*)((PyObject *)(__pyx_v_traceback)))->ob_type
)->tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_traceback
)))); } while (0); } while (0)
;
14991 __Pyx_XDECREF(__pyx_v_sys)do { if ((__pyx_v_sys) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_sys))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(__pyx_v_sys)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_sys)))); } while (0); } while (0)
;
14992 __Pyx_XDECREF(__pyx_v_exc)do { if ((__pyx_v_exc) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_exc))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(__pyx_v_exc)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_exc)))); } while (0); } while (0)
;
14993 __Pyx_XDECREF(__pyx_v_s)do { if ((__pyx_v_s) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_s))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_s)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_s)))); } while (0); } while (0)
;
14994 __Pyx_RefNannyFinishContext();
14995 return __pyx_r;
14996}
14997
14998/* "xmmsapi.pyx":699
14999 *
15000 * cdef class client_broadcast:
15001 * def __cinit__(self, _XmmsServiceClient parent, name, docstring): # <<<<<<<<<<<<<<
15002 * if not parent._async:
15003 * raise RuntimeError("Broadcast is available only on asynchronous connections")
15004 */
15005
15006/* Python wrapper */
15007static int __pyx_pw_7xmmsapi_16client_broadcast_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
15008static int __pyx_pw_7xmmsapi_16client_broadcast_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
15009 struct __pyx_obj_7xmmsapi__XmmsServiceClient *__pyx_v_parent = 0;
15010 PyObject *__pyx_v_name = 0;
15011 PyObject *__pyx_v_docstring = 0;
15012 int __pyx_lineno = 0;
15013 const char *__pyx_filename = NULL((void*)0);
15014 int __pyx_clineno = 0;
15015 int __pyx_r;
15016 __Pyx_RefNannyDeclarations
15017 __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
15018 {
15019 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_parent,&__pyx_n_s_name_2,&__pyx_n_s_docstring,0};
15020 PyObject* values[3] = {0,0,0};
15021 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
15022 Py_ssize_t kw_args;
15023 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
15024 switch (pos_args) {
15025 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
15026 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
15027 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
15028 case 0: break;
15029 default: goto __pyx_L5_argtuple_error;
15030 }
15031 kw_args = PyDict_Size(__pyx_kwds);
15032 switch (pos_args) {
15033 case 0:
15034 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_parent)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_parent
)) != 0), 1)
) kw_args--;
15035 else goto __pyx_L5_argtuple_error;
15036 case 1:
15037 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name_2)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name_2
)) != 0), 1)
) kw_args--;
15038 else {
15039 __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__15039; goto __pyx_L3_error;}
15040 }
15041 case 2:
15042 if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_docstring)) != 0)__builtin_expect(!!((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_docstring
)) != 0), 1)
) kw_args--;
15043 else {
15044 __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__15044; goto __pyx_L3_error;}
15045 }
15046 }
15047 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
15048 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "__cinit__") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__15048; goto __pyx_L3_error;}
15049 }
15050 } else if (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size) != 3) {
15051 goto __pyx_L5_argtuple_error;
15052 } else {
15053 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
15054 values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
15055 values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
15056 }
15057 __pyx_v_parent = ((struct __pyx_obj_7xmmsapi__XmmsServiceClient *)values[0]);
15058 __pyx_v_name = values[1];
15059 __pyx_v_docstring = values[2];
15060 }
15061 goto __pyx_L4_argument_unpacking_done;
15062 __pyx_L5_argtuple_error:;
15063 __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__15063; goto __pyx_L3_error;}
15064 __pyx_L3_error:;
15065 __Pyx_AddTraceback("xmmsapi.client_broadcast.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
15066 __Pyx_RefNannyFinishContext();
15067 return -1;
15068 __pyx_L4_argument_unpacking_done:;
15069 if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_parent), __pyx_ptype_7xmmsapi__XmmsServiceClient, 1, "parent", 0))__builtin_expect(!!(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_parent
), __pyx_ptype_7xmmsapi__XmmsServiceClient, 1, "parent", 0)),
0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__15069; goto __pyx_L1_error;}
15070 __pyx_r = __pyx_pf_7xmmsapi_16client_broadcast___cinit__(((struct __pyx_obj_7xmmsapi_client_broadcast *)__pyx_v_self), __pyx_v_parent, __pyx_v_name, __pyx_v_docstring);
15071
15072 /* function exit code */
15073 goto __pyx_L0;
15074 __pyx_L1_error:;
15075 __pyx_r = -1;
15076 __pyx_L0:;
15077 __Pyx_RefNannyFinishContext();
15078 return __pyx_r;
15079}
15080
15081static int __pyx_pf_7xmmsapi_16client_broadcast___cinit__(struct __pyx_obj_7xmmsapi_client_broadcast *__pyx_v_self, struct __pyx_obj_7xmmsapi__XmmsServiceClient *__pyx_v_parent, PyObject *__pyx_v_name, PyObject *__pyx_v_docstring) {
15082 int __pyx_r;
15083 __Pyx_RefNannyDeclarations
15084 int __pyx_t_1;
15085 PyObject *__pyx_t_2 = NULL((void*)0);
15086 int __pyx_t_3;
15087 PyObject *__pyx_t_4 = NULL((void*)0);
15088 int __pyx_lineno = 0;
15089 const char *__pyx_filename = NULL((void*)0);
15090 int __pyx_clineno = 0;
15091 __Pyx_RefNannySetupContext("__cinit__", 0);
15092
15093 /* "xmmsapi.pyx":700
15094 * cdef class client_broadcast:
15095 * def __cinit__(self, _XmmsServiceClient parent, name, docstring):
15096 * if not parent._async: # <<<<<<<<<<<<<<
15097 * raise RuntimeError("Broadcast is available only on asynchronous connections")
15098 * self._xmms = parent._xmms
15099 */
15100 __pyx_t_1 = ((!(__pyx_v_parent->_async != 0)) != 0);
15101 if (__pyx_t_1) {
15102
15103 /* "xmmsapi.pyx":701
15104 * def __cinit__(self, _XmmsServiceClient parent, name, docstring):
15105 * if not parent._async:
15106 * raise RuntimeError("Broadcast is available only on asynchronous connections") # <<<<<<<<<<<<<<
15107 * self._xmms = parent._xmms
15108 * self._clientid = parent._clientid
15109 */
15110 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__30, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__15110; goto __pyx_L1_error;}
15111 __Pyx_GOTREF(__pyx_t_2);
15112 __Pyx_Raise(__pyx_t_2, 0, 0, 0);
15113 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
15114 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__15114; goto __pyx_L1_error;}
15115 }
15116
15117 /* "xmmsapi.pyx":702
15118 * if not parent._async:
15119 * raise RuntimeError("Broadcast is available only on asynchronous connections")
15120 * self._xmms = parent._xmms # <<<<<<<<<<<<<<
15121 * self._clientid = parent._clientid
15122 * self._path = parent._path + (name,)
15123 */
15124 __pyx_t_2 = ((PyObject *)__pyx_v_parent->_xmms);
15125 __Pyx_INCREF(__pyx_t_2)( ((PyObject*)(__pyx_t_2))->ob_refcnt++);
15126 __Pyx_GIVEREF(__pyx_t_2);
15127 __Pyx_GOTREF(__pyx_v_self->_xmms);
15128 __Pyx_DECREF(((PyObject *)__pyx_v_self->_xmms))do { if ( --((PyObject*)(((PyObject *)__pyx_v_self->_xmms)
))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(
((PyObject *)__pyx_v_self->_xmms))))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(((PyObject *)__pyx_v_self->_xmms
))))); } while (0)
;
15129 __pyx_v_self->_xmms = ((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_t_2);
15130 __pyx_t_2 = 0;
15131
15132 /* "xmmsapi.pyx":703
15133 * raise RuntimeError("Broadcast is available only on asynchronous connections")
15134 * self._xmms = parent._xmms
15135 * self._clientid = parent._clientid # <<<<<<<<<<<<<<
15136 * self._path = parent._path + (name,)
15137 * self.name = name
15138 */
15139 __pyx_t_3 = __pyx_v_parent->_clientid;
15140 __pyx_v_self->_clientid = __pyx_t_3;
15141
15142 /* "xmmsapi.pyx":704
15143 * self._xmms = parent._xmms
15144 * self._clientid = parent._clientid
15145 * self._path = parent._path + (name,) # <<<<<<<<<<<<<<
15146 * self.name = name
15147 * self.docstring = docstring
15148 */
15149 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__15149; goto __pyx_L1_error;}
15150 __Pyx_GOTREF(__pyx_t_2);
15151 __Pyx_INCREF(__pyx_v_name)( ((PyObject*)(__pyx_v_name))->ob_refcnt++);
15152 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_name)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_name
)
;
15153 __Pyx_GIVEREF(__pyx_v_name);
15154 __pyx_t_4 = PyNumber_Add(__pyx_v_parent->_path, __pyx_t_2); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__15154; goto __pyx_L1_error;}
15155 __Pyx_GOTREF(__pyx_t_4);
15156 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
15157 __Pyx_GIVEREF(__pyx_t_4);
15158 __Pyx_GOTREF(__pyx_v_self->_path);
15159 __Pyx_DECREF(__pyx_v_self->_path)do { if ( --((PyObject*)(__pyx_v_self->_path))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)(__pyx_v_self->
_path)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *
)(__pyx_v_self->_path)))); } while (0)
;
15160 __pyx_v_self->_path = __pyx_t_4;
15161 __pyx_t_4 = 0;
15162
15163 /* "xmmsapi.pyx":705
15164 * self._clientid = parent._clientid
15165 * self._path = parent._path + (name,)
15166 * self.name = name # <<<<<<<<<<<<<<
15167 * self.docstring = docstring
15168 *
15169 */
15170 __Pyx_INCREF(__pyx_v_name)( ((PyObject*)(__pyx_v_name))->ob_refcnt++);
15171 __Pyx_GIVEREF(__pyx_v_name);
15172 __Pyx_GOTREF(__pyx_v_self->name);
15173 __Pyx_DECREF(__pyx_v_self->name)do { if ( --((PyObject*)(__pyx_v_self->name))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)(__pyx_v_self->
name)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *
)(__pyx_v_self->name)))); } while (0)
;
15174 __pyx_v_self->name = __pyx_v_name;
15175
15176 /* "xmmsapi.pyx":706
15177 * self._path = parent._path + (name,)
15178 * self.name = name
15179 * self.docstring = docstring # <<<<<<<<<<<<<<
15180 *
15181 * def subscribe(self, cb = None):
15182 */
15183 __Pyx_INCREF(__pyx_v_docstring)( ((PyObject*)(__pyx_v_docstring))->ob_refcnt++);
15184 __Pyx_GIVEREF(__pyx_v_docstring);
15185 __Pyx_GOTREF(__pyx_v_self->docstring);
15186 __Pyx_DECREF(__pyx_v_self->docstring)do { if ( --((PyObject*)(__pyx_v_self->docstring))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)(__pyx_v_self->
docstring)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_v_self->docstring)))); } while (0)
;
15187 __pyx_v_self->docstring = __pyx_v_docstring;
15188
15189 /* "xmmsapi.pyx":699
15190 *
15191 * cdef class client_broadcast:
15192 * def __cinit__(self, _XmmsServiceClient parent, name, docstring): # <<<<<<<<<<<<<<
15193 * if not parent._async:
15194 * raise RuntimeError("Broadcast is available only on asynchronous connections")
15195 */
15196
15197 /* function exit code */
15198 __pyx_r = 0;
15199 goto __pyx_L0;
15200 __pyx_L1_error:;
15201 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
15202 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
;
15203 __Pyx_AddTraceback("xmmsapi.client_broadcast.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
15204 __pyx_r = -1;
15205 __pyx_L0:;
15206 __Pyx_RefNannyFinishContext();
15207 return __pyx_r;
15208}
15209
15210/* "xmmsapi.pyx":708
15211 * self.docstring = docstring
15212 *
15213 * def subscribe(self, cb = None): # <<<<<<<<<<<<<<
15214 * return self._xmms.sc_broadcast_subscribe(self._clientid, self._path, cb = cb)
15215 *
15216 */
15217
15218/* Python wrapper */
15219static PyObject *__pyx_pw_7xmmsapi_16client_broadcast_3subscribe(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
15220static char __pyx_doc_7xmmsapi_16client_broadcast_2subscribe[] = "client_broadcast.subscribe(self, cb=None)";
15221static PyObject *__pyx_pw_7xmmsapi_16client_broadcast_3subscribe(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
15222 PyObject *__pyx_v_cb = 0;
15223 int __pyx_lineno = 0;
15224 const char *__pyx_filename = NULL((void*)0);
15225 int __pyx_clineno = 0;
15226 PyObject *__pyx_r = 0;
15227 __Pyx_RefNannyDeclarations
15228 __Pyx_RefNannySetupContext("subscribe (wrapper)", 0);
15229 {
15230 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
15231 PyObject* values[1] = {0};
15232 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
15233 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
15234 Py_ssize_t kw_args;
15235 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
15236 switch (pos_args) {
15237 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
15238 case 0: break;
15239 default: goto __pyx_L5_argtuple_error;
15240 }
15241 kw_args = PyDict_Size(__pyx_kwds);
15242 switch (pos_args) {
15243 case 0:
15244 if (kw_args > 0) {
15245 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
15246 if (value) { values[0] = value; kw_args--; }
15247 }
15248 }
15249 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
15250 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "subscribe") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "subscribe") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__15250; goto __pyx_L3_error;}
15251 }
15252 } else {
15253 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
15254 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
15255 case 0: break;
15256 default: goto __pyx_L5_argtuple_error;
15257 }
15258 }
15259 __pyx_v_cb = values[0];
15260 }
15261 goto __pyx_L4_argument_unpacking_done;
15262 __pyx_L5_argtuple_error:;
15263 __Pyx_RaiseArgtupleInvalid("subscribe", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 708; __pyx_clineno = __LINE__15263; goto __pyx_L3_error;}
15264 __pyx_L3_error:;
15265 __Pyx_AddTraceback("xmmsapi.client_broadcast.subscribe", __pyx_clineno, __pyx_lineno, __pyx_filename);
15266 __Pyx_RefNannyFinishContext();
15267 return NULL((void*)0);
15268 __pyx_L4_argument_unpacking_done:;
15269 __pyx_r = __pyx_pf_7xmmsapi_16client_broadcast_2subscribe(((struct __pyx_obj_7xmmsapi_client_broadcast *)__pyx_v_self), __pyx_v_cb);
15270
15271 /* function exit code */
15272 __Pyx_RefNannyFinishContext();
15273 return __pyx_r;
15274}
15275
15276static PyObject *__pyx_pf_7xmmsapi_16client_broadcast_2subscribe(struct __pyx_obj_7xmmsapi_client_broadcast *__pyx_v_self, PyObject *__pyx_v_cb) {
15277 PyObject *__pyx_r = NULL((void*)0);
15278 __Pyx_RefNannyDeclarations
15279 PyObject *__pyx_t_1 = NULL((void*)0);
15280 PyObject *__pyx_t_2 = NULL((void*)0);
15281 PyObject *__pyx_t_3 = NULL((void*)0);
15282 PyObject *__pyx_t_4 = NULL((void*)0);
15283 int __pyx_lineno = 0;
15284 const char *__pyx_filename = NULL((void*)0);
15285 int __pyx_clineno = 0;
15286 __Pyx_RefNannySetupContext("subscribe", 0);
15287
15288 /* "xmmsapi.pyx":709
15289 *
15290 * def subscribe(self, cb = None):
15291 * return self._xmms.sc_broadcast_subscribe(self._clientid, self._path, cb = cb) # <<<<<<<<<<<<<<
15292 *
15293 * def __call__(self, cb = None):
15294 */
15295 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
15296 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->_xmms), __pyx_n_s_sc_broadcast_subscribe); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__15296; goto __pyx_L1_error;}
15297 __Pyx_GOTREF(__pyx_t_1);
15298 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_self->_clientid); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__15298; goto __pyx_L1_error;}
15299 __Pyx_GOTREF(__pyx_t_2);
15300 __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__15300; goto __pyx_L1_error;}
15301 __Pyx_GOTREF(__pyx_t_3);
15302 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
15303 __Pyx_GIVEREF(__pyx_t_2);
15304 __Pyx_INCREF(__pyx_v_self->_path)( ((PyObject*)(__pyx_v_self->_path))->ob_refcnt++);
15305 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_self->_path)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_self
->_path)
;
15306 __Pyx_GIVEREF(__pyx_v_self->_path);
15307 __pyx_t_2 = 0;
15308 __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__15308; goto __pyx_L1_error;}
15309 __Pyx_GOTREF(__pyx_t_2);
15310 if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_cb, __pyx_v_cb) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__15310; goto __pyx_L1_error;}
15311 __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 709; __pyx_clineno = __LINE__15311; goto __pyx_L1_error;}
15312 __Pyx_GOTREF(__pyx_t_4);
15313 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
15314 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
15315 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
15316 __pyx_r = __pyx_t_4;
15317 __pyx_t_4 = 0;
15318 goto __pyx_L0;
15319
15320 /* "xmmsapi.pyx":708
15321 * self.docstring = docstring
15322 *
15323 * def subscribe(self, cb = None): # <<<<<<<<<<<<<<
15324 * return self._xmms.sc_broadcast_subscribe(self._clientid, self._path, cb = cb)
15325 *
15326 */
15327
15328 /* function exit code */
15329 __pyx_L1_error:;
15330 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
15331 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
15332 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
15333 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
;
15334 __Pyx_AddTraceback("xmmsapi.client_broadcast.subscribe", __pyx_clineno, __pyx_lineno, __pyx_filename);
15335 __pyx_r = NULL((void*)0);
15336 __pyx_L0:;
15337 __Pyx_XGIVEREF(__pyx_r);
15338 __Pyx_RefNannyFinishContext();
15339 return __pyx_r;
15340}
15341
15342/* "xmmsapi.pyx":711
15343 * return self._xmms.sc_broadcast_subscribe(self._clientid, self._path, cb = cb)
15344 *
15345 * def __call__(self, cb = None): # <<<<<<<<<<<<<<
15346 * return self.subscribe(cb = cb)
15347 *
15348 */
15349
15350/* Python wrapper */
15351static PyObject *__pyx_pw_7xmmsapi_16client_broadcast_5__call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
15352static PyObject *__pyx_pw_7xmmsapi_16client_broadcast_5__call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
15353 PyObject *__pyx_v_cb = 0;
15354 int __pyx_lineno = 0;
15355 const char *__pyx_filename = NULL((void*)0);
15356 int __pyx_clineno = 0;
15357 PyObject *__pyx_r = 0;
15358 __Pyx_RefNannyDeclarations
15359 __Pyx_RefNannySetupContext("__call__ (wrapper)", 0);
15360 {
15361 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
15362 PyObject* values[1] = {0};
15363 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
15364 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
15365 Py_ssize_t kw_args;
15366 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
15367 switch (pos_args) {
15368 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
15369 case 0: break;
15370 default: goto __pyx_L5_argtuple_error;
15371 }
15372 kw_args = PyDict_Size(__pyx_kwds);
15373 switch (pos_args) {
15374 case 0:
15375 if (kw_args > 0) {
15376 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
15377 if (value) { values[0] = value; kw_args--; }
15378 }
15379 }
15380 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
15381 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__call__") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "__call__") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__15381; goto __pyx_L3_error;}
15382 }
15383 } else {
15384 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
15385 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
15386 case 0: break;
15387 default: goto __pyx_L5_argtuple_error;
15388 }
15389 }
15390 __pyx_v_cb = values[0];
15391 }
15392 goto __pyx_L4_argument_unpacking_done;
15393 __pyx_L5_argtuple_error:;
15394 __Pyx_RaiseArgtupleInvalid("__call__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __pyx_clineno = __LINE__15394; goto __pyx_L3_error;}
15395 __pyx_L3_error:;
15396 __Pyx_AddTraceback("xmmsapi.client_broadcast.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename);
15397 __Pyx_RefNannyFinishContext();
15398 return NULL((void*)0);
15399 __pyx_L4_argument_unpacking_done:;
15400 __pyx_r = __pyx_pf_7xmmsapi_16client_broadcast_4__call__(((struct __pyx_obj_7xmmsapi_client_broadcast *)__pyx_v_self), __pyx_v_cb);
15401
15402 /* function exit code */
15403 __Pyx_RefNannyFinishContext();
15404 return __pyx_r;
15405}
15406
15407static PyObject *__pyx_pf_7xmmsapi_16client_broadcast_4__call__(struct __pyx_obj_7xmmsapi_client_broadcast *__pyx_v_self, PyObject *__pyx_v_cb) {
15408 PyObject *__pyx_r = NULL((void*)0);
15409 __Pyx_RefNannyDeclarations
15410 PyObject *__pyx_t_1 = NULL((void*)0);
15411 PyObject *__pyx_t_2 = NULL((void*)0);
15412 PyObject *__pyx_t_3 = NULL((void*)0);
15413 int __pyx_lineno = 0;
15414 const char *__pyx_filename = NULL((void*)0);
15415 int __pyx_clineno = 0;
15416 __Pyx_RefNannySetupContext("__call__", 0);
15417
15418 /* "xmmsapi.pyx":712
15419 *
15420 * def __call__(self, cb = None):
15421 * return self.subscribe(cb = cb) # <<<<<<<<<<<<<<
15422 *
15423 * def __repr__(self):
15424 */
15425 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
15426 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_subscribe); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__15426; goto __pyx_L1_error;}
15427 __Pyx_GOTREF(__pyx_t_1);
15428 __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__15428; goto __pyx_L1_error;}
15429 __Pyx_GOTREF(__pyx_t_2);
15430 if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_cb, __pyx_v_cb) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__15430; goto __pyx_L1_error;}
15431 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 712; __pyx_clineno = __LINE__15431; goto __pyx_L1_error;}
15432 __Pyx_GOTREF(__pyx_t_3);
15433 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
15434 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
15435 __pyx_r = __pyx_t_3;
15436 __pyx_t_3 = 0;
15437 goto __pyx_L0;
15438
15439 /* "xmmsapi.pyx":711
15440 * return self._xmms.sc_broadcast_subscribe(self._clientid, self._path, cb = cb)
15441 *
15442 * def __call__(self, cb = None): # <<<<<<<<<<<<<<
15443 * return self.subscribe(cb = cb)
15444 *
15445 */
15446
15447 /* function exit code */
15448 __pyx_L1_error:;
15449 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
15450 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
15451 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
15452 __Pyx_AddTraceback("xmmsapi.client_broadcast.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename);
15453 __pyx_r = NULL((void*)0);
15454 __pyx_L0:;
15455 __Pyx_XGIVEREF(__pyx_r);
15456 __Pyx_RefNannyFinishContext();
15457 return __pyx_r;
15458}
15459
15460/* "xmmsapi.pyx":714
15461 * return self.subscribe(cb = cb)
15462 *
15463 * def __repr__(self): # <<<<<<<<<<<<<<
15464 * return "<broadcast '%s' on client #%d>" % (".".join(self._path), self._clientid)
15465 *
15466 */
15467
15468/* Python wrapper */
15469static PyObject *__pyx_pw_7xmmsapi_16client_broadcast_7__repr__(PyObject *__pyx_v_self); /*proto*/
15470static PyObject *__pyx_pw_7xmmsapi_16client_broadcast_7__repr__(PyObject *__pyx_v_self) {
15471 PyObject *__pyx_r = 0;
15472 __Pyx_RefNannyDeclarations
15473 __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
15474 __pyx_r = __pyx_pf_7xmmsapi_16client_broadcast_6__repr__(((struct __pyx_obj_7xmmsapi_client_broadcast *)__pyx_v_self));
15475
15476 /* function exit code */
15477 __Pyx_RefNannyFinishContext();
15478 return __pyx_r;
15479}
15480
15481static PyObject *__pyx_pf_7xmmsapi_16client_broadcast_6__repr__(struct __pyx_obj_7xmmsapi_client_broadcast *__pyx_v_self) {
15482 PyObject *__pyx_r = NULL((void*)0);
15483 __Pyx_RefNannyDeclarations
15484 PyObject *__pyx_t_1 = NULL((void*)0);
15485 PyObject *__pyx_t_2 = NULL((void*)0);
15486 PyObject *__pyx_t_3 = NULL((void*)0);
15487 int __pyx_lineno = 0;
15488 const char *__pyx_filename = NULL((void*)0);
15489 int __pyx_clineno = 0;
15490 __Pyx_RefNannySetupContext("__repr__", 0);
15491
15492 /* "xmmsapi.pyx":715
15493 *
15494 * def __repr__(self):
15495 * return "<broadcast '%s' on client #%d>" % (".".join(self._path), self._clientid) # <<<<<<<<<<<<<<
15496 *
15497 *
15498 */
15499 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
15500 __pyx_t_1 = __pyx_v_self->_path;
15501 __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++);
15502 __pyx_t_2 = __Pyx_PyString_Join_PyString_Join(__pyx_kp_s__31, __pyx_t_1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__15502; goto __pyx_L1_error;}
15503 __Pyx_GOTREF(__pyx_t_2);
15504 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
15505 __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_clientid); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__15505; goto __pyx_L1_error;}
15506 __Pyx_GOTREF(__pyx_t_1);
15507 __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__15507; goto __pyx_L1_error;}
15508 __Pyx_GOTREF(__pyx_t_3);
15509 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
15510 __Pyx_GIVEREF(__pyx_t_2);
15511 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_t_1);
15512 __Pyx_GIVEREF(__pyx_t_1);
15513 __pyx_t_2 = 0;
15514 __pyx_t_1 = 0;
15515 __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_broadcast_s_on_client_d, __pyx_t_3)PyString_Format(__pyx_kp_s_broadcast_s_on_client_d, __pyx_t_3
)
; if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__15515; goto __pyx_L1_error;}
15516 __Pyx_GOTREF(__pyx_t_1);
15517 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
15518 __pyx_r = __pyx_t_1;
15519 __pyx_t_1 = 0;
15520 goto __pyx_L0;
15521
15522 /* "xmmsapi.pyx":714
15523 * return self.subscribe(cb = cb)
15524 *
15525 * def __repr__(self): # <<<<<<<<<<<<<<
15526 * return "<broadcast '%s' on client #%d>" % (".".join(self._path), self._clientid)
15527 *
15528 */
15529
15530 /* function exit code */
15531 __pyx_L1_error:;
15532 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
15533 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
15534 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
15535 __Pyx_AddTraceback("xmmsapi.client_broadcast.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
15536 __pyx_r = NULL((void*)0);
15537 __pyx_L0:;
15538 __Pyx_XGIVEREF(__pyx_r);
15539 __Pyx_RefNannyFinishContext();
15540 return __pyx_r;
15541}
15542
15543/* "xmmsapi.pxd":90
15544 * cdef XmmsCore _xmms
15545 * cdef bint _async
15546 * cdef readonly object _path # <<<<<<<<<<<<<<
15547 * cdef readonly int _clientid
15548 * cdef readonly object name
15549 */
15550
15551/* Python wrapper */
15552static PyObject *__pyx_pw_7xmmsapi_16client_broadcast_5_path_1__get__(PyObject *__pyx_v_self); /*proto*/
15553static PyObject *__pyx_pw_7xmmsapi_16client_broadcast_5_path_1__get__(PyObject *__pyx_v_self) {
15554 PyObject *__pyx_r = 0;
15555 __Pyx_RefNannyDeclarations
15556 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
15557 __pyx_r = __pyx_pf_7xmmsapi_16client_broadcast_5_path___get__(((struct __pyx_obj_7xmmsapi_client_broadcast *)__pyx_v_self));
15558
15559 /* function exit code */
15560 __Pyx_RefNannyFinishContext();
15561 return __pyx_r;
15562}
15563
15564static PyObject *__pyx_pf_7xmmsapi_16client_broadcast_5_path___get__(struct __pyx_obj_7xmmsapi_client_broadcast *__pyx_v_self) {
15565 PyObject *__pyx_r = NULL((void*)0);
15566 __Pyx_RefNannyDeclarations
15567 __Pyx_RefNannySetupContext("__get__", 0);
15568 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
15569 __Pyx_INCREF(__pyx_v_self->_path)( ((PyObject*)(__pyx_v_self->_path))->ob_refcnt++);
15570 __pyx_r = __pyx_v_self->_path;
15571 goto __pyx_L0;
15572
15573 /* function exit code */
15574 __pyx_L0:;
15575 __Pyx_XGIVEREF(__pyx_r);
15576 __Pyx_RefNannyFinishContext();
15577 return __pyx_r;
15578}
15579
15580/* "xmmsapi.pxd":91
15581 * cdef bint _async
15582 * cdef readonly object _path
15583 * cdef readonly int _clientid # <<<<<<<<<<<<<<
15584 * cdef readonly object name
15585 * cdef readonly object docstring
15586 */
15587
15588/* Python wrapper */
15589static PyObject *__pyx_pw_7xmmsapi_16client_broadcast_9_clientid_1__get__(PyObject *__pyx_v_self); /*proto*/
15590static PyObject *__pyx_pw_7xmmsapi_16client_broadcast_9_clientid_1__get__(PyObject *__pyx_v_self) {
15591 PyObject *__pyx_r = 0;
15592 __Pyx_RefNannyDeclarations
15593 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
15594 __pyx_r = __pyx_pf_7xmmsapi_16client_broadcast_9_clientid___get__(((struct __pyx_obj_7xmmsapi_client_broadcast *)__pyx_v_self));
15595
15596 /* function exit code */
15597 __Pyx_RefNannyFinishContext();
15598 return __pyx_r;
15599}
15600
15601static PyObject *__pyx_pf_7xmmsapi_16client_broadcast_9_clientid___get__(struct __pyx_obj_7xmmsapi_client_broadcast *__pyx_v_self) {
15602 PyObject *__pyx_r = NULL((void*)0);
15603 __Pyx_RefNannyDeclarations
15604 PyObject *__pyx_t_1 = NULL((void*)0);
15605 int __pyx_lineno = 0;
15606 const char *__pyx_filename = NULL((void*)0);
15607 int __pyx_clineno = 0;
15608 __Pyx_RefNannySetupContext("__get__", 0);
15609 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
15610 __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_clientid); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 91; __pyx_clineno = __LINE__15610; goto __pyx_L1_error;}
15611 __Pyx_GOTREF(__pyx_t_1);
15612 __pyx_r = __pyx_t_1;
15613 __pyx_t_1 = 0;
15614 goto __pyx_L0;
15615
15616 /* function exit code */
15617 __pyx_L1_error:;
15618 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
15619 __Pyx_AddTraceback("xmmsapi.client_broadcast._clientid.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
15620 __pyx_r = NULL((void*)0);
15621 __pyx_L0:;
15622 __Pyx_XGIVEREF(__pyx_r);
15623 __Pyx_RefNannyFinishContext();
15624 return __pyx_r;
15625}
15626
15627/* "xmmsapi.pxd":92
15628 * cdef readonly object _path
15629 * cdef readonly int _clientid
15630 * cdef readonly object name # <<<<<<<<<<<<<<
15631 * cdef readonly object docstring
15632 *
15633 */
15634
15635/* Python wrapper */
15636static PyObject *__pyx_pw_7xmmsapi_16client_broadcast_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
15637static PyObject *__pyx_pw_7xmmsapi_16client_broadcast_4name_1__get__(PyObject *__pyx_v_self) {
15638 PyObject *__pyx_r = 0;
15639 __Pyx_RefNannyDeclarations
15640 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
15641 __pyx_r = __pyx_pf_7xmmsapi_16client_broadcast_4name___get__(((struct __pyx_obj_7xmmsapi_client_broadcast *)__pyx_v_self));
15642
15643 /* function exit code */
15644 __Pyx_RefNannyFinishContext();
15645 return __pyx_r;
15646}
15647
15648static PyObject *__pyx_pf_7xmmsapi_16client_broadcast_4name___get__(struct __pyx_obj_7xmmsapi_client_broadcast *__pyx_v_self) {
15649 PyObject *__pyx_r = NULL((void*)0);
15650 __Pyx_RefNannyDeclarations
15651 __Pyx_RefNannySetupContext("__get__", 0);
15652 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
15653 __Pyx_INCREF(__pyx_v_self->name)( ((PyObject*)(__pyx_v_self->name))->ob_refcnt++);
15654 __pyx_r = __pyx_v_self->name;
15655 goto __pyx_L0;
15656
15657 /* function exit code */
15658 __pyx_L0:;
15659 __Pyx_XGIVEREF(__pyx_r);
15660 __Pyx_RefNannyFinishContext();
15661 return __pyx_r;
15662}
15663
15664/* "xmmsapi.pxd":93
15665 * cdef readonly int _clientid
15666 * cdef readonly object name
15667 * cdef readonly object docstring # <<<<<<<<<<<<<<
15668 *
15669 * cdef class client_method:
15670 */
15671
15672/* Python wrapper */
15673static PyObject *__pyx_pw_7xmmsapi_16client_broadcast_9docstring_1__get__(PyObject *__pyx_v_self); /*proto*/
15674static PyObject *__pyx_pw_7xmmsapi_16client_broadcast_9docstring_1__get__(PyObject *__pyx_v_self) {
15675 PyObject *__pyx_r = 0;
15676 __Pyx_RefNannyDeclarations
15677 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
15678 __pyx_r = __pyx_pf_7xmmsapi_16client_broadcast_9docstring___get__(((struct __pyx_obj_7xmmsapi_client_broadcast *)__pyx_v_self));
15679
15680 /* function exit code */
15681 __Pyx_RefNannyFinishContext();
15682 return __pyx_r;
15683}
15684
15685static PyObject *__pyx_pf_7xmmsapi_16client_broadcast_9docstring___get__(struct __pyx_obj_7xmmsapi_client_broadcast *__pyx_v_self) {
15686 PyObject *__pyx_r = NULL((void*)0);
15687 __Pyx_RefNannyDeclarations
15688 __Pyx_RefNannySetupContext("__get__", 0);
15689 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
15690 __Pyx_INCREF(__pyx_v_self->docstring)( ((PyObject*)(__pyx_v_self->docstring))->ob_refcnt++);
15691 __pyx_r = __pyx_v_self->docstring;
15692 goto __pyx_L0;
15693
15694 /* function exit code */
15695 __pyx_L0:;
15696 __Pyx_XGIVEREF(__pyx_r);
15697 __Pyx_RefNannyFinishContext();
15698 return __pyx_r;
15699}
15700
15701/* "xmmsapi.pyx":719
15702 *
15703 * cdef class client_method:
15704 * def __cinit__(self, _XmmsServiceClient parent, name, docstring, inspect, cb = None): # <<<<<<<<<<<<<<
15705 * self._parent = parent
15706 * self._callback = cb
15707 */
15708
15709/* Python wrapper */
15710static int __pyx_pw_7xmmsapi_13client_method_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
15711static int __pyx_pw_7xmmsapi_13client_method_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
15712 struct __pyx_obj_7xmmsapi__XmmsServiceClient *__pyx_v_parent = 0;
15713 PyObject *__pyx_v_name = 0;
15714 PyObject *__pyx_v_docstring = 0;
15715 PyObject *__pyx_v_inspect = 0;
15716 PyObject *__pyx_v_cb = 0;
15717 int __pyx_lineno = 0;
15718 const char *__pyx_filename = NULL((void*)0);
15719 int __pyx_clineno = 0;
15720 int __pyx_r;
15721 __Pyx_RefNannyDeclarations
15722 __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
15723 {
15724 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_parent,&__pyx_n_s_name_2,&__pyx_n_s_docstring,&__pyx_n_s_inspect,&__pyx_n_s_cb,0};
15725 PyObject* values[5] = {0,0,0,0,0};
15726 values[4] = ((PyObject *)Py_None(&_Py_NoneStruct));
15727 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
15728 Py_ssize_t kw_args;
15729 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
15730 switch (pos_args) {
15731 case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4)(((PyTupleObject *)(__pyx_args))->ob_item[4]);
15732 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
15733 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
15734 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
15735 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
15736 case 0: break;
15737 default: goto __pyx_L5_argtuple_error;
15738 }
15739 kw_args = PyDict_Size(__pyx_kwds);
15740 switch (pos_args) {
15741 case 0:
15742 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_parent)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_parent
)) != 0), 1)
) kw_args--;
15743 else goto __pyx_L5_argtuple_error;
15744 case 1:
15745 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name_2)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name_2
)) != 0), 1)
) kw_args--;
15746 else {
15747 __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 4, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__15747; goto __pyx_L3_error;}
15748 }
15749 case 2:
15750 if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_docstring)) != 0)__builtin_expect(!!((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_docstring
)) != 0), 1)
) kw_args--;
15751 else {
15752 __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 4, 5, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__15752; goto __pyx_L3_error;}
15753 }
15754 case 3:
15755 if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_inspect)) != 0)__builtin_expect(!!((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_inspect
)) != 0), 1)
) kw_args--;
15756 else {
15757 __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 4, 5, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__15757; goto __pyx_L3_error;}
15758 }
15759 case 4:
15760 if (kw_args > 0) {
15761 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
15762 if (value) { values[4] = value; kw_args--; }
15763 }
15764 }
15765 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
15766 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "__cinit__") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__15766; goto __pyx_L3_error;}
15767 }
15768 } else {
15769 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
15770 case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4)(((PyTupleObject *)(__pyx_args))->ob_item[4]);
15771 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
15772 values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
15773 values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
15774 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
15775 break;
15776 default: goto __pyx_L5_argtuple_error;
15777 }
15778 }
15779 __pyx_v_parent = ((struct __pyx_obj_7xmmsapi__XmmsServiceClient *)values[0]);
15780 __pyx_v_name = values[1];
15781 __pyx_v_docstring = values[2];
15782 __pyx_v_inspect = values[3];
15783 __pyx_v_cb = values[4];
15784 }
15785 goto __pyx_L4_argument_unpacking_done;
15786 __pyx_L5_argtuple_error:;
15787 __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 4, 5, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__15787; goto __pyx_L3_error;}
15788 __pyx_L3_error:;
15789 __Pyx_AddTraceback("xmmsapi.client_method.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
15790 __Pyx_RefNannyFinishContext();
15791 return -1;
15792 __pyx_L4_argument_unpacking_done:;
15793 if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_parent), __pyx_ptype_7xmmsapi__XmmsServiceClient, 1, "parent", 0))__builtin_expect(!!(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_parent
), __pyx_ptype_7xmmsapi__XmmsServiceClient, 1, "parent", 0)),
0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__15793; goto __pyx_L1_error;}
15794 __pyx_r = __pyx_pf_7xmmsapi_13client_method___cinit__(((struct __pyx_obj_7xmmsapi_client_method *)__pyx_v_self), __pyx_v_parent, __pyx_v_name, __pyx_v_docstring, __pyx_v_inspect, __pyx_v_cb);
15795
15796 /* function exit code */
15797 goto __pyx_L0;
15798 __pyx_L1_error:;
15799 __pyx_r = -1;
15800 __pyx_L0:;
15801 __Pyx_RefNannyFinishContext();
15802 return __pyx_r;
15803}
15804
15805static int __pyx_pf_7xmmsapi_13client_method___cinit__(struct __pyx_obj_7xmmsapi_client_method *__pyx_v_self, struct __pyx_obj_7xmmsapi__XmmsServiceClient *__pyx_v_parent, PyObject *__pyx_v_name, PyObject *__pyx_v_docstring, PyObject *__pyx_v_inspect, PyObject *__pyx_v_cb) {
15806 int __pyx_r;
15807 __Pyx_RefNannyDeclarations
15808 PyObject *__pyx_t_1 = NULL((void*)0);
15809 PyObject *__pyx_t_2 = NULL((void*)0);
15810 int __pyx_t_3;
15811 int __pyx_lineno = 0;
15812 const char *__pyx_filename = NULL((void*)0);
15813 int __pyx_clineno = 0;
15814 __Pyx_RefNannySetupContext("__cinit__", 0);
15815
15816 /* "xmmsapi.pyx":720
15817 * cdef class client_method:
15818 * def __cinit__(self, _XmmsServiceClient parent, name, docstring, inspect, cb = None):
15819 * self._parent = parent # <<<<<<<<<<<<<<
15820 * self._callback = cb
15821 * self._path = parent._path + (name,)
15822 */
15823 __Pyx_INCREF(((PyObject *)__pyx_v_parent))( ((PyObject*)(((PyObject *)__pyx_v_parent)))->ob_refcnt++
)
;
15824 __Pyx_GIVEREF(((PyObject *)__pyx_v_parent));
15825 __Pyx_GOTREF(__pyx_v_self->_parent);
15826 __Pyx_DECREF(((PyObject *)__pyx_v_self->_parent))do { if ( --((PyObject*)(((PyObject *)__pyx_v_self->_parent
)))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)
(((PyObject *)__pyx_v_self->_parent))))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(((PyObject *)__pyx_v_self->_parent
))))); } while (0)
;
15827 __pyx_v_self->_parent = __pyx_v_parent;
15828
15829 /* "xmmsapi.pyx":721
15830 * def __cinit__(self, _XmmsServiceClient parent, name, docstring, inspect, cb = None):
15831 * self._parent = parent
15832 * self._callback = cb # <<<<<<<<<<<<<<
15833 * self._path = parent._path + (name,)
15834 * self._clientid = parent._clientid
15835 */
15836 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
15837 __Pyx_GIVEREF(__pyx_v_cb);
15838 __Pyx_GOTREF(__pyx_v_self->_callback);
15839 __Pyx_DECREF(__pyx_v_self->_callback)do { if ( --((PyObject*)(__pyx_v_self->_callback))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)(__pyx_v_self->
_callback)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_v_self->_callback)))); } while (0)
;
15840 __pyx_v_self->_callback = __pyx_v_cb;
15841
15842 /* "xmmsapi.pyx":722
15843 * self._parent = parent
15844 * self._callback = cb
15845 * self._path = parent._path + (name,) # <<<<<<<<<<<<<<
15846 * self._clientid = parent._clientid
15847 * self.name = name
15848 */
15849 __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__15849; goto __pyx_L1_error;}
15850 __Pyx_GOTREF(__pyx_t_1);
15851 __Pyx_INCREF(__pyx_v_name)( ((PyObject*)(__pyx_v_name))->ob_refcnt++);
15852 PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_name)(((PyTupleObject *)(__pyx_t_1))->ob_item[0] = __pyx_v_name
)
;
15853 __Pyx_GIVEREF(__pyx_v_name);
15854 __pyx_t_2 = PyNumber_Add(__pyx_v_parent->_path, __pyx_t_1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__15854; goto __pyx_L1_error;}
15855 __Pyx_GOTREF(__pyx_t_2);
15856 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
15857 __Pyx_GIVEREF(__pyx_t_2);
15858 __Pyx_GOTREF(__pyx_v_self->_path);
15859 __Pyx_DECREF(__pyx_v_self->_path)do { if ( --((PyObject*)(__pyx_v_self->_path))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)(__pyx_v_self->
_path)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *
)(__pyx_v_self->_path)))); } while (0)
;
15860 __pyx_v_self->_path = __pyx_t_2;
15861 __pyx_t_2 = 0;
15862
15863 /* "xmmsapi.pyx":723
15864 * self._callback = cb
15865 * self._path = parent._path + (name,)
15866 * self._clientid = parent._clientid # <<<<<<<<<<<<<<
15867 * self.name = name
15868 * self.docstring = docstring
15869 */
15870 __pyx_t_3 = __pyx_v_parent->_clientid;
15871 __pyx_v_self->_clientid = __pyx_t_3;
15872
15873 /* "xmmsapi.pyx":724
15874 * self._path = parent._path + (name,)
15875 * self._clientid = parent._clientid
15876 * self.name = name # <<<<<<<<<<<<<<
15877 * self.docstring = docstring
15878 * self.inspect = inspect
15879 */
15880 __Pyx_INCREF(__pyx_v_name)( ((PyObject*)(__pyx_v_name))->ob_refcnt++);
15881 __Pyx_GIVEREF(__pyx_v_name);
15882 __Pyx_GOTREF(__pyx_v_self->name);
15883 __Pyx_DECREF(__pyx_v_self->name)do { if ( --((PyObject*)(__pyx_v_self->name))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)(__pyx_v_self->
name)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *
)(__pyx_v_self->name)))); } while (0)
;
15884 __pyx_v_self->name = __pyx_v_name;
15885
15886 /* "xmmsapi.pyx":725
15887 * self._clientid = parent._clientid
15888 * self.name = name
15889 * self.docstring = docstring # <<<<<<<<<<<<<<
15890 * self.inspect = inspect
15891 *
15892 */
15893 __Pyx_INCREF(__pyx_v_docstring)( ((PyObject*)(__pyx_v_docstring))->ob_refcnt++);
15894 __Pyx_GIVEREF(__pyx_v_docstring);
15895 __Pyx_GOTREF(__pyx_v_self->docstring);
15896 __Pyx_DECREF(__pyx_v_self->docstring)do { if ( --((PyObject*)(__pyx_v_self->docstring))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)(__pyx_v_self->
docstring)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_v_self->docstring)))); } while (0)
;
15897 __pyx_v_self->docstring = __pyx_v_docstring;
15898
15899 /* "xmmsapi.pyx":726
15900 * self.name = name
15901 * self.docstring = docstring
15902 * self.inspect = inspect # <<<<<<<<<<<<<<
15903 *
15904 * def with_callback(self, cb):
15905 */
15906 __Pyx_INCREF(__pyx_v_inspect)( ((PyObject*)(__pyx_v_inspect))->ob_refcnt++);
15907 __Pyx_GIVEREF(__pyx_v_inspect);
15908 __Pyx_GOTREF(__pyx_v_self->inspect);
15909 __Pyx_DECREF(__pyx_v_self->inspect)do { if ( --((PyObject*)(__pyx_v_self->inspect))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)(__pyx_v_self->
inspect)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_v_self->inspect)))); } while (0)
;
15910 __pyx_v_self->inspect = __pyx_v_inspect;
15911
15912 /* "xmmsapi.pyx":719
15913 *
15914 * cdef class client_method:
15915 * def __cinit__(self, _XmmsServiceClient parent, name, docstring, inspect, cb = None): # <<<<<<<<<<<<<<
15916 * self._parent = parent
15917 * self._callback = cb
15918 */
15919
15920 /* function exit code */
15921 __pyx_r = 0;
15922 goto __pyx_L0;
15923 __pyx_L1_error:;
15924 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
15925 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
15926 __Pyx_AddTraceback("xmmsapi.client_method.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
15927 __pyx_r = -1;
15928 __pyx_L0:;
15929 __Pyx_RefNannyFinishContext();
15930 return __pyx_r;
15931}
15932
15933/* "xmmsapi.pyx":728
15934 * self.inspect = inspect
15935 *
15936 * def with_callback(self, cb): # <<<<<<<<<<<<<<
15937 * if not self._parent._async:
15938 * raise NotImplementedError()
15939 */
15940
15941/* Python wrapper */
15942static PyObject *__pyx_pw_7xmmsapi_13client_method_3with_callback(PyObject *__pyx_v_self, PyObject *__pyx_v_cb); /*proto*/
15943static char __pyx_doc_7xmmsapi_13client_method_2with_callback[] = "client_method.with_callback(self, cb)";
15944static PyObject *__pyx_pw_7xmmsapi_13client_method_3with_callback(PyObject *__pyx_v_self, PyObject *__pyx_v_cb) {
15945 PyObject *__pyx_r = 0;
15946 __Pyx_RefNannyDeclarations
15947 __Pyx_RefNannySetupContext("with_callback (wrapper)", 0);
15948 __pyx_r = __pyx_pf_7xmmsapi_13client_method_2with_callback(((struct __pyx_obj_7xmmsapi_client_method *)__pyx_v_self), ((PyObject *)__pyx_v_cb));
15949
15950 /* function exit code */
15951 __Pyx_RefNannyFinishContext();
15952 return __pyx_r;
15953}
15954
15955static PyObject *__pyx_pf_7xmmsapi_13client_method_2with_callback(struct __pyx_obj_7xmmsapi_client_method *__pyx_v_self, PyObject *__pyx_v_cb) {
15956 PyObject *__pyx_r = NULL((void*)0);
15957 __Pyx_RefNannyDeclarations
15958 int __pyx_t_1;
15959 PyObject *__pyx_t_2 = NULL((void*)0);
15960 PyObject *__pyx_t_3 = NULL((void*)0);
15961 int __pyx_lineno = 0;
15962 const char *__pyx_filename = NULL((void*)0);
15963 int __pyx_clineno = 0;
15964 __Pyx_RefNannySetupContext("with_callback", 0);
15965
15966 /* "xmmsapi.pyx":729
15967 *
15968 * def with_callback(self, cb):
15969 * if not self._parent._async: # <<<<<<<<<<<<<<
15970 * raise NotImplementedError()
15971 * return client_method(self._parent, self.name, self.docstring, self.inspect, cb)
15972 */
15973 __pyx_t_1 = ((!(__pyx_v_self->_parent->_async != 0)) != 0);
15974 if (__pyx_t_1) {
15975
15976 /* "xmmsapi.pyx":730
15977 * def with_callback(self, cb):
15978 * if not self._parent._async:
15979 * raise NotImplementedError() # <<<<<<<<<<<<<<
15980 * return client_method(self._parent, self.name, self.docstring, self.inspect, cb)
15981 *
15982 */
15983 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_NotImplementedError, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__15983; goto __pyx_L1_error;}
15984 __Pyx_GOTREF(__pyx_t_2);
15985 __Pyx_Raise(__pyx_t_2, 0, 0, 0);
15986 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
15987 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__15987; goto __pyx_L1_error;}
15988 }
15989
15990 /* "xmmsapi.pyx":731
15991 * if not self._parent._async:
15992 * raise NotImplementedError()
15993 * return client_method(self._parent, self.name, self.docstring, self.inspect, cb) # <<<<<<<<<<<<<<
15994 *
15995 * def call(self, args, kargs, cb = None):
15996 */
15997 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
15998 __pyx_t_2 = PyTuple_New(5); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__15998; goto __pyx_L1_error;}
15999 __Pyx_GOTREF(__pyx_t_2);
16000 __Pyx_INCREF(((PyObject *)__pyx_v_self->_parent))( ((PyObject*)(((PyObject *)__pyx_v_self->_parent)))->ob_refcnt
++)
;
16001 PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_self->_parent))(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = ((PyObject *
)__pyx_v_self->_parent))
;
16002 __Pyx_GIVEREF(((PyObject *)__pyx_v_self->_parent));
16003 __Pyx_INCREF(__pyx_v_self->name)( ((PyObject*)(__pyx_v_self->name))->ob_refcnt++);
16004 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_self->name)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_self
->name)
;
16005 __Pyx_GIVEREF(__pyx_v_self->name);
16006 __Pyx_INCREF(__pyx_v_self->docstring)( ((PyObject*)(__pyx_v_self->docstring))->ob_refcnt++);
16007 PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_self->docstring)(((PyTupleObject *)(__pyx_t_2))->ob_item[2] = __pyx_v_self
->docstring)
;
16008 __Pyx_GIVEREF(__pyx_v_self->docstring);
16009 __Pyx_INCREF(__pyx_v_self->inspect)( ((PyObject*)(__pyx_v_self->inspect))->ob_refcnt++);
16010 PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_v_self->inspect)(((PyTupleObject *)(__pyx_t_2))->ob_item[3] = __pyx_v_self
->inspect)
;
16011 __Pyx_GIVEREF(__pyx_v_self->inspect);
16012 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
16013 PyTuple_SET_ITEM(__pyx_t_2, 4, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[4] = __pyx_v_cb);
16014 __Pyx_GIVEREF(__pyx_v_cb);
16015 __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_7xmmsapi_client_method)), __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__16015; goto __pyx_L1_error;}
16016 __Pyx_GOTREF(__pyx_t_3);
16017 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
16018 __pyx_r = __pyx_t_3;
16019 __pyx_t_3 = 0;
16020 goto __pyx_L0;
16021
16022 /* "xmmsapi.pyx":728
16023 * self.inspect = inspect
16024 *
16025 * def with_callback(self, cb): # <<<<<<<<<<<<<<
16026 * if not self._parent._async:
16027 * raise NotImplementedError()
16028 */
16029
16030 /* function exit code */
16031 __pyx_L1_error:;
16032 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
16033 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
16034 __Pyx_AddTraceback("xmmsapi.client_method.with_callback", __pyx_clineno, __pyx_lineno, __pyx_filename);
16035 __pyx_r = NULL((void*)0);
16036 __pyx_L0:;
16037 __Pyx_XGIVEREF(__pyx_r);
16038 __Pyx_RefNannyFinishContext();
16039 return __pyx_r;
16040}
16041
16042/* "xmmsapi.pyx":733
16043 * return client_method(self._parent, self.name, self.docstring, self.inspect, cb)
16044 *
16045 * def call(self, args, kargs, cb = None): # <<<<<<<<<<<<<<
16046 * res = self._parent._xmms.sc_call(self._clientid, self._path, args, kargs, cb = self._parent._async and cb or None)
16047 *
16048 */
16049
16050/* Python wrapper */
16051static PyObject *__pyx_pw_7xmmsapi_13client_method_5call(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
16052static char __pyx_doc_7xmmsapi_13client_method_4call[] = "client_method.call(self, args, kargs, cb=None)";
16053static PyObject *__pyx_pw_7xmmsapi_13client_method_5call(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
16054 PyObject *__pyx_v_args = 0;
16055 PyObject *__pyx_v_kargs = 0;
16056 PyObject *__pyx_v_cb = 0;
16057 int __pyx_lineno = 0;
16058 const char *__pyx_filename = NULL((void*)0);
16059 int __pyx_clineno = 0;
16060 PyObject *__pyx_r = 0;
16061 __Pyx_RefNannyDeclarations
16062 __Pyx_RefNannySetupContext("call (wrapper)", 0);
16063 {
16064 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_args,&__pyx_n_s_kargs,&__pyx_n_s_cb,0};
16065 PyObject* values[3] = {0,0,0};
16066 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
16067 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
16068 Py_ssize_t kw_args;
16069 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
16070 switch (pos_args) {
16071 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
16072 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
16073 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
16074 case 0: break;
16075 default: goto __pyx_L5_argtuple_error;
16076 }
16077 kw_args = PyDict_Size(__pyx_kwds);
16078 switch (pos_args) {
16079 case 0:
16080 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_args)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_args
)) != 0), 1)
) kw_args--;
16081 else goto __pyx_L5_argtuple_error;
16082 case 1:
16083 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_kargs)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_kargs
)) != 0), 1)
) kw_args--;
16084 else {
16085 __Pyx_RaiseArgtupleInvalid("call", 0, 2, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__16085; goto __pyx_L3_error;}
16086 }
16087 case 2:
16088 if (kw_args > 0) {
16089 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
16090 if (value) { values[2] = value; kw_args--; }
16091 }
16092 }
16093 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
16094 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "call") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "call") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__16094; goto __pyx_L3_error;}
16095 }
16096 } else {
16097 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
16098 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
16099 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
16100 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
16101 break;
16102 default: goto __pyx_L5_argtuple_error;
16103 }
16104 }
16105 __pyx_v_args = values[0];
16106 __pyx_v_kargs = values[1];
16107 __pyx_v_cb = values[2];
16108 }
16109 goto __pyx_L4_argument_unpacking_done;
16110 __pyx_L5_argtuple_error:;
16111 __Pyx_RaiseArgtupleInvalid("call", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__16111; goto __pyx_L3_error;}
16112 __pyx_L3_error:;
16113 __Pyx_AddTraceback("xmmsapi.client_method.call", __pyx_clineno, __pyx_lineno, __pyx_filename);
16114 __Pyx_RefNannyFinishContext();
16115 return NULL((void*)0);
16116 __pyx_L4_argument_unpacking_done:;
16117 __pyx_r = __pyx_pf_7xmmsapi_13client_method_4call(((struct __pyx_obj_7xmmsapi_client_method *)__pyx_v_self), __pyx_v_args, __pyx_v_kargs, __pyx_v_cb);
16118
16119 /* function exit code */
16120 __Pyx_RefNannyFinishContext();
16121 return __pyx_r;
16122}
16123
16124static PyObject *__pyx_pf_7xmmsapi_13client_method_4call(struct __pyx_obj_7xmmsapi_client_method *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kargs, PyObject *__pyx_v_cb) {
16125 PyObject *__pyx_v_res = NULL((void*)0);
16126 PyObject *__pyx_v_xvalue = NULL((void*)0);
16127 struct __pyx_obj_9xmmsvalue_XmmsValueC2C *__pyx_v_cxvalue = NULL((void*)0);
16128 PyObject *__pyx_v_payload = NULL((void*)0);
16129 PyObject *__pyx_r = NULL((void*)0);
16130 __Pyx_RefNannyDeclarations
16131 PyObject *__pyx_t_1 = NULL((void*)0);
16132 PyObject *__pyx_t_2 = NULL((void*)0);
16133 PyObject *__pyx_t_3 = NULL((void*)0);
16134 PyObject *__pyx_t_4 = NULL((void*)0);
16135 int __pyx_t_5;
16136 PyObject *__pyx_t_6 = NULL((void*)0);
16137 int __pyx_t_7;
16138 int __pyx_lineno = 0;
16139 const char *__pyx_filename = NULL((void*)0);
16140 int __pyx_clineno = 0;
16141 __Pyx_RefNannySetupContext("call", 0);
16142
16143 /* "xmmsapi.pyx":734
16144 *
16145 * def call(self, args, kargs, cb = None):
16146 * res = self._parent._xmms.sc_call(self._clientid, self._path, args, kargs, cb = self._parent._async and cb or None) # <<<<<<<<<<<<<<
16147 *
16148 * if self._parent._async:
16149 */
16150 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->_parent->_xmms), __pyx_n_s_sc_call); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__16150; goto __pyx_L1_error;}
16151 __Pyx_GOTREF(__pyx_t_1);
16152 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_self->_clientid); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__16152; goto __pyx_L1_error;}
16153 __Pyx_GOTREF(__pyx_t_2);
16154 __pyx_t_3 = PyTuple_New(4); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__16154; goto __pyx_L1_error;}
16155 __Pyx_GOTREF(__pyx_t_3);
16156 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
16157 __Pyx_GIVEREF(__pyx_t_2);
16158 __Pyx_INCREF(__pyx_v_self->_path)( ((PyObject*)(__pyx_v_self->_path))->ob_refcnt++);
16159 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_self->_path)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_self
->_path)
;
16160 __Pyx_GIVEREF(__pyx_v_self->_path);
16161 __Pyx_INCREF(__pyx_v_args)( ((PyObject*)(__pyx_v_args))->ob_refcnt++);
16162 PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_args)(((PyTupleObject *)(__pyx_t_3))->ob_item[2] = __pyx_v_args
)
;
16163 __Pyx_GIVEREF(__pyx_v_args);
16164 __Pyx_INCREF(__pyx_v_kargs)( ((PyObject*)(__pyx_v_kargs))->ob_refcnt++);
16165 PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_v_kargs)(((PyTupleObject *)(__pyx_t_3))->ob_item[3] = __pyx_v_kargs
)
;
16166 __Pyx_GIVEREF(__pyx_v_kargs);
16167 __pyx_t_2 = 0;
16168 __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__16168; goto __pyx_L1_error;}
16169 __Pyx_GOTREF(__pyx_t_2);
16170 __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_v_self->_parent->_async)((__pyx_v_self->_parent->_async) ? (( ((PyObject*)(((PyObject
*) &_Py_TrueStruct)))->ob_refcnt++), ((PyObject *) &
_Py_TrueStruct)) : (( ((PyObject*)(((PyObject *) &_Py_ZeroStruct
)))->ob_refcnt++), ((PyObject *) &_Py_ZeroStruct)))
; if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__16170; goto __pyx_L1_error;}
16171 __Pyx_GOTREF(__pyx_t_4);
16172 __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_5 < 0)__builtin_expect(!!(__pyx_t_5 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__16172; goto __pyx_L1_error;}
16173 if (__pyx_t_5) {
16174 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
16175 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
16176 __pyx_t_6 = __pyx_v_cb;
16177 } else {
16178 __pyx_t_6 = __pyx_t_4;
16179 __pyx_t_4 = 0;
16180 }
16181 __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_5 < 0)__builtin_expect(!!(__pyx_t_5 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__16181; goto __pyx_L1_error;}
16182 if (!__pyx_t_5) {
16183 __Pyx_DECREF(__pyx_t_6)do { if ( --((PyObject*)(__pyx_t_6))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_6)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_6)))); } while (
0)
; __pyx_t_6 = 0;
16184 __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
16185 __pyx_t_4 = Py_None(&_Py_NoneStruct);
16186 } else {
16187 __pyx_t_4 = __pyx_t_6;
16188 __pyx_t_6 = 0;
16189 }
16190 if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_cb, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__16190; goto __pyx_L1_error;}
16191 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
16192 __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__16192; goto __pyx_L1_error;}
16193 __Pyx_GOTREF(__pyx_t_4);
16194 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
16195 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
16196 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
16197 __pyx_v_res = __pyx_t_4;
16198 __pyx_t_4 = 0;
16199
16200 /* "xmmsapi.pyx":736
16201 * res = self._parent._xmms.sc_call(self._clientid, self._path, args, kargs, cb = self._parent._async and cb or None)
16202 *
16203 * if self._parent._async: # <<<<<<<<<<<<<<
16204 * return res
16205 *
16206 */
16207 __pyx_t_5 = (__pyx_v_self->_parent->_async != 0);
16208 if (__pyx_t_5) {
16209
16210 /* "xmmsapi.pyx":737
16211 *
16212 * if self._parent._async:
16213 * return res # <<<<<<<<<<<<<<
16214 *
16215 * res.wait()
16216 */
16217 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
16218 __Pyx_INCREF(__pyx_v_res)( ((PyObject*)(__pyx_v_res))->ob_refcnt++);
16219 __pyx_r = __pyx_v_res;
16220 goto __pyx_L0;
16221 }
16222
16223 /* "xmmsapi.pyx":739
16224 * return res
16225 *
16226 * res.wait() # <<<<<<<<<<<<<<
16227 * xvalue = res.xvalue
16228 * if xvalue.is_error():
16229 */
16230 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_wait); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__16230; goto __pyx_L1_error;}
16231 __Pyx_GOTREF(__pyx_t_4);
16232 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 739; __pyx_clineno = __LINE__16232; goto __pyx_L1_error;}
16233 __Pyx_GOTREF(__pyx_t_2);
16234 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
16235 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
16236
16237 /* "xmmsapi.pyx":740
16238 *
16239 * res.wait()
16240 * xvalue = res.xvalue # <<<<<<<<<<<<<<
16241 * if xvalue.is_error():
16242 * raise xvalue.get_error()
16243 */
16244 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_xvalue); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__16244; goto __pyx_L1_error;}
16245 __Pyx_GOTREF(__pyx_t_2);
16246 __pyx_v_xvalue = __pyx_t_2;
16247 __pyx_t_2 = 0;
16248
16249 /* "xmmsapi.pyx":741
16250 * res.wait()
16251 * xvalue = res.xvalue
16252 * if xvalue.is_error(): # <<<<<<<<<<<<<<
16253 * raise xvalue.get_error()
16254 * cxvalue = XmmsValueC2C(pyval = xvalue)
16255 */
16256 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_xvalue, __pyx_n_s_is_error); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 741; __pyx_clineno = __LINE__16256; goto __pyx_L1_error;}
16257 __Pyx_GOTREF(__pyx_t_2);
16258 __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 741; __pyx_clineno = __LINE__16258; goto __pyx_L1_error;}
16259 __Pyx_GOTREF(__pyx_t_4);
16260 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
16261 __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_5 < 0)__builtin_expect(!!(__pyx_t_5 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 741; __pyx_clineno = __LINE__16261; goto __pyx_L1_error;}
16262 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
16263 if (__pyx_t_5) {
16264
16265 /* "xmmsapi.pyx":742
16266 * xvalue = res.xvalue
16267 * if xvalue.is_error():
16268 * raise xvalue.get_error() # <<<<<<<<<<<<<<
16269 * cxvalue = XmmsValueC2C(pyval = xvalue)
16270 * payload = cxvalue.payload
16271 */
16272 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_xvalue, __pyx_n_s_get_error); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__16272; goto __pyx_L1_error;}
16273 __Pyx_GOTREF(__pyx_t_4);
16274 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__16274; goto __pyx_L1_error;}
16275 __Pyx_GOTREF(__pyx_t_2);
16276 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
16277 __Pyx_Raise(__pyx_t_2, 0, 0, 0);
16278 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
16279 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__16279; goto __pyx_L1_error;}
16280 }
16281
16282 /* "xmmsapi.pyx":743
16283 * if xvalue.is_error():
16284 * raise xvalue.get_error()
16285 * cxvalue = XmmsValueC2C(pyval = xvalue) # <<<<<<<<<<<<<<
16286 * payload = cxvalue.payload
16287 * if payload is not None:
16288 */
16289 __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__16289; goto __pyx_L1_error;}
16290 __Pyx_GOTREF(__pyx_t_2);
16291 if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_pyval, __pyx_v_xvalue) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__16291; goto __pyx_L1_error;}
16292 __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_9xmmsvalue_XmmsValueC2C)), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__16292; goto __pyx_L1_error;}
16293 __Pyx_GOTREF(__pyx_t_4);
16294 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
16295 __pyx_v_cxvalue = ((struct __pyx_obj_9xmmsvalue_XmmsValueC2C *)__pyx_t_4);
16296 __pyx_t_4 = 0;
16297
16298 /* "xmmsapi.pyx":744
16299 * raise xvalue.get_error()
16300 * cxvalue = XmmsValueC2C(pyval = xvalue)
16301 * payload = cxvalue.payload # <<<<<<<<<<<<<<
16302 * if payload is not None:
16303 * if payload.is_error():
16304 */
16305 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cxvalue), __pyx_n_s_payload); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 744; __pyx_clineno = __LINE__16305; goto __pyx_L1_error;}
16306 __Pyx_GOTREF(__pyx_t_4);
16307 __pyx_v_payload = __pyx_t_4;
16308 __pyx_t_4 = 0;
16309
16310 /* "xmmsapi.pyx":745
16311 * cxvalue = XmmsValueC2C(pyval = xvalue)
16312 * payload = cxvalue.payload
16313 * if payload is not None: # <<<<<<<<<<<<<<
16314 * if payload.is_error():
16315 * raise payload.get_error()
16316 */
16317 __pyx_t_5 = (__pyx_v_payload != Py_None(&_Py_NoneStruct));
16318 __pyx_t_7 = (__pyx_t_5 != 0);
16319 if (__pyx_t_7) {
16320
16321 /* "xmmsapi.pyx":746
16322 * payload = cxvalue.payload
16323 * if payload is not None:
16324 * if payload.is_error(): # <<<<<<<<<<<<<<
16325 * raise payload.get_error()
16326 * payload = payload.value()
16327 */
16328 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_payload, __pyx_n_s_is_error); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__16328; goto __pyx_L1_error;}
16329 __Pyx_GOTREF(__pyx_t_4);
16330 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__16330; goto __pyx_L1_error;}
16331 __Pyx_GOTREF(__pyx_t_2);
16332 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
16333 __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_7 < 0)__builtin_expect(!!(__pyx_t_7 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__16333; goto __pyx_L1_error;}
16334 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
16335 if (__pyx_t_7) {
16336
16337 /* "xmmsapi.pyx":747
16338 * if payload is not None:
16339 * if payload.is_error():
16340 * raise payload.get_error() # <<<<<<<<<<<<<<
16341 * payload = payload.value()
16342 * return payload
16343 */
16344 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_payload, __pyx_n_s_get_error); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__16344; goto __pyx_L1_error;}
16345 __Pyx_GOTREF(__pyx_t_2);
16346 __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__16346; goto __pyx_L1_error;}
16347 __Pyx_GOTREF(__pyx_t_4);
16348 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
16349 __Pyx_Raise(__pyx_t_4, 0, 0, 0);
16350 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
16351 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 747; __pyx_clineno = __LINE__16351; goto __pyx_L1_error;}
16352 }
16353
16354 /* "xmmsapi.pyx":748
16355 * if payload.is_error():
16356 * raise payload.get_error()
16357 * payload = payload.value() # <<<<<<<<<<<<<<
16358 * return payload
16359 *
16360 */
16361 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_payload, __pyx_n_s_value); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__16361; goto __pyx_L1_error;}
16362 __Pyx_GOTREF(__pyx_t_4);
16363 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__16363; goto __pyx_L1_error;}
16364 __Pyx_GOTREF(__pyx_t_2);
16365 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
16366 __Pyx_DECREF_SET(__pyx_v_payload, __pyx_t_2)do { PyObject *tmp = (PyObject *) __pyx_v_payload; __pyx_v_payload
= __pyx_t_2; do { if ( --((PyObject*)(tmp))->ob_refcnt !=
0) ; else ( (*(((PyObject*)((PyObject *)(tmp)))->ob_type)
->tp_dealloc)((PyObject *)((PyObject *)(tmp)))); } while (
0); } while (0)
;
16367 __pyx_t_2 = 0;
16368 goto __pyx_L5;
16369 }
16370 __pyx_L5:;
16371
16372 /* "xmmsapi.pyx":749
16373 * raise payload.get_error()
16374 * payload = payload.value()
16375 * return payload # <<<<<<<<<<<<<<
16376 *
16377 * def __call__(self, *args, **kargs):
16378 */
16379 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
16380 __Pyx_INCREF(__pyx_v_payload)( ((PyObject*)(__pyx_v_payload))->ob_refcnt++);
16381 __pyx_r = __pyx_v_payload;
16382 goto __pyx_L0;
16383
16384 /* "xmmsapi.pyx":733
16385 * return client_method(self._parent, self.name, self.docstring, self.inspect, cb)
16386 *
16387 * def call(self, args, kargs, cb = None): # <<<<<<<<<<<<<<
16388 * res = self._parent._xmms.sc_call(self._clientid, self._path, args, kargs, cb = self._parent._async and cb or None)
16389 *
16390 */
16391
16392 /* function exit code */
16393 __pyx_L1_error:;
16394 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
16395 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
16396 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
16397 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
;
16398 __Pyx_XDECREF(__pyx_t_6)do { if ((__pyx_t_6) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_6))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_6)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_6)))); } while (0); } while (0)
;
16399 __Pyx_AddTraceback("xmmsapi.client_method.call", __pyx_clineno, __pyx_lineno, __pyx_filename);
16400 __pyx_r = NULL((void*)0);
16401 __pyx_L0:;
16402 __Pyx_XDECREF(__pyx_v_res)do { if ((__pyx_v_res) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_res))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(__pyx_v_res)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_res)))); } while (0); } while (0)
;
16403 __Pyx_XDECREF(__pyx_v_xvalue)do { if ((__pyx_v_xvalue) == ((void*)0)) ; else do { if ( --(
(PyObject*)(__pyx_v_xvalue))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(__pyx_v_xvalue)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_xvalue)))); } while
(0); } while (0)
;
16404 __Pyx_XDECREF((PyObject *)__pyx_v_cxvalue)do { if (((PyObject *)__pyx_v_cxvalue) == ((void*)0)) ; else do
{ if ( --((PyObject*)((PyObject *)__pyx_v_cxvalue))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)((PyObject *)__pyx_v_cxvalue
)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)((PyObject
*)__pyx_v_cxvalue)))); } while (0); } while (0)
;
16405 __Pyx_XDECREF(__pyx_v_payload)do { if ((__pyx_v_payload) == ((void*)0)) ; else do { if ( --
((PyObject*)(__pyx_v_payload))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(__pyx_v_payload)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_payload)))); } while
(0); } while (0)
;
16406 __Pyx_XGIVEREF(__pyx_r);
16407 __Pyx_RefNannyFinishContext();
16408 return __pyx_r;
16409}
16410
16411/* "xmmsapi.pyx":751
16412 * return payload
16413 *
16414 * def __call__(self, *args, **kargs): # <<<<<<<<<<<<<<
16415 * return self.call(args, kargs, cb = self._callback)
16416 *
16417 */
16418
16419/* Python wrapper */
16420static PyObject *__pyx_pw_7xmmsapi_13client_method_7__call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
16421static PyObject *__pyx_pw_7xmmsapi_13client_method_7__call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
16422 PyObject *__pyx_v_args = 0;
16423 PyObject *__pyx_v_kargs = 0;
16424 PyObject *__pyx_r = 0;
16425 __Pyx_RefNannyDeclarations
16426 __Pyx_RefNannySetupContext("__call__ (wrapper)", 0);
16427 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__call__", 1))__builtin_expect(!!(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__call__"
, 1)), 0)
) return NULL((void*)0);
16428 __pyx_v_kargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New();
16429 if (unlikely(!__pyx_v_kargs)__builtin_expect(!!(!__pyx_v_kargs), 0)) return NULL((void*)0);
16430 __Pyx_GOTREF(__pyx_v_kargs);
16431 __Pyx_INCREF(__pyx_args)( ((PyObject*)(__pyx_args))->ob_refcnt++);
16432 __pyx_v_args = __pyx_args;
16433 __pyx_r = __pyx_pf_7xmmsapi_13client_method_6__call__(((struct __pyx_obj_7xmmsapi_client_method *)__pyx_v_self), __pyx_v_args, __pyx_v_kargs);
16434
16435 /* function exit code */
16436 __Pyx_XDECREF(__pyx_v_args)do { if ((__pyx_v_args) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_args))->ob_refcnt != 0) ; else ( (*(((PyObject*
)((PyObject *)(__pyx_v_args)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(__pyx_v_args)))); } while (0); } while
(0)
;
16437 __Pyx_XDECREF(__pyx_v_kargs)do { if ((__pyx_v_kargs) == ((void*)0)) ; else do { if ( --((
PyObject*)(__pyx_v_kargs))->ob_refcnt != 0) ; else ( (*(((
PyObject*)((PyObject *)(__pyx_v_kargs)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(__pyx_v_kargs)))); } while (0); }
while (0)
;
16438 __Pyx_RefNannyFinishContext();
16439 return __pyx_r;
16440}
16441
16442static PyObject *__pyx_pf_7xmmsapi_13client_method_6__call__(struct __pyx_obj_7xmmsapi_client_method *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kargs) {
16443 PyObject *__pyx_r = NULL((void*)0);
16444 __Pyx_RefNannyDeclarations
16445 PyObject *__pyx_t_1 = NULL((void*)0);
16446 PyObject *__pyx_t_2 = NULL((void*)0);
16447 PyObject *__pyx_t_3 = NULL((void*)0);
16448 PyObject *__pyx_t_4 = NULL((void*)0);
16449 int __pyx_lineno = 0;
16450 const char *__pyx_filename = NULL((void*)0);
16451 int __pyx_clineno = 0;
16452 __Pyx_RefNannySetupContext("__call__", 0);
16453
16454 /* "xmmsapi.pyx":752
16455 *
16456 * def __call__(self, *args, **kargs):
16457 * return self.call(args, kargs, cb = self._callback) # <<<<<<<<<<<<<<
16458 *
16459 * def __repr__(self):
16460 */
16461 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
16462 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_call_2); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__16462; goto __pyx_L1_error;}
16463 __Pyx_GOTREF(__pyx_t_1);
16464 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__16464; goto __pyx_L1_error;}
16465 __Pyx_GOTREF(__pyx_t_2);
16466 __Pyx_INCREF(__pyx_v_args)( ((PyObject*)(__pyx_v_args))->ob_refcnt++);
16467 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_args)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_args
)
;
16468 __Pyx_GIVEREF(__pyx_v_args);
16469 __Pyx_INCREF(__pyx_v_kargs)( ((PyObject*)(__pyx_v_kargs))->ob_refcnt++);
16470 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_kargs)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_kargs
)
;
16471 __Pyx_GIVEREF(__pyx_v_kargs);
16472 __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__16472; goto __pyx_L1_error;}
16473 __Pyx_GOTREF(__pyx_t_3);
16474 if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_cb, __pyx_v_self->_callback) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__16474; goto __pyx_L1_error;}
16475 __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__16475; goto __pyx_L1_error;}
16476 __Pyx_GOTREF(__pyx_t_4);
16477 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
16478 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
16479 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
16480 __pyx_r = __pyx_t_4;
16481 __pyx_t_4 = 0;
16482 goto __pyx_L0;
16483
16484 /* "xmmsapi.pyx":751
16485 * return payload
16486 *
16487 * def __call__(self, *args, **kargs): # <<<<<<<<<<<<<<
16488 * return self.call(args, kargs, cb = self._callback)
16489 *
16490 */
16491
16492 /* function exit code */
16493 __pyx_L1_error:;
16494 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
16495 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
16496 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
16497 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
;
16498 __Pyx_AddTraceback("xmmsapi.client_method.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename);
16499 __pyx_r = NULL((void*)0);
16500 __pyx_L0:;
16501 __Pyx_XGIVEREF(__pyx_r);
16502 __Pyx_RefNannyFinishContext();
16503 return __pyx_r;
16504}
16505
16506/* "xmmsapi.pyx":754
16507 * return self.call(args, kargs, cb = self._callback)
16508 *
16509 * def __repr__(self): # <<<<<<<<<<<<<<
16510 * return "<method '%s' on client #%d>" % (".".join(self._path), self._clientid)
16511 *
16512 */
16513
16514/* Python wrapper */
16515static PyObject *__pyx_pw_7xmmsapi_13client_method_9__repr__(PyObject *__pyx_v_self); /*proto*/
16516static PyObject *__pyx_pw_7xmmsapi_13client_method_9__repr__(PyObject *__pyx_v_self) {
16517 PyObject *__pyx_r = 0;
16518 __Pyx_RefNannyDeclarations
16519 __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
16520 __pyx_r = __pyx_pf_7xmmsapi_13client_method_8__repr__(((struct __pyx_obj_7xmmsapi_client_method *)__pyx_v_self));
16521
16522 /* function exit code */
16523 __Pyx_RefNannyFinishContext();
16524 return __pyx_r;
16525}
16526
16527static PyObject *__pyx_pf_7xmmsapi_13client_method_8__repr__(struct __pyx_obj_7xmmsapi_client_method *__pyx_v_self) {
16528 PyObject *__pyx_r = NULL((void*)0);
16529 __Pyx_RefNannyDeclarations
16530 PyObject *__pyx_t_1 = NULL((void*)0);
16531 PyObject *__pyx_t_2 = NULL((void*)0);
16532 PyObject *__pyx_t_3 = NULL((void*)0);
16533 int __pyx_lineno = 0;
16534 const char *__pyx_filename = NULL((void*)0);
16535 int __pyx_clineno = 0;
16536 __Pyx_RefNannySetupContext("__repr__", 0);
16537
16538 /* "xmmsapi.pyx":755
16539 *
16540 * def __repr__(self):
16541 * return "<method '%s' on client #%d>" % (".".join(self._path), self._clientid) # <<<<<<<<<<<<<<
16542 *
16543 *
16544 */
16545 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
16546 __pyx_t_1 = __pyx_v_self->_path;
16547 __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++);
16548 __pyx_t_2 = __Pyx_PyString_Join_PyString_Join(__pyx_kp_s__31, __pyx_t_1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__16548; goto __pyx_L1_error;}
16549 __Pyx_GOTREF(__pyx_t_2);
16550 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
16551 __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_clientid); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__16551; goto __pyx_L1_error;}
16552 __Pyx_GOTREF(__pyx_t_1);
16553 __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__16553; goto __pyx_L1_error;}
16554 __Pyx_GOTREF(__pyx_t_3);
16555 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
16556 __Pyx_GIVEREF(__pyx_t_2);
16557 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_t_1);
16558 __Pyx_GIVEREF(__pyx_t_1);
16559 __pyx_t_2 = 0;
16560 __pyx_t_1 = 0;
16561 __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_method_s_on_client_d, __pyx_t_3)PyString_Format(__pyx_kp_s_method_s_on_client_d, __pyx_t_3); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__16561; goto __pyx_L1_error;}
16562 __Pyx_GOTREF(__pyx_t_1);
16563 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
16564 __pyx_r = __pyx_t_1;
16565 __pyx_t_1 = 0;
16566 goto __pyx_L0;
16567
16568 /* "xmmsapi.pyx":754
16569 * return self.call(args, kargs, cb = self._callback)
16570 *
16571 * def __repr__(self): # <<<<<<<<<<<<<<
16572 * return "<method '%s' on client #%d>" % (".".join(self._path), self._clientid)
16573 *
16574 */
16575
16576 /* function exit code */
16577 __pyx_L1_error:;
16578 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
16579 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
16580 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
16581 __Pyx_AddTraceback("xmmsapi.client_method.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
16582 __pyx_r = NULL((void*)0);
16583 __pyx_L0:;
16584 __Pyx_XGIVEREF(__pyx_r);
16585 __Pyx_RefNannyFinishContext();
16586 return __pyx_r;
16587}
16588
16589/* "xmmsapi.pxd":98
16590 * cdef _XmmsServiceClient _parent
16591 * cdef object _callback
16592 * cdef readonly object _path # <<<<<<<<<<<<<<
16593 * cdef readonly int _clientid
16594 * cdef readonly object name
16595 */
16596
16597/* Python wrapper */
16598static PyObject *__pyx_pw_7xmmsapi_13client_method_5_path_1__get__(PyObject *__pyx_v_self); /*proto*/
16599static PyObject *__pyx_pw_7xmmsapi_13client_method_5_path_1__get__(PyObject *__pyx_v_self) {
16600 PyObject *__pyx_r = 0;
16601 __Pyx_RefNannyDeclarations
16602 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
16603 __pyx_r = __pyx_pf_7xmmsapi_13client_method_5_path___get__(((struct __pyx_obj_7xmmsapi_client_method *)__pyx_v_self));
16604
16605 /* function exit code */
16606 __Pyx_RefNannyFinishContext();
16607 return __pyx_r;
16608}
16609
16610static PyObject *__pyx_pf_7xmmsapi_13client_method_5_path___get__(struct __pyx_obj_7xmmsapi_client_method *__pyx_v_self) {
16611 PyObject *__pyx_r = NULL((void*)0);
16612 __Pyx_RefNannyDeclarations
16613 __Pyx_RefNannySetupContext("__get__", 0);
16614 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
16615 __Pyx_INCREF(__pyx_v_self->_path)( ((PyObject*)(__pyx_v_self->_path))->ob_refcnt++);
16616 __pyx_r = __pyx_v_self->_path;
16617 goto __pyx_L0;
16618
16619 /* function exit code */
16620 __pyx_L0:;
16621 __Pyx_XGIVEREF(__pyx_r);
16622 __Pyx_RefNannyFinishContext();
16623 return __pyx_r;
16624}
16625
16626/* "xmmsapi.pxd":99
16627 * cdef object _callback
16628 * cdef readonly object _path
16629 * cdef readonly int _clientid # <<<<<<<<<<<<<<
16630 * cdef readonly object name
16631 * cdef readonly object docstring
16632 */
16633
16634/* Python wrapper */
16635static PyObject *__pyx_pw_7xmmsapi_13client_method_9_clientid_1__get__(PyObject *__pyx_v_self); /*proto*/
16636static PyObject *__pyx_pw_7xmmsapi_13client_method_9_clientid_1__get__(PyObject *__pyx_v_self) {
16637 PyObject *__pyx_r = 0;
16638 __Pyx_RefNannyDeclarations
16639 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
16640 __pyx_r = __pyx_pf_7xmmsapi_13client_method_9_clientid___get__(((struct __pyx_obj_7xmmsapi_client_method *)__pyx_v_self));
16641
16642 /* function exit code */
16643 __Pyx_RefNannyFinishContext();
16644 return __pyx_r;
16645}
16646
16647static PyObject *__pyx_pf_7xmmsapi_13client_method_9_clientid___get__(struct __pyx_obj_7xmmsapi_client_method *__pyx_v_self) {
16648 PyObject *__pyx_r = NULL((void*)0);
16649 __Pyx_RefNannyDeclarations
16650 PyObject *__pyx_t_1 = NULL((void*)0);
16651 int __pyx_lineno = 0;
16652 const char *__pyx_filename = NULL((void*)0);
16653 int __pyx_clineno = 0;
16654 __Pyx_RefNannySetupContext("__get__", 0);
16655 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
16656 __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_clientid); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 99; __pyx_clineno = __LINE__16656; goto __pyx_L1_error;}
16657 __Pyx_GOTREF(__pyx_t_1);
16658 __pyx_r = __pyx_t_1;
16659 __pyx_t_1 = 0;
16660 goto __pyx_L0;
16661
16662 /* function exit code */
16663 __pyx_L1_error:;
16664 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
16665 __Pyx_AddTraceback("xmmsapi.client_method._clientid.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
16666 __pyx_r = NULL((void*)0);
16667 __pyx_L0:;
16668 __Pyx_XGIVEREF(__pyx_r);
16669 __Pyx_RefNannyFinishContext();
16670 return __pyx_r;
16671}
16672
16673/* "xmmsapi.pxd":100
16674 * cdef readonly object _path
16675 * cdef readonly int _clientid
16676 * cdef readonly object name # <<<<<<<<<<<<<<
16677 * cdef readonly object docstring
16678 * cdef readonly object inspect
16679 */
16680
16681/* Python wrapper */
16682static PyObject *__pyx_pw_7xmmsapi_13client_method_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
16683static PyObject *__pyx_pw_7xmmsapi_13client_method_4name_1__get__(PyObject *__pyx_v_self) {
16684 PyObject *__pyx_r = 0;
16685 __Pyx_RefNannyDeclarations
16686 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
16687 __pyx_r = __pyx_pf_7xmmsapi_13client_method_4name___get__(((struct __pyx_obj_7xmmsapi_client_method *)__pyx_v_self));
16688
16689 /* function exit code */
16690 __Pyx_RefNannyFinishContext();
16691 return __pyx_r;
16692}
16693
16694static PyObject *__pyx_pf_7xmmsapi_13client_method_4name___get__(struct __pyx_obj_7xmmsapi_client_method *__pyx_v_self) {
16695 PyObject *__pyx_r = NULL((void*)0);
16696 __Pyx_RefNannyDeclarations
16697 __Pyx_RefNannySetupContext("__get__", 0);
16698 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
16699 __Pyx_INCREF(__pyx_v_self->name)( ((PyObject*)(__pyx_v_self->name))->ob_refcnt++);
16700 __pyx_r = __pyx_v_self->name;
16701 goto __pyx_L0;
16702
16703 /* function exit code */
16704 __pyx_L0:;
16705 __Pyx_XGIVEREF(__pyx_r);
16706 __Pyx_RefNannyFinishContext();
16707 return __pyx_r;
16708}
16709
16710/* "xmmsapi.pxd":101
16711 * cdef readonly int _clientid
16712 * cdef readonly object name
16713 * cdef readonly object docstring # <<<<<<<<<<<<<<
16714 * cdef readonly object inspect
16715 *
16716 */
16717
16718/* Python wrapper */
16719static PyObject *__pyx_pw_7xmmsapi_13client_method_9docstring_1__get__(PyObject *__pyx_v_self); /*proto*/
16720static PyObject *__pyx_pw_7xmmsapi_13client_method_9docstring_1__get__(PyObject *__pyx_v_self) {
16721 PyObject *__pyx_r = 0;
16722 __Pyx_RefNannyDeclarations
16723 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
16724 __pyx_r = __pyx_pf_7xmmsapi_13client_method_9docstring___get__(((struct __pyx_obj_7xmmsapi_client_method *)__pyx_v_self));
16725
16726 /* function exit code */
16727 __Pyx_RefNannyFinishContext();
16728 return __pyx_r;
16729}
16730
16731static PyObject *__pyx_pf_7xmmsapi_13client_method_9docstring___get__(struct __pyx_obj_7xmmsapi_client_method *__pyx_v_self) {
16732 PyObject *__pyx_r = NULL((void*)0);
16733 __Pyx_RefNannyDeclarations
16734 __Pyx_RefNannySetupContext("__get__", 0);
16735 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
16736 __Pyx_INCREF(__pyx_v_self->docstring)( ((PyObject*)(__pyx_v_self->docstring))->ob_refcnt++);
16737 __pyx_r = __pyx_v_self->docstring;
16738 goto __pyx_L0;
16739
16740 /* function exit code */
16741 __pyx_L0:;
16742 __Pyx_XGIVEREF(__pyx_r);
16743 __Pyx_RefNannyFinishContext();
16744 return __pyx_r;
16745}
16746
16747/* "xmmsapi.pxd":102
16748 * cdef readonly object name
16749 * cdef readonly object docstring
16750 * cdef readonly object inspect # <<<<<<<<<<<<<<
16751 *
16752 * cdef class _XmmsServiceClient:
16753 */
16754
16755/* Python wrapper */
16756static PyObject *__pyx_pw_7xmmsapi_13client_method_7inspect_1__get__(PyObject *__pyx_v_self); /*proto*/
16757static PyObject *__pyx_pw_7xmmsapi_13client_method_7inspect_1__get__(PyObject *__pyx_v_self) {
16758 PyObject *__pyx_r = 0;
16759 __Pyx_RefNannyDeclarations
16760 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
16761 __pyx_r = __pyx_pf_7xmmsapi_13client_method_7inspect___get__(((struct __pyx_obj_7xmmsapi_client_method *)__pyx_v_self));
16762
16763 /* function exit code */
16764 __Pyx_RefNannyFinishContext();
16765 return __pyx_r;
16766}
16767
16768static PyObject *__pyx_pf_7xmmsapi_13client_method_7inspect___get__(struct __pyx_obj_7xmmsapi_client_method *__pyx_v_self) {
16769 PyObject *__pyx_r = NULL((void*)0);
16770 __Pyx_RefNannyDeclarations
16771 __Pyx_RefNannySetupContext("__get__", 0);
16772 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
16773 __Pyx_INCREF(__pyx_v_self->inspect)( ((PyObject*)(__pyx_v_self->inspect))->ob_refcnt++);
16774 __pyx_r = __pyx_v_self->inspect;
16775 goto __pyx_L0;
16776
16777 /* function exit code */
16778 __pyx_L0:;
16779 __Pyx_XGIVEREF(__pyx_r);
16780 __Pyx_RefNannyFinishContext();
16781 return __pyx_r;
16782}
16783
16784/* "xmmsapi.pyx":759
16785 *
16786 * cdef class _XmmsServiceClient:
16787 * def __cinit__(self, xmms, int clientid, *a, **ka): # <<<<<<<<<<<<<<
16788 * cdef XmmsProxy _proxy
16789 *
16790 */
16791
16792/* Python wrapper */
16793static int __pyx_pw_7xmmsapi_18_XmmsServiceClient_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
16794static int __pyx_pw_7xmmsapi_18_XmmsServiceClient_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
16795 PyObject *__pyx_v_xmms = 0;
16796 int __pyx_v_clientid;
16797 CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_v_a = 0;
16798 PyObject *__pyx_v_ka = 0;
16799 int __pyx_lineno = 0;
16800 const char *__pyx_filename = NULL((void*)0);
16801 int __pyx_clineno = 0;
16802 int __pyx_r;
16803 __Pyx_RefNannyDeclarations
16804 __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
16805 __pyx_v_ka = PyDict_New(); if (unlikely(!__pyx_v_ka)__builtin_expect(!!(!__pyx_v_ka), 0)) return -1;
16806 __Pyx_GOTREF(__pyx_v_ka);
16807 if (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size) > 2) {
16808 __pyx_v_a = PyTuple_GetSlice(__pyx_args, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size));
16809 if (unlikely(!__pyx_v_a)__builtin_expect(!!(!__pyx_v_a), 0)) {
16810 __Pyx_DECREF(__pyx_v_ka)do { if ( --((PyObject*)(__pyx_v_ka))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_v_ka)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_ka)))); } while
(0)
; __pyx_v_ka = 0;
16811 __Pyx_RefNannyFinishContext();
16812 return -1;
16813 }
16814 __Pyx_GOTREF(__pyx_v_a);
16815 } else {
16816 __pyx_v_a = __pyx_empty_tuple; __Pyx_INCREF(__pyx_empty_tuple)( ((PyObject*)(__pyx_empty_tuple))->ob_refcnt++);
16817 }
16818 {
16819 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_xmms,&__pyx_n_s_clientid,0};
16820 PyObject* values[2] = {0,0};
16821 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
16822 Py_ssize_t kw_args;
16823 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
16824 switch (pos_args) {
16825 default:
16826 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
16827 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
16828 case 0: break;
16829 }
16830 kw_args = PyDict_Size(__pyx_kwds);
16831 switch (pos_args) {
16832 case 0:
16833 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_xmms)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_xmms
)) != 0), 1)
) kw_args--;
16834 else goto __pyx_L5_argtuple_error;
16835 case 1:
16836 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_clientid)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_clientid
)) != 0), 1)
) kw_args--;
16837 else {
16838 __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__16838; goto __pyx_L3_error;}
16839 }
16840 }
16841 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
16842 const Py_ssize_t used_pos_args = (pos_args < 2) ? pos_args : 2;
16843 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_ka, values, used_pos_args, "__cinit__") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, __pyx_v_ka, values, used_pos_args, "__cinit__") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__16843; goto __pyx_L3_error;}
16844 }
16845 } else if (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size) < 2) {
16846 goto __pyx_L5_argtuple_error;
16847 } else {
16848 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
16849 values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
16850 }
16851 __pyx_v_xmms = values[0];
16852 __pyx_v_clientid = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_clientid == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_clientid == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__16852; goto __pyx_L3_error;}
16853 }
16854 goto __pyx_L4_argument_unpacking_done;
16855 __pyx_L5_argtuple_error:;
16856 __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 759; __pyx_clineno = __LINE__16856; goto __pyx_L3_error;}
16857 __pyx_L3_error:;
16858 __Pyx_DECREF(__pyx_v_a)do { if ( --((PyObject*)(__pyx_v_a))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_v_a)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_a)))); } while (
0)
; __pyx_v_a = 0;
16859 __Pyx_DECREF(__pyx_v_ka)do { if ( --((PyObject*)(__pyx_v_ka))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_v_ka)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_ka)))); } while
(0)
; __pyx_v_ka = 0;
16860 __Pyx_AddTraceback("xmmsapi._XmmsServiceClient.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
16861 __Pyx_RefNannyFinishContext();
16862 return -1;
16863 __pyx_L4_argument_unpacking_done:;
16864 __pyx_r = __pyx_pf_7xmmsapi_18_XmmsServiceClient___cinit__(((struct __pyx_obj_7xmmsapi__XmmsServiceClient *)__pyx_v_self), __pyx_v_xmms, __pyx_v_clientid, __pyx_v_a, __pyx_v_ka);
16865
16866 /* function exit code */
16867 __Pyx_XDECREF(__pyx_v_a)do { if ((__pyx_v_a) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_a))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_a)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_a)))); } while (0); } while (0)
;
16868 __Pyx_XDECREF(__pyx_v_ka)do { if ((__pyx_v_ka) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_ka))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_v_ka)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_ka)))); } while (0); } while (0)
;
16869 __Pyx_RefNannyFinishContext();
16870 return __pyx_r;
16871}
16872
16873static int __pyx_pf_7xmmsapi_18_XmmsServiceClient___cinit__(struct __pyx_obj_7xmmsapi__XmmsServiceClient *__pyx_v_self, PyObject *__pyx_v_xmms, int __pyx_v_clientid, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_v_a, PyObject *__pyx_v_ka) {
16874 struct __pyx_obj_7xmmsapi_XmmsProxy *__pyx_v__proxy = 0;
16875 int __pyx_r;
16876 __Pyx_RefNannyDeclarations
16877 int __pyx_t_1;
16878 int __pyx_t_2;
16879 PyObject *__pyx_t_3 = NULL((void*)0);
16880 PyObject *__pyx_t_4 = NULL((void*)0);
16881 int __pyx_lineno = 0;
16882 const char *__pyx_filename = NULL((void*)0);
16883 int __pyx_clineno = 0;
16884 __Pyx_RefNannySetupContext("__cinit__", 0);
16885
16886 /* "xmmsapi.pyx":762
16887 * cdef XmmsProxy _proxy
16888 *
16889 * if isinstance(xmms, XmmsCore): # <<<<<<<<<<<<<<
16890 * self._xmms = xmms
16891 * self._async = ka.get('_async', True)
16892 */
16893 __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_xmms, ((PyObject*)__pyx_ptype_7xmmsapi_XmmsCore))((((PyObject*)(__pyx_v_xmms))->ob_type) == ((PyTypeObject *
)((PyObject*)__pyx_ptype_7xmmsapi_XmmsCore)) || PyType_IsSubtype
((((PyObject*)(__pyx_v_xmms))->ob_type), ((PyTypeObject *)
((PyObject*)__pyx_ptype_7xmmsapi_XmmsCore))))
;
16894 __pyx_t_2 = (__pyx_t_1 != 0);
16895 if (__pyx_t_2) {
16896
16897 /* "xmmsapi.pyx":763
16898 *
16899 * if isinstance(xmms, XmmsCore):
16900 * self._xmms = xmms # <<<<<<<<<<<<<<
16901 * self._async = ka.get('_async', True)
16902 * elif isinstance(xmms, XmmsProxy):
16903 */
16904 if (!(likely(((__pyx_v_xmms) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_xmms, __pyx_ptype_7xmmsapi_XmmsCore)))__builtin_expect(!!(((__pyx_v_xmms) == (&_Py_NoneStruct))
|| __builtin_expect(!!(__Pyx_TypeTest(__pyx_v_xmms, __pyx_ptype_7xmmsapi_XmmsCore
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 763; __pyx_clineno = __LINE__16904; goto __pyx_L1_error;}
16905 __pyx_t_3 = __pyx_v_xmms;
16906 __Pyx_INCREF(__pyx_t_3)( ((PyObject*)(__pyx_t_3))->ob_refcnt++);
16907 __Pyx_GIVEREF(__pyx_t_3);
16908 __Pyx_GOTREF(__pyx_v_self->_xmms);
16909 __Pyx_DECREF(((PyObject *)__pyx_v_self->_xmms))do { if ( --((PyObject*)(((PyObject *)__pyx_v_self->_xmms)
))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(
((PyObject *)__pyx_v_self->_xmms))))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(((PyObject *)__pyx_v_self->_xmms
))))); } while (0)
;
16910 __pyx_v_self->_xmms = ((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_t_3);
16911 __pyx_t_3 = 0;
16912
16913 /* "xmmsapi.pyx":764
16914 * if isinstance(xmms, XmmsCore):
16915 * self._xmms = xmms
16916 * self._async = ka.get('_async', True) # <<<<<<<<<<<<<<
16917 * elif isinstance(xmms, XmmsProxy):
16918 * _proxy = xmms
16919 */
16920 __pyx_t_3 = __Pyx_PyDict_GetItemDefault(__pyx_v_ka, __pyx_n_s_async, Py_True((PyObject *) &_Py_TrueStruct)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 764; __pyx_clineno = __LINE__16920; goto __pyx_L1_error;}
16921 __Pyx_GOTREF(__pyx_t_3);
16922 __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_t_2 == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 764; __pyx_clineno = __LINE__16922; goto __pyx_L1_error;}
16923 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
16924 __pyx_v_self->_async = __pyx_t_2;
16925 goto __pyx_L3;
16926 }
16927
16928 /* "xmmsapi.pyx":765
16929 * self._xmms = xmms
16930 * self._async = ka.get('_async', True)
16931 * elif isinstance(xmms, XmmsProxy): # <<<<<<<<<<<<<<
16932 * _proxy = xmms
16933 * self._xmms = _proxy._get_xmms()
16934 */
16935 __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_xmms, ((PyObject*)__pyx_ptype_7xmmsapi_XmmsProxy))((((PyObject*)(__pyx_v_xmms))->ob_type) == ((PyTypeObject *
)((PyObject*)__pyx_ptype_7xmmsapi_XmmsProxy)) || PyType_IsSubtype
((((PyObject*)(__pyx_v_xmms))->ob_type), ((PyTypeObject *)
((PyObject*)__pyx_ptype_7xmmsapi_XmmsProxy))))
;
16936 __pyx_t_1 = (__pyx_t_2 != 0);
16937 if (__pyx_t_1) {
16938
16939 /* "xmmsapi.pyx":766
16940 * self._async = ka.get('_async', True)
16941 * elif isinstance(xmms, XmmsProxy):
16942 * _proxy = xmms # <<<<<<<<<<<<<<
16943 * self._xmms = _proxy._get_xmms()
16944 * self._async = False
16945 */
16946 if (!(likely(((__pyx_v_xmms) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_xmms, __pyx_ptype_7xmmsapi_XmmsProxy)))__builtin_expect(!!(((__pyx_v_xmms) == (&_Py_NoneStruct))
|| __builtin_expect(!!(__Pyx_TypeTest(__pyx_v_xmms, __pyx_ptype_7xmmsapi_XmmsProxy
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__16946; goto __pyx_L1_error;}
16947 __pyx_t_3 = __pyx_v_xmms;
16948 __Pyx_INCREF(__pyx_t_3)( ((PyObject*)(__pyx_t_3))->ob_refcnt++);
16949 __pyx_v__proxy = ((struct __pyx_obj_7xmmsapi_XmmsProxy *)__pyx_t_3);
16950 __pyx_t_3 = 0;
16951
16952 /* "xmmsapi.pyx":767
16953 * elif isinstance(xmms, XmmsProxy):
16954 * _proxy = xmms
16955 * self._xmms = _proxy._get_xmms() # <<<<<<<<<<<<<<
16956 * self._async = False
16957 * else:
16958 */
16959 __pyx_t_3 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsProxy *)__pyx_v__proxy->__pyx_vtab)->_get_xmms(__pyx_v__proxy)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 767; __pyx_clineno = __LINE__16959; goto __pyx_L1_error;}
16960 __Pyx_GOTREF(__pyx_t_3);
16961 __Pyx_GIVEREF(__pyx_t_3);
16962 __Pyx_GOTREF(__pyx_v_self->_xmms);
16963 __Pyx_DECREF(((PyObject *)__pyx_v_self->_xmms))do { if ( --((PyObject*)(((PyObject *)__pyx_v_self->_xmms)
))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(
((PyObject *)__pyx_v_self->_xmms))))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(((PyObject *)__pyx_v_self->_xmms
))))); } while (0)
;
16964 __pyx_v_self->_xmms = ((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_t_3);
16965 __pyx_t_3 = 0;
16966
16967 /* "xmmsapi.pyx":768
16968 * _proxy = xmms
16969 * self._xmms = _proxy._get_xmms()
16970 * self._async = False # <<<<<<<<<<<<<<
16971 * else:
16972 * raise TypeError("Not a valid Xmms client instance")
16973 */
16974 __pyx_v_self->_async = 0;
16975 goto __pyx_L3;
16976 }
16977 /*else*/ {
16978
16979 /* "xmmsapi.pyx":770
16980 * self._async = False
16981 * else:
16982 * raise TypeError("Not a valid Xmms client instance") # <<<<<<<<<<<<<<
16983 *
16984 * self._path = tuple(ka.get('path', ()))
16985 */
16986 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__32, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__16986; goto __pyx_L1_error;}
16987 __Pyx_GOTREF(__pyx_t_3);
16988 __Pyx_Raise(__pyx_t_3, 0, 0, 0);
16989 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
16990 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__16990; goto __pyx_L1_error;}
16991 }
16992 __pyx_L3:;
16993
16994 /* "xmmsapi.pyx":772
16995 * raise TypeError("Not a valid Xmms client instance")
16996 *
16997 * self._path = tuple(ka.get('path', ())) # <<<<<<<<<<<<<<
16998 * self._clientid = clientid
16999 *
17000 */
17001 __pyx_t_3 = __Pyx_PyDict_GetItemDefault(__pyx_v_ka, __pyx_n_s_path, __pyx_empty_tuple); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__17001; goto __pyx_L1_error;}
17002 __Pyx_GOTREF(__pyx_t_3);
17003 __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__17003; goto __pyx_L1_error;}
17004 __Pyx_GOTREF(__pyx_t_4);
17005 PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3)(((PyTupleObject *)(__pyx_t_4))->ob_item[0] = __pyx_t_3);
17006 __Pyx_GIVEREF(__pyx_t_3);
17007 __pyx_t_3 = 0;
17008 __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyTuple_Type))), __pyx_t_4, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 772; __pyx_clineno = __LINE__17008; goto __pyx_L1_error;}
17009 __Pyx_GOTREF(__pyx_t_3);
17010 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
17011 __Pyx_GIVEREF(__pyx_t_3);
17012 __Pyx_GOTREF(__pyx_v_self->_path);
17013 __Pyx_DECREF(__pyx_v_self->_path)do { if ( --((PyObject*)(__pyx_v_self->_path))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)(__pyx_v_self->
_path)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *
)(__pyx_v_self->_path)))); } while (0)
;
17014 __pyx_v_self->_path = __pyx_t_3;
17015 __pyx_t_3 = 0;
17016
17017 /* "xmmsapi.pyx":773
17018 *
17019 * self._path = tuple(ka.get('path', ()))
17020 * self._clientid = clientid # <<<<<<<<<<<<<<
17021 *
17022 * def __repr__(self):
17023 */
17024 __pyx_v_self->_clientid = __pyx_v_clientid;
17025
17026 /* "xmmsapi.pyx":759
17027 *
17028 * cdef class _XmmsServiceClient:
17029 * def __cinit__(self, xmms, int clientid, *a, **ka): # <<<<<<<<<<<<<<
17030 * cdef XmmsProxy _proxy
17031 *
17032 */
17033
17034 /* function exit code */
17035 __pyx_r = 0;
17036 goto __pyx_L0;
17037 __pyx_L1_error:;
17038 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
17039 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
;
17040 __Pyx_AddTraceback("xmmsapi._XmmsServiceClient.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
17041 __pyx_r = -1;
17042 __pyx_L0:;
17043 __Pyx_XDECREF((PyObject *)__pyx_v__proxy)do { if (((PyObject *)__pyx_v__proxy) == ((void*)0)) ; else do
{ if ( --((PyObject*)((PyObject *)__pyx_v__proxy))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)((PyObject *)__pyx_v__proxy
)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)((PyObject
*)__pyx_v__proxy)))); } while (0); } while (0)
;
17044 __Pyx_RefNannyFinishContext();
17045 return __pyx_r;
17046}
17047
17048/* "xmmsapi.pyx":775
17049 * self._clientid = clientid
17050 *
17051 * def __repr__(self): # <<<<<<<<<<<<<<
17052 * return "<namespace '%s' on client #%d>" % (".".join(self._path), self._clientid)
17053 *
17054 */
17055
17056/* Python wrapper */
17057static PyObject *__pyx_pw_7xmmsapi_18_XmmsServiceClient_3__repr__(PyObject *__pyx_v_self); /*proto*/
17058static PyObject *__pyx_pw_7xmmsapi_18_XmmsServiceClient_3__repr__(PyObject *__pyx_v_self) {
17059 PyObject *__pyx_r = 0;
17060 __Pyx_RefNannyDeclarations
17061 __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
17062 __pyx_r = __pyx_pf_7xmmsapi_18_XmmsServiceClient_2__repr__(((struct __pyx_obj_7xmmsapi__XmmsServiceClient *)__pyx_v_self));
17063
17064 /* function exit code */
17065 __Pyx_RefNannyFinishContext();
17066 return __pyx_r;
17067}
17068
17069static PyObject *__pyx_pf_7xmmsapi_18_XmmsServiceClient_2__repr__(struct __pyx_obj_7xmmsapi__XmmsServiceClient *__pyx_v_self) {
17070 PyObject *__pyx_r = NULL((void*)0);
17071 __Pyx_RefNannyDeclarations
17072 PyObject *__pyx_t_1 = NULL((void*)0);
17073 PyObject *__pyx_t_2 = NULL((void*)0);
17074 PyObject *__pyx_t_3 = NULL((void*)0);
17075 int __pyx_lineno = 0;
17076 const char *__pyx_filename = NULL((void*)0);
17077 int __pyx_clineno = 0;
17078 __Pyx_RefNannySetupContext("__repr__", 0);
17079
17080 /* "xmmsapi.pyx":776
17081 *
17082 * def __repr__(self):
17083 * return "<namespace '%s' on client #%d>" % (".".join(self._path), self._clientid) # <<<<<<<<<<<<<<
17084 *
17085 * class XmmsServiceClient(_XmmsServiceClient):
17086 */
17087 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
17088 __pyx_t_1 = __pyx_v_self->_path;
17089 __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++);
17090 __pyx_t_2 = __Pyx_PyString_Join_PyString_Join(__pyx_kp_s__31, __pyx_t_1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__17090; goto __pyx_L1_error;}
17091 __Pyx_GOTREF(__pyx_t_2);
17092 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
17093 __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_clientid); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__17093; goto __pyx_L1_error;}
17094 __Pyx_GOTREF(__pyx_t_1);
17095 __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__17095; goto __pyx_L1_error;}
17096 __Pyx_GOTREF(__pyx_t_3);
17097 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
17098 __Pyx_GIVEREF(__pyx_t_2);
17099 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_t_1);
17100 __Pyx_GIVEREF(__pyx_t_1);
17101 __pyx_t_2 = 0;
17102 __pyx_t_1 = 0;
17103 __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_namespace_s_on_client_d, __pyx_t_3)PyString_Format(__pyx_kp_s_namespace_s_on_client_d, __pyx_t_3
)
; if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __pyx_clineno = __LINE__17103; goto __pyx_L1_error;}
17104 __Pyx_GOTREF(__pyx_t_1);
17105 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
17106 __pyx_r = __pyx_t_1;
17107 __pyx_t_1 = 0;
17108 goto __pyx_L0;
17109
17110 /* "xmmsapi.pyx":775
17111 * self._clientid = clientid
17112 *
17113 * def __repr__(self): # <<<<<<<<<<<<<<
17114 * return "<namespace '%s' on client #%d>" % (".".join(self._path), self._clientid)
17115 *
17116 */
17117
17118 /* function exit code */
17119 __pyx_L1_error:;
17120 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
17121 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
17122 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
17123 __Pyx_AddTraceback("xmmsapi._XmmsServiceClient.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
17124 __pyx_r = NULL((void*)0);
17125 __pyx_L0:;
17126 __Pyx_XGIVEREF(__pyx_r);
17127 __Pyx_RefNannyFinishContext();
17128 return __pyx_r;
17129}
17130
17131/* "xmmsapi.pxd":105
17132 *
17133 * cdef class _XmmsServiceClient:
17134 * cdef readonly object _path # <<<<<<<<<<<<<<
17135 * cdef readonly bint _async
17136 * cdef readonly XmmsCore _xmms
17137 */
17138
17139/* Python wrapper */
17140static PyObject *__pyx_pw_7xmmsapi_18_XmmsServiceClient_5_path_1__get__(PyObject *__pyx_v_self); /*proto*/
17141static PyObject *__pyx_pw_7xmmsapi_18_XmmsServiceClient_5_path_1__get__(PyObject *__pyx_v_self) {
17142 PyObject *__pyx_r = 0;
17143 __Pyx_RefNannyDeclarations
17144 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
17145 __pyx_r = __pyx_pf_7xmmsapi_18_XmmsServiceClient_5_path___get__(((struct __pyx_obj_7xmmsapi__XmmsServiceClient *)__pyx_v_self));
17146
17147 /* function exit code */
17148 __Pyx_RefNannyFinishContext();
17149 return __pyx_r;
17150}
17151
17152static PyObject *__pyx_pf_7xmmsapi_18_XmmsServiceClient_5_path___get__(struct __pyx_obj_7xmmsapi__XmmsServiceClient *__pyx_v_self) {
17153 PyObject *__pyx_r = NULL((void*)0);
17154 __Pyx_RefNannyDeclarations
17155 __Pyx_RefNannySetupContext("__get__", 0);
17156 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
17157 __Pyx_INCREF(__pyx_v_self->_path)( ((PyObject*)(__pyx_v_self->_path))->ob_refcnt++);
17158 __pyx_r = __pyx_v_self->_path;
17159 goto __pyx_L0;
17160
17161 /* function exit code */
17162 __pyx_L0:;
17163 __Pyx_XGIVEREF(__pyx_r);
17164 __Pyx_RefNannyFinishContext();
17165 return __pyx_r;
17166}
17167
17168/* "xmmsapi.pxd":106
17169 * cdef class _XmmsServiceClient:
17170 * cdef readonly object _path
17171 * cdef readonly bint _async # <<<<<<<<<<<<<<
17172 * cdef readonly XmmsCore _xmms
17173 * cdef readonly int _clientid
17174 */
17175
17176/* Python wrapper */
17177static PyObject *__pyx_pw_7xmmsapi_18_XmmsServiceClient_6_async_1__get__(PyObject *__pyx_v_self); /*proto*/
17178static PyObject *__pyx_pw_7xmmsapi_18_XmmsServiceClient_6_async_1__get__(PyObject *__pyx_v_self) {
17179 PyObject *__pyx_r = 0;
17180 __Pyx_RefNannyDeclarations
17181 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
17182 __pyx_r = __pyx_pf_7xmmsapi_18_XmmsServiceClient_6_async___get__(((struct __pyx_obj_7xmmsapi__XmmsServiceClient *)__pyx_v_self));
17183
17184 /* function exit code */
17185 __Pyx_RefNannyFinishContext();
17186 return __pyx_r;
17187}
17188
17189static PyObject *__pyx_pf_7xmmsapi_18_XmmsServiceClient_6_async___get__(struct __pyx_obj_7xmmsapi__XmmsServiceClient *__pyx_v_self) {
17190 PyObject *__pyx_r = NULL((void*)0);
17191 __Pyx_RefNannyDeclarations
17192 PyObject *__pyx_t_1 = NULL((void*)0);
17193 int __pyx_lineno = 0;
17194 const char *__pyx_filename = NULL((void*)0);
17195 int __pyx_clineno = 0;
17196 __Pyx_RefNannySetupContext("__get__", 0);
17197 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
17198 __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_async)((__pyx_v_self->_async) ? (( ((PyObject*)(((PyObject *) &
_Py_TrueStruct)))->ob_refcnt++), ((PyObject *) &_Py_TrueStruct
)) : (( ((PyObject*)(((PyObject *) &_Py_ZeroStruct)))->
ob_refcnt++), ((PyObject *) &_Py_ZeroStruct)))
; if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 106; __pyx_clineno = __LINE__17198; goto __pyx_L1_error;}
17199 __Pyx_GOTREF(__pyx_t_1);
17200 __pyx_r = __pyx_t_1;
17201 __pyx_t_1 = 0;
17202 goto __pyx_L0;
17203
17204 /* function exit code */
17205 __pyx_L1_error:;
17206 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
17207 __Pyx_AddTraceback("xmmsapi._XmmsServiceClient._async.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
17208 __pyx_r = NULL((void*)0);
17209 __pyx_L0:;
17210 __Pyx_XGIVEREF(__pyx_r);
17211 __Pyx_RefNannyFinishContext();
17212 return __pyx_r;
17213}
17214
17215/* "xmmsapi.pxd":107
17216 * cdef readonly object _path
17217 * cdef readonly bint _async
17218 * cdef readonly XmmsCore _xmms # <<<<<<<<<<<<<<
17219 * cdef readonly int _clientid
17220 *
17221 */
17222
17223/* Python wrapper */
17224static PyObject *__pyx_pw_7xmmsapi_18_XmmsServiceClient_5_xmms_1__get__(PyObject *__pyx_v_self); /*proto*/
17225static PyObject *__pyx_pw_7xmmsapi_18_XmmsServiceClient_5_xmms_1__get__(PyObject *__pyx_v_self) {
17226 PyObject *__pyx_r = 0;
17227 __Pyx_RefNannyDeclarations
17228 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
17229 __pyx_r = __pyx_pf_7xmmsapi_18_XmmsServiceClient_5_xmms___get__(((struct __pyx_obj_7xmmsapi__XmmsServiceClient *)__pyx_v_self));
17230
17231 /* function exit code */
17232 __Pyx_RefNannyFinishContext();
17233 return __pyx_r;
17234}
17235
17236static PyObject *__pyx_pf_7xmmsapi_18_XmmsServiceClient_5_xmms___get__(struct __pyx_obj_7xmmsapi__XmmsServiceClient *__pyx_v_self) {
17237 PyObject *__pyx_r = NULL((void*)0);
17238 __Pyx_RefNannyDeclarations
17239 __Pyx_RefNannySetupContext("__get__", 0);
17240 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
17241 __Pyx_INCREF(((PyObject *)__pyx_v_self->_xmms))( ((PyObject*)(((PyObject *)__pyx_v_self->_xmms)))->ob_refcnt
++)
;
17242 __pyx_r = ((PyObject *)__pyx_v_self->_xmms);
17243 goto __pyx_L0;
17244
17245 /* function exit code */
17246 __pyx_L0:;
17247 __Pyx_XGIVEREF(__pyx_r);
17248 __Pyx_RefNannyFinishContext();
17249 return __pyx_r;
17250}
17251
17252/* "xmmsapi.pxd":108
17253 * cdef readonly bint _async
17254 * cdef readonly XmmsCore _xmms
17255 * cdef readonly int _clientid # <<<<<<<<<<<<<<
17256 *
17257 * cdef class XmmsProxy:
17258 */
17259
17260/* Python wrapper */
17261static PyObject *__pyx_pw_7xmmsapi_18_XmmsServiceClient_9_clientid_1__get__(PyObject *__pyx_v_self); /*proto*/
17262static PyObject *__pyx_pw_7xmmsapi_18_XmmsServiceClient_9_clientid_1__get__(PyObject *__pyx_v_self) {
17263 PyObject *__pyx_r = 0;
17264 __Pyx_RefNannyDeclarations
17265 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
17266 __pyx_r = __pyx_pf_7xmmsapi_18_XmmsServiceClient_9_clientid___get__(((struct __pyx_obj_7xmmsapi__XmmsServiceClient *)__pyx_v_self));
17267
17268 /* function exit code */
17269 __Pyx_RefNannyFinishContext();
17270 return __pyx_r;
17271}
17272
17273static PyObject *__pyx_pf_7xmmsapi_18_XmmsServiceClient_9_clientid___get__(struct __pyx_obj_7xmmsapi__XmmsServiceClient *__pyx_v_self) {
17274 PyObject *__pyx_r = NULL((void*)0);
17275 __Pyx_RefNannyDeclarations
17276 PyObject *__pyx_t_1 = NULL((void*)0);
17277 int __pyx_lineno = 0;
17278 const char *__pyx_filename = NULL((void*)0);
17279 int __pyx_clineno = 0;
17280 __Pyx_RefNannySetupContext("__get__", 0);
17281 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
17282 __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_clientid); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 108; __pyx_clineno = __LINE__17282; goto __pyx_L1_error;}
17283 __Pyx_GOTREF(__pyx_t_1);
17284 __pyx_r = __pyx_t_1;
17285 __pyx_t_1 = 0;
17286 goto __pyx_L0;
17287
17288 /* function exit code */
17289 __pyx_L1_error:;
17290 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
17291 __Pyx_AddTraceback("xmmsapi._XmmsServiceClient._clientid.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
17292 __pyx_r = NULL((void*)0);
17293 __pyx_L0:;
17294 __Pyx_XGIVEREF(__pyx_r);
17295 __Pyx_RefNannyFinishContext();
17296 return __pyx_r;
17297}
17298
17299/* "xmmsapi.pyx":779
17300 *
17301 * class XmmsServiceClient(_XmmsServiceClient):
17302 * def _update_api(self, xvalue, recursive = False, cb = None): # <<<<<<<<<<<<<<
17303 * cdef XmmsValueC2C cxvalue
17304 * cxvalue = XmmsValueC2C(pyval = xvalue)
17305 */
17306
17307/* Python wrapper */
17308static PyObject *__pyx_pw_7xmmsapi_17XmmsServiceClient_1_update_api(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
17309static char __pyx_doc_7xmmsapi_17XmmsServiceClient__update_api[] = "XmmsServiceClient._update_api(self, xvalue, recursive=False, cb=None)";
17310static PyMethodDef __pyx_mdef_7xmmsapi_17XmmsServiceClient_1_update_api = {__Pyx_NAMESTR("_update_api")("_update_api"), (PyCFunction)__pyx_pw_7xmmsapi_17XmmsServiceClient_1_update_api, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_17XmmsServiceClient__update_api)(__pyx_doc_7xmmsapi_17XmmsServiceClient__update_api)};
17311static PyObject *__pyx_pw_7xmmsapi_17XmmsServiceClient_1_update_api(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
17312 PyObject *__pyx_v_self = 0;
17313 PyObject *__pyx_v_xvalue = 0;
17314 PyObject *__pyx_v_recursive = 0;
17315 PyObject *__pyx_v_cb = 0;
17316 int __pyx_lineno = 0;
17317 const char *__pyx_filename = NULL((void*)0);
17318 int __pyx_clineno = 0;
17319 PyObject *__pyx_r = 0;
17320 __Pyx_RefNannyDeclarations
17321 __Pyx_RefNannySetupContext("_update_api (wrapper)", 0);
17322 {
17323 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_xvalue,&__pyx_n_s_recursive,&__pyx_n_s_cb,0};
17324 PyObject* values[4] = {0,0,0,0};
17325 values[2] = ((PyObject *)((PyObject *)Py_False((PyObject *) &_Py_ZeroStruct)));
17326 values[3] = ((PyObject *)((PyObject *)Py_None(&_Py_NoneStruct)));
17327 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
17328 Py_ssize_t kw_args;
17329 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
17330 switch (pos_args) {
17331 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
17332 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
17333 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
17334 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
17335 case 0: break;
17336 default: goto __pyx_L5_argtuple_error;
17337 }
17338 kw_args = PyDict_Size(__pyx_kwds);
17339 switch (pos_args) {
17340 case 0:
17341 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self
)) != 0), 1)
) kw_args--;
17342 else goto __pyx_L5_argtuple_error;
17343 case 1:
17344 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_xvalue)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_xvalue
)) != 0), 1)
) kw_args--;
17345 else {
17346 __Pyx_RaiseArgtupleInvalid("_update_api", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__17346; goto __pyx_L3_error;}
17347 }
17348 case 2:
17349 if (kw_args > 0) {
17350 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recursive);
17351 if (value) { values[2] = value; kw_args--; }
17352 }
17353 case 3:
17354 if (kw_args > 0) {
17355 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
17356 if (value) { values[3] = value; kw_args--; }
17357 }
17358 }
17359 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
17360 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_update_api") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "_update_api") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__17360; goto __pyx_L3_error;}
17361 }
17362 } else {
17363 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
17364 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
17365 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
17366 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
17367 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
17368 break;
17369 default: goto __pyx_L5_argtuple_error;
17370 }
17371 }
17372 __pyx_v_self = values[0];
17373 __pyx_v_xvalue = values[1];
17374 __pyx_v_recursive = values[2];
17375 __pyx_v_cb = values[3];
17376 }
17377 goto __pyx_L4_argument_unpacking_done;
17378 __pyx_L5_argtuple_error:;
17379 __Pyx_RaiseArgtupleInvalid("_update_api", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__17379; goto __pyx_L3_error;}
17380 __pyx_L3_error:;
17381 __Pyx_AddTraceback("xmmsapi.XmmsServiceClient._update_api", __pyx_clineno, __pyx_lineno, __pyx_filename);
17382 __Pyx_RefNannyFinishContext();
17383 return NULL((void*)0);
17384 __pyx_L4_argument_unpacking_done:;
17385 __pyx_r = __pyx_pf_7xmmsapi_17XmmsServiceClient__update_api(__pyx_self, __pyx_v_self, __pyx_v_xvalue, __pyx_v_recursive, __pyx_v_cb);
17386
17387 /* function exit code */
17388 __Pyx_RefNannyFinishContext();
17389 return __pyx_r;
17390}
17391
17392static PyObject *__pyx_pf_7xmmsapi_17XmmsServiceClient__update_api(CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_xvalue, PyObject *__pyx_v_recursive, PyObject *__pyx_v_cb) {
17393 struct __pyx_obj_9xmmsvalue_XmmsValueC2C *__pyx_v_cxvalue = 0;
17394 PyObject *__pyx_v_payload = NULL((void*)0);
17395 PyObject *__pyx_v_c = NULL((void*)0);
17396 PyObject *__pyx_v_v = NULL((void*)0);
17397 PyObject *__pyx_v_bc = NULL((void*)0);
17398 PyObject *__pyx_v_name = NULL((void*)0);
17399 PyObject *__pyx_v_doc = NULL((void*)0);
17400 PyObject *__pyx_v_m = NULL((void*)0);
17401 PyObject *__pyx_v_ns = NULL((void*)0);
17402 PyObject *__pyx_v_sc = NULL((void*)0);
17403 PyObject *__pyx_r = NULL((void*)0);
17404 __Pyx_RefNannyDeclarations
17405 PyObject *__pyx_t_1 = NULL((void*)0);
17406 PyObject *__pyx_t_2 = NULL((void*)0);
17407 PyObject *__pyx_t_3 = NULL((void*)0);
17408 int __pyx_t_4;
17409 int __pyx_t_5;
17410 int __pyx_t_6;
17411 PyObject *__pyx_t_7 = NULL((void*)0);
17412 PyObject *__pyx_t_8 = NULL((void*)0);
17413 PyObject *__pyx_t_9 = NULL((void*)0);
17414 Py_ssize_t __pyx_t_10;
17415 PyObject *(*__pyx_t_11)(PyObject *);
17416 PyObject *__pyx_t_12 = NULL((void*)0);
17417 PyObject *__pyx_t_13 = NULL((void*)0);
17418 PyObject *(*__pyx_t_14)(PyObject *);
17419 int __pyx_t_15;
17420 int __pyx_t_16;
17421 PyObject *__pyx_t_17 = NULL((void*)0);
17422 PyObject *__pyx_t_18 = NULL((void*)0);
17423 int __pyx_lineno = 0;
17424 const char *__pyx_filename = NULL((void*)0);
17425 int __pyx_clineno = 0;
17426 __Pyx_RefNannySetupContext("_update_api", 0);
17427
17428 /* "xmmsapi.pyx":781
17429 * def _update_api(self, xvalue, recursive = False, cb = None):
17430 * cdef XmmsValueC2C cxvalue
17431 * cxvalue = XmmsValueC2C(pyval = xvalue) # <<<<<<<<<<<<<<
17432 *
17433 * if cxvalue.sender != self._clientid:
17434 */
17435 __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__17435; goto __pyx_L1_error;}
17436 __Pyx_GOTREF(__pyx_t_1);
17437 if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_pyval, __pyx_v_xvalue) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__17437; goto __pyx_L1_error;}
17438 __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_9xmmsvalue_XmmsValueC2C)), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __pyx_clineno = __LINE__17438; goto __pyx_L1_error;}
17439 __Pyx_GOTREF(__pyx_t_2);
17440 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
17441 __pyx_v_cxvalue = ((struct __pyx_obj_9xmmsvalue_XmmsValueC2C *)__pyx_t_2);
17442 __pyx_t_2 = 0;
17443
17444 /* "xmmsapi.pyx":783
17445 * cxvalue = XmmsValueC2C(pyval = xvalue)
17446 *
17447 * if cxvalue.sender != self._clientid: # <<<<<<<<<<<<<<
17448 * # ignore bad sender
17449 * return
17450 */
17451 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cxvalue), __pyx_n_s_sender); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__17451; goto __pyx_L1_error;}
17452 __Pyx_GOTREF(__pyx_t_2);
17453 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_clientid_2); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__17453; goto __pyx_L1_error;}
17454 __Pyx_GOTREF(__pyx_t_1);
17455 __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_t_1, Py_NE3); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__17455; goto __pyx_L1_error;}
17456 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
17457 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
17458 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)__builtin_expect(!!(__pyx_t_4 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 783; __pyx_clineno = __LINE__17458; goto __pyx_L1_error;}
17459 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
17460 if (__pyx_t_4) {
17461
17462 /* "xmmsapi.pyx":785
17463 * if cxvalue.sender != self._clientid:
17464 * # ignore bad sender
17465 * return # <<<<<<<<<<<<<<
17466 *
17467 * payload = cxvalue.payload
17468 */
17469 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
17470 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
17471 goto __pyx_L0;
17472 }
17473
17474 /* "xmmsapi.pyx":787
17475 * return
17476 *
17477 * payload = cxvalue.payload # <<<<<<<<<<<<<<
17478 * if payload and payload.get_type() == XMMSV_TYPE_DICT:
17479 * payload = payload.get_dict()
17480 */
17481 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cxvalue), __pyx_n_s_payload); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__17481; goto __pyx_L1_error;}
17482 __Pyx_GOTREF(__pyx_t_3);
17483 __pyx_v_payload = __pyx_t_3;
17484 __pyx_t_3 = 0;
17485
17486 /* "xmmsapi.pyx":788
17487 *
17488 * payload = cxvalue.payload
17489 * if payload and payload.get_type() == XMMSV_TYPE_DICT: # <<<<<<<<<<<<<<
17490 * payload = payload.get_dict()
17491 * else:
17492 */
17493 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_payload); if (unlikely(__pyx_t_4 < 0)__builtin_expect(!!(__pyx_t_4 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__17493; goto __pyx_L1_error;}
17494 if (__pyx_t_4) {
17495 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_payload, __pyx_n_s_get_type); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__17495; goto __pyx_L1_error;}
17496 __Pyx_GOTREF(__pyx_t_3);
17497 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__17497; goto __pyx_L1_error;}
17498 __Pyx_GOTREF(__pyx_t_1);
17499 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
17500 __pyx_t_3 = PyInt_FromLong(XMMSV_TYPE_DICT); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__17500; goto __pyx_L1_error;}
17501 __Pyx_GOTREF(__pyx_t_3);
17502 __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_t_3, Py_EQ2); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__17502; goto __pyx_L1_error;}
17503 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
17504 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
17505 __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)__builtin_expect(!!(__pyx_t_5 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__17505; goto __pyx_L1_error;}
17506 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
17507 __pyx_t_6 = __pyx_t_5;
17508 } else {
17509 __pyx_t_6 = __pyx_t_4;
17510 }
17511 if (__pyx_t_6) {
17512
17513 /* "xmmsapi.pyx":789
17514 * payload = cxvalue.payload
17515 * if payload and payload.get_type() == XMMSV_TYPE_DICT:
17516 * payload = payload.get_dict() # <<<<<<<<<<<<<<
17517 * else:
17518 * return
17519 */
17520 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_payload, __pyx_n_s_get_dict); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__17520; goto __pyx_L1_error;}
17521 __Pyx_GOTREF(__pyx_t_2);
17522 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__17522; goto __pyx_L1_error;}
17523 __Pyx_GOTREF(__pyx_t_3);
17524 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
17525 __Pyx_DECREF_SET(__pyx_v_payload, __pyx_t_3)do { PyObject *tmp = (PyObject *) __pyx_v_payload; __pyx_v_payload
= __pyx_t_3; do { if ( --((PyObject*)(tmp))->ob_refcnt !=
0) ; else ( (*(((PyObject*)((PyObject *)(tmp)))->ob_type)
->tp_dealloc)((PyObject *)((PyObject *)(tmp)))); } while (
0); } while (0)
;
17526 __pyx_t_3 = 0;
17527 goto __pyx_L4;
17528 }
17529 /*else*/ {
17530
17531 /* "xmmsapi.pyx":791
17532 * payload = payload.get_dict()
17533 * else:
17534 * return # <<<<<<<<<<<<<<
17535 *
17536 * self.__doc__ = payload.get('docstring', '')
17537 */
17538 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
17539 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
17540 goto __pyx_L0;
17541 }
17542 __pyx_L4:;
17543
17544 /* "xmmsapi.pyx":793
17545 * return
17546 *
17547 * self.__doc__ = payload.get('docstring', '') # <<<<<<<<<<<<<<
17548 *
17549 * try:
17550 */
17551 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_payload, __pyx_n_s_get); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__17551; goto __pyx_L1_error;}
17552 __Pyx_GOTREF(__pyx_t_3);
17553 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__33, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__17553; goto __pyx_L1_error;}
17554 __Pyx_GOTREF(__pyx_t_2);
17555 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
17556 if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_doc, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__17556; goto __pyx_L1_error;}
17557 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
17558
17559 /* "xmmsapi.pyx":795
17560 * self.__doc__ = payload.get('docstring', '')
17561 *
17562 * try: # <<<<<<<<<<<<<<
17563 * for c, v in payload.get('constants', {}).items():
17564 * if hasattr(self.__class__, c):
17565 */
17566 {
17567 __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9);
17568 __Pyx_XGOTREF(__pyx_t_7);
17569 __Pyx_XGOTREF(__pyx_t_8);
17570 __Pyx_XGOTREF(__pyx_t_9);
17571 /*try:*/ {
17572
17573 /* "xmmsapi.pyx":796
17574 *
17575 * try:
17576 * for c, v in payload.get('constants', {}).items(): # <<<<<<<<<<<<<<
17577 * if hasattr(self.__class__, c):
17578 * continue
17579 */
17580 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_payload, __pyx_n_s_get); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__17580; goto __pyx_L5_error;}
17581 __Pyx_GOTREF(__pyx_t_2);
17582 __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__17582; goto __pyx_L5_error;}
17583 __Pyx_GOTREF(__pyx_t_3);
17584 __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__17584; goto __pyx_L5_error;}
17585 __Pyx_GOTREF(__pyx_t_1);
17586 __Pyx_INCREF(__pyx_n_s_constants)( ((PyObject*)(__pyx_n_s_constants))->ob_refcnt++);
17587 PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_constants)(((PyTupleObject *)(__pyx_t_1))->ob_item[0] = __pyx_n_s_constants
)
;
17588 __Pyx_GIVEREF(__pyx_n_s_constants);
17589 PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_3)(((PyTupleObject *)(__pyx_t_1))->ob_item[1] = __pyx_t_3);
17590 __Pyx_GIVEREF(__pyx_t_3);
17591 __pyx_t_3 = 0;
17592 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__17592; goto __pyx_L5_error;}
17593 __Pyx_GOTREF(__pyx_t_3);
17594 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
17595 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
17596 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_items); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__17596; goto __pyx_L5_error;}
17597 __Pyx_GOTREF(__pyx_t_1);
17598 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
17599 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__17599; goto __pyx_L5_error;}
17600 __Pyx_GOTREF(__pyx_t_3);
17601 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
17602 if (PyList_CheckExact(__pyx_t_3)((((PyObject*)(__pyx_t_3))->ob_type) == &PyList_Type) || PyTuple_CheckExact(__pyx_t_3)((((PyObject*)(__pyx_t_3))->ob_type) == &PyTuple_Type)) {
17603 __pyx_t_1 = __pyx_t_3; __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++); __pyx_t_10 = 0;
17604 __pyx_t_11 = NULL((void*)0);
17605 } else {
17606 __pyx_t_10 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__17606; goto __pyx_L5_error;}
17607 __Pyx_GOTREF(__pyx_t_1);
17608 __pyx_t_11 = Py_TYPE(__pyx_t_1)(((PyObject*)(__pyx_t_1))->ob_type)->tp_iternext;
17609 }
17610 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
17611 for (;;) {
17612 if (!__pyx_t_11 && PyList_CheckExact(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyList_Type)) {
17613 if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_1)(((PyVarObject*)(__pyx_t_1))->ob_size)) break;
17614 #if CYTHON_COMPILING_IN_CPYTHON1
17615 __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_10)(((PyListObject *)(__pyx_t_1))->ob_item[__pyx_t_10]); __Pyx_INCREF(__pyx_t_3)( ((PyObject*)(__pyx_t_3))->ob_refcnt++); __pyx_t_10++; if (unlikely(0 < 0)__builtin_expect(!!(0 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__17615; goto __pyx_L5_error;}
17616 #else
17617 __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_10)( (((PyObject*)(__pyx_t_1))->ob_type)->tp_as_sequence->
sq_item(__pyx_t_1, __pyx_t_10) )
; __pyx_t_10++; if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__17617; goto __pyx_L5_error;}
17618 #endif
17619 } else if (!__pyx_t_11 && PyTuple_CheckExact(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyTuple_Type)) {
17620 if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_1)(((PyVarObject*)(__pyx_t_1))->ob_size)) break;
17621 #if CYTHON_COMPILING_IN_CPYTHON1
17622 __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_10)(((PyTupleObject *)(__pyx_t_1))->ob_item[__pyx_t_10]); __Pyx_INCREF(__pyx_t_3)( ((PyObject*)(__pyx_t_3))->ob_refcnt++); __pyx_t_10++; if (unlikely(0 < 0)__builtin_expect(!!(0 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__17622; goto __pyx_L5_error;}
17623 #else
17624 __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_10)( (((PyObject*)(__pyx_t_1))->ob_type)->tp_as_sequence->
sq_item(__pyx_t_1, __pyx_t_10) )
; __pyx_t_10++; if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__17624; goto __pyx_L5_error;}
17625 #endif
17626 } else {
17627 __pyx_t_3 = __pyx_t_11(__pyx_t_1);
17628 if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {
17629 PyObject* exc_type = PyErr_Occurred();
17630 if (exc_type) {
17631 if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))__builtin_expect(!!(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches
(exc_type, PyExc_StopIteration)), 1)
) PyErr_Clear();
17632 else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__17632; goto __pyx_L5_error;}
17633 }
17634 break;
17635 }
17636 __Pyx_GOTREF(__pyx_t_3);
17637 }
17638 if ((likely(PyTuple_CheckExact(__pyx_t_3))__builtin_expect(!!(((((PyObject*)(__pyx_t_3))->ob_type) ==
&PyTuple_Type)), 1)
) || (PyList_CheckExact(__pyx_t_3)((((PyObject*)(__pyx_t_3))->ob_type) == &PyList_Type))) {
17639 PyObject* sequence = __pyx_t_3;
17640 #if CYTHON_COMPILING_IN_CPYTHON1
17641 Py_ssize_t size = Py_SIZE(sequence)(((PyVarObject*)(sequence))->ob_size);
17642 #else
17643 Py_ssize_t size = PySequence_Size(sequence);
17644 #endif
17645 if (unlikely(size != 2)__builtin_expect(!!(size != 2), 0)) {
17646 if (size > 2) __Pyx_RaiseTooManyValuesError(2);
17647 else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
17648 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__17648; goto __pyx_L5_error;}
17649 }
17650 #if CYTHON_COMPILING_IN_CPYTHON1
17651 if (likely(PyTuple_CheckExact(sequence))__builtin_expect(!!(((((PyObject*)(sequence))->ob_type) ==
&PyTuple_Type)), 1)
) {
17652 __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0)(((PyTupleObject *)(sequence))->ob_item[0]);
17653 __pyx_t_12 = PyTuple_GET_ITEM(sequence, 1)(((PyTupleObject *)(sequence))->ob_item[1]);
17654 } else {
17655 __pyx_t_2 = PyList_GET_ITEM(sequence, 0)(((PyListObject *)(sequence))->ob_item[0]);
17656 __pyx_t_12 = PyList_GET_ITEM(sequence, 1)(((PyListObject *)(sequence))->ob_item[1]);
17657 }
17658 __Pyx_INCREF(__pyx_t_2)( ((PyObject*)(__pyx_t_2))->ob_refcnt++);
17659 __Pyx_INCREF(__pyx_t_12)( ((PyObject*)(__pyx_t_12))->ob_refcnt++);
17660 #else
17661 __pyx_t_2 = PySequence_ITEM(sequence, 0)( (((PyObject*)(sequence))->ob_type)->tp_as_sequence->
sq_item(sequence, 0) )
; if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__17661; goto __pyx_L5_error;}
17662 __Pyx_GOTREF(__pyx_t_2);
17663 __pyx_t_12 = PySequence_ITEM(sequence, 1)( (((PyObject*)(sequence))->ob_type)->tp_as_sequence->
sq_item(sequence, 1) )
; if (unlikely(!__pyx_t_12)__builtin_expect(!!(!__pyx_t_12), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__17663; goto __pyx_L5_error;}
17664 __Pyx_GOTREF(__pyx_t_12);
17665 #endif
17666 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
17667 } else {
17668 Py_ssize_t index = -1;
17669 __pyx_t_13 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_13)__builtin_expect(!!(!__pyx_t_13), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__17669; goto __pyx_L5_error;}
17670 __Pyx_GOTREF(__pyx_t_13);
17671 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
17672 __pyx_t_14 = Py_TYPE(__pyx_t_13)(((PyObject*)(__pyx_t_13))->ob_type)->tp_iternext;
17673 index = 0; __pyx_t_2 = __pyx_t_14(__pyx_t_13); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) goto __pyx_L15_unpacking_failed;
17674 __Pyx_GOTREF(__pyx_t_2);
17675 index = 1; __pyx_t_12 = __pyx_t_14(__pyx_t_13); if (unlikely(!__pyx_t_12)__builtin_expect(!!(!__pyx_t_12), 0)) goto __pyx_L15_unpacking_failed;
17676 __Pyx_GOTREF(__pyx_t_12);
17677 if (__Pyx_IternextUnpackEndCheck(__pyx_t_14(__pyx_t_13), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__17677; goto __pyx_L5_error;}
17678 __pyx_t_14 = NULL((void*)0);
17679 __Pyx_DECREF(__pyx_t_13)do { if ( --((PyObject*)(__pyx_t_13))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_13)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_13)))); } while
(0)
; __pyx_t_13 = 0;
17680 goto __pyx_L16_unpacking_done;
17681 __pyx_L15_unpacking_failed:;
17682 __Pyx_DECREF(__pyx_t_13)do { if ( --((PyObject*)(__pyx_t_13))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_13)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_13)))); } while
(0)
; __pyx_t_13 = 0;
17683 __pyx_t_14 = NULL((void*)0);
17684 if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
17685 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__17685; goto __pyx_L5_error;}
17686 __pyx_L16_unpacking_done:;
17687 }
17688 __Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_2)do { PyObject *tmp = (PyObject *) __pyx_v_c; __pyx_v_c = __pyx_t_2
; do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0); } while (0)
;
17689 __pyx_t_2 = 0;
17690 __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_12)do { PyObject *tmp = (PyObject *) __pyx_v_v; __pyx_v_v = __pyx_t_12
; do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0); } while (0)
;
17691 __pyx_t_12 = 0;
17692
17693 /* "xmmsapi.pyx":797
17694 * try:
17695 * for c, v in payload.get('constants', {}).items():
17696 * if hasattr(self.__class__, c): # <<<<<<<<<<<<<<
17697 * continue
17698 * setattr(self, c, v)
17699 */
17700 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_class); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__17700; goto __pyx_L5_error;}
17701 __Pyx_GOTREF(__pyx_t_3);
17702 __pyx_t_6 = PyObject_HasAttr(__pyx_t_3, __pyx_v_c); if (unlikely(__pyx_t_6 == -1)__builtin_expect(!!(__pyx_t_6 == -1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__17702; goto __pyx_L5_error;}
17703 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
17704 __pyx_t_4 = (__pyx_t_6 != 0);
17705 if (__pyx_t_4) {
17706
17707 /* "xmmsapi.pyx":798
17708 * for c, v in payload.get('constants', {}).items():
17709 * if hasattr(self.__class__, c):
17710 * continue # <<<<<<<<<<<<<<
17711 * setattr(self, c, v)
17712 * except (AttributeError, TypeError):
17713 */
17714 goto __pyx_L13_continue;
17715 }
17716
17717 /* "xmmsapi.pyx":799
17718 * if hasattr(self.__class__, c):
17719 * continue
17720 * setattr(self, c, v) # <<<<<<<<<<<<<<
17721 * except (AttributeError, TypeError):
17722 * pass
17723 */
17724 __pyx_t_15 = PyObject_SetAttr(__pyx_v_self, __pyx_v_c, __pyx_v_v); if (unlikely(__pyx_t_15 == -1)__builtin_expect(!!(__pyx_t_15 == -1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __pyx_clineno = __LINE__17724; goto __pyx_L5_error;}
17725 __pyx_L13_continue:;
17726 }
17727 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
17728 }
17729 __Pyx_XDECREF(__pyx_t_7)do { if ((__pyx_t_7) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_7))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_7)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_7)))); } while (0); } while (0)
; __pyx_t_7 = 0;
17730 __Pyx_XDECREF(__pyx_t_8)do { if ((__pyx_t_8) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_8))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_8)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_8)))); } while (0); } while (0)
; __pyx_t_8 = 0;
17731 __Pyx_XDECREF(__pyx_t_9)do { if ((__pyx_t_9) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_9))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_9)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_9)))); } while (0); } while (0)
; __pyx_t_9 = 0;
17732 goto __pyx_L12_try_end;
17733 __pyx_L5_error:;
17734 __Pyx_XDECREF(__pyx_t_13)do { if ((__pyx_t_13) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_13))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_t_13)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_13)))); } while (0); } while (0)
; __pyx_t_13 = 0;
17735 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
; __pyx_t_2 = 0;
17736 __Pyx_XDECREF(__pyx_t_12)do { if ((__pyx_t_12) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_12))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_t_12)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_12)))); } while (0); } while (0)
; __pyx_t_12 = 0;
17737 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
; __pyx_t_3 = 0;
17738 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
; __pyx_t_1 = 0;
17739
17740 /* "xmmsapi.pyx":800
17741 * continue
17742 * setattr(self, c, v)
17743 * except (AttributeError, TypeError): # <<<<<<<<<<<<<<
17744 * pass
17745 *
17746 */
17747 __pyx_t_16 = PyErr_ExceptionMatches(__pyx_builtin_AttributeError) || PyErr_ExceptionMatches(__pyx_builtin_TypeError);
17748 if (__pyx_t_16) {
17749 PyErr_Restore(0,0,0);
17750 goto __pyx_L6_exception_handled;
17751 }
17752 goto __pyx_L7_except_error;
17753 __pyx_L7_except_error:;
17754 __Pyx_XGIVEREF(__pyx_t_7);
17755 __Pyx_XGIVEREF(__pyx_t_8);
17756 __Pyx_XGIVEREF(__pyx_t_9);
17757 __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
17758 goto __pyx_L1_error;
17759 __pyx_L6_exception_handled:;
17760 __Pyx_XGIVEREF(__pyx_t_7);
17761 __Pyx_XGIVEREF(__pyx_t_8);
17762 __Pyx_XGIVEREF(__pyx_t_9);
17763 __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
17764 __pyx_L12_try_end:;
17765 }
17766
17767 /* "xmmsapi.pyx":803
17768 * pass
17769 *
17770 * if self._async: # <<<<<<<<<<<<<<
17771 * # Expose broadcasts only for asynchronous connections.
17772 * for bc in payload.get('broadcasts', []):
17773 */
17774 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_async); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__17774; goto __pyx_L1_error;}
17775 __Pyx_GOTREF(__pyx_t_1);
17776 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)__builtin_expect(!!(__pyx_t_4 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__17776; goto __pyx_L1_error;}
17777 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
17778 if (__pyx_t_4) {
17779
17780 /* "xmmsapi.pyx":805
17781 * if self._async:
17782 * # Expose broadcasts only for asynchronous connections.
17783 * for bc in payload.get('broadcasts', []): # <<<<<<<<<<<<<<
17784 * try:
17785 * name = bc['name']
17786 */
17787 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_payload, __pyx_n_s_get); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__17787; goto __pyx_L1_error;}
17788 __Pyx_GOTREF(__pyx_t_1);
17789 __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__17789; goto __pyx_L1_error;}
17790 __Pyx_GOTREF(__pyx_t_3);
17791 __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)__builtin_expect(!!(!__pyx_t_12), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__17791; goto __pyx_L1_error;}
17792 __Pyx_GOTREF(__pyx_t_12);
17793 __Pyx_INCREF(__pyx_n_s_broadcasts)( ((PyObject*)(__pyx_n_s_broadcasts))->ob_refcnt++);
17794 PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_n_s_broadcasts)(((PyTupleObject *)(__pyx_t_12))->ob_item[0] = __pyx_n_s_broadcasts
)
;
17795 __Pyx_GIVEREF(__pyx_n_s_broadcasts);
17796 PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_3)(((PyTupleObject *)(__pyx_t_12))->ob_item[1] = __pyx_t_3);
17797 __Pyx_GIVEREF(__pyx_t_3);
17798 __pyx_t_3 = 0;
17799 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_12, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__17799; goto __pyx_L1_error;}
17800 __Pyx_GOTREF(__pyx_t_3);
17801 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
17802 __Pyx_DECREF(__pyx_t_12)do { if ( --((PyObject*)(__pyx_t_12))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_12)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_12)))); } while
(0)
; __pyx_t_12 = 0;
17803 if (PyList_CheckExact(__pyx_t_3)((((PyObject*)(__pyx_t_3))->ob_type) == &PyList_Type) || PyTuple_CheckExact(__pyx_t_3)((((PyObject*)(__pyx_t_3))->ob_type) == &PyTuple_Type)) {
17804 __pyx_t_12 = __pyx_t_3; __Pyx_INCREF(__pyx_t_12)( ((PyObject*)(__pyx_t_12))->ob_refcnt++); __pyx_t_10 = 0;
17805 __pyx_t_11 = NULL((void*)0);
17806 } else {
17807 __pyx_t_10 = -1; __pyx_t_12 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_12)__builtin_expect(!!(!__pyx_t_12), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__17807; goto __pyx_L1_error;}
17808 __Pyx_GOTREF(__pyx_t_12);
17809 __pyx_t_11 = Py_TYPE(__pyx_t_12)(((PyObject*)(__pyx_t_12))->ob_type)->tp_iternext;
17810 }
17811 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
17812 for (;;) {
17813 if (!__pyx_t_11 && PyList_CheckExact(__pyx_t_12)((((PyObject*)(__pyx_t_12))->ob_type) == &PyList_Type)) {
17814 if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_12)(((PyVarObject*)(__pyx_t_12))->ob_size)) break;
17815 #if CYTHON_COMPILING_IN_CPYTHON1
17816 __pyx_t_3 = PyList_GET_ITEM(__pyx_t_12, __pyx_t_10)(((PyListObject *)(__pyx_t_12))->ob_item[__pyx_t_10]); __Pyx_INCREF(__pyx_t_3)( ((PyObject*)(__pyx_t_3))->ob_refcnt++); __pyx_t_10++; if (unlikely(0 < 0)__builtin_expect(!!(0 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__17816; goto __pyx_L1_error;}
17817 #else
17818 __pyx_t_3 = PySequence_ITEM(__pyx_t_12, __pyx_t_10)( (((PyObject*)(__pyx_t_12))->ob_type)->tp_as_sequence->
sq_item(__pyx_t_12, __pyx_t_10) )
; __pyx_t_10++; if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__17818; goto __pyx_L1_error;}
17819 #endif
17820 } else if (!__pyx_t_11 && PyTuple_CheckExact(__pyx_t_12)((((PyObject*)(__pyx_t_12))->ob_type) == &PyTuple_Type
)
) {
17821 if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_12)(((PyVarObject*)(__pyx_t_12))->ob_size)) break;
17822 #if CYTHON_COMPILING_IN_CPYTHON1
17823 __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_12, __pyx_t_10)(((PyTupleObject *)(__pyx_t_12))->ob_item[__pyx_t_10]); __Pyx_INCREF(__pyx_t_3)( ((PyObject*)(__pyx_t_3))->ob_refcnt++); __pyx_t_10++; if (unlikely(0 < 0)__builtin_expect(!!(0 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__17823; goto __pyx_L1_error;}
17824 #else
17825 __pyx_t_3 = PySequence_ITEM(__pyx_t_12, __pyx_t_10)( (((PyObject*)(__pyx_t_12))->ob_type)->tp_as_sequence->
sq_item(__pyx_t_12, __pyx_t_10) )
; __pyx_t_10++; if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__17825; goto __pyx_L1_error;}
17826 #endif
17827 } else {
17828 __pyx_t_3 = __pyx_t_11(__pyx_t_12);
17829 if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {
17830 PyObject* exc_type = PyErr_Occurred();
17831 if (exc_type) {
17832 if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))__builtin_expect(!!(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches
(exc_type, PyExc_StopIteration)), 1)
) PyErr_Clear();
17833 else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 805; __pyx_clineno = __LINE__17833; goto __pyx_L1_error;}
17834 }
17835 break;
17836 }
17837 __Pyx_GOTREF(__pyx_t_3);
17838 }
17839 __Pyx_XDECREF_SET(__pyx_v_bc, __pyx_t_3)do { PyObject *tmp = (PyObject *) __pyx_v_bc; __pyx_v_bc = __pyx_t_3
; do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0); } while (0)
;
17840 __pyx_t_3 = 0;
17841
17842 /* "xmmsapi.pyx":806
17843 * # Expose broadcasts only for asynchronous connections.
17844 * for bc in payload.get('broadcasts', []):
17845 * try: # <<<<<<<<<<<<<<
17846 * name = bc['name']
17847 * doc = bc.get('docstring')
17848 */
17849 {
17850 __Pyx_ExceptionSave(&__pyx_t_9, &__pyx_t_8, &__pyx_t_7);
17851 __Pyx_XGOTREF(__pyx_t_9);
17852 __Pyx_XGOTREF(__pyx_t_8);
17853 __Pyx_XGOTREF(__pyx_t_7);
17854 /*try:*/ {
17855
17856 /* "xmmsapi.pyx":807
17857 * for bc in payload.get('broadcasts', []):
17858 * try:
17859 * name = bc['name'] # <<<<<<<<<<<<<<
17860 * doc = bc.get('docstring')
17861 * except (TypeError, AttributeError, KeyError):
17862 */
17863 __pyx_t_3 = PyObject_GetItem(__pyx_v_bc, __pyx_n_s_name_2); if (unlikely(__pyx_t_3 == NULL)__builtin_expect(!!(__pyx_t_3 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__17863; goto __pyx_L21_error;};
17864 __Pyx_GOTREF(__pyx_t_3);
17865 __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_3)do { PyObject *tmp = (PyObject *) __pyx_v_name; __pyx_v_name =
__pyx_t_3; do { if ((tmp) == ((void*)0)) ; else do { if ( --
((PyObject*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject
*)((PyObject *)(tmp)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(tmp)))); } while (0); } while (0); } while (
0)
;
17866 __pyx_t_3 = 0;
17867
17868 /* "xmmsapi.pyx":808
17869 * try:
17870 * name = bc['name']
17871 * doc = bc.get('docstring') # <<<<<<<<<<<<<<
17872 * except (TypeError, AttributeError, KeyError):
17873 * continue
17874 */
17875 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_bc, __pyx_n_s_get); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__17875; goto __pyx_L21_error;}
17876 __Pyx_GOTREF(__pyx_t_3);
17877 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__34, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__17877; goto __pyx_L21_error;}
17878 __Pyx_GOTREF(__pyx_t_1);
17879 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
17880 __Pyx_XDECREF_SET(__pyx_v_doc, __pyx_t_1)do { PyObject *tmp = (PyObject *) __pyx_v_doc; __pyx_v_doc = __pyx_t_1
; do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0); } while (0)
;
17881 __pyx_t_1 = 0;
17882 }
17883 __Pyx_XDECREF(__pyx_t_9)do { if ((__pyx_t_9) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_9))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_9)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_9)))); } while (0); } while (0)
; __pyx_t_9 = 0;
17884 __Pyx_XDECREF(__pyx_t_8)do { if ((__pyx_t_8) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_8))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_8)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_8)))); } while (0); } while (0)
; __pyx_t_8 = 0;
17885 __Pyx_XDECREF(__pyx_t_7)do { if ((__pyx_t_7) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_7))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_7)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_7)))); } while (0); } while (0)
; __pyx_t_7 = 0;
17886 goto __pyx_L28_try_end;
17887 __pyx_L21_error:;
17888 __Pyx_XDECREF(__pyx_t_13)do { if ((__pyx_t_13) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_13))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_t_13)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_13)))); } while (0); } while (0)
; __pyx_t_13 = 0;
17889 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
; __pyx_t_2 = 0;
17890 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
; __pyx_t_3 = 0;
17891 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
; __pyx_t_1 = 0;
17892
17893 /* "xmmsapi.pyx":809
17894 * name = bc['name']
17895 * doc = bc.get('docstring')
17896 * except (TypeError, AttributeError, KeyError): # <<<<<<<<<<<<<<
17897 * continue
17898 * if hasattr(self.__class__, name):
17899 */
17900 __pyx_t_16 = PyErr_ExceptionMatches(__pyx_builtin_TypeError) || PyErr_ExceptionMatches(__pyx_builtin_AttributeError) || PyErr_ExceptionMatches(__pyx_builtin_KeyError);
17901 if (__pyx_t_16) {
17902 __Pyx_AddTraceback("xmmsapi.XmmsServiceClient._update_api", __pyx_clineno, __pyx_lineno, __pyx_filename);
17903 if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__17903; goto __pyx_L23_except_error;}
17904 __Pyx_GOTREF(__pyx_t_1);
17905 __Pyx_GOTREF(__pyx_t_3);
17906 __Pyx_GOTREF(__pyx_t_2);
17907
17908 /* "xmmsapi.pyx":810
17909 * doc = bc.get('docstring')
17910 * except (TypeError, AttributeError, KeyError):
17911 * continue # <<<<<<<<<<<<<<
17912 * if hasattr(self.__class__, name):
17913 * continue
17914 */
17915 goto __pyx_L30_except_continue;
17916 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
17917 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
17918 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
17919 goto __pyx_L22_exception_handled;
17920 __pyx_L30_except_continue:;
17921 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
17922 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
17923 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
17924 goto __pyx_L27_try_continue;
17925 }
17926 goto __pyx_L23_except_error;
17927 __pyx_L23_except_error:;
17928 __Pyx_XGIVEREF(__pyx_t_9);
17929 __Pyx_XGIVEREF(__pyx_t_8);
17930 __Pyx_XGIVEREF(__pyx_t_7);
17931 __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_8, __pyx_t_7);
17932 goto __pyx_L1_error;
17933 __pyx_L27_try_continue:;
17934 __Pyx_XGIVEREF(__pyx_t_9);
17935 __Pyx_XGIVEREF(__pyx_t_8);
17936 __Pyx_XGIVEREF(__pyx_t_7);
17937 __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_8, __pyx_t_7);
17938 goto __pyx_L19_continue;
17939 __pyx_L22_exception_handled:;
17940 __Pyx_XGIVEREF(__pyx_t_9);
17941 __Pyx_XGIVEREF(__pyx_t_8);
17942 __Pyx_XGIVEREF(__pyx_t_7);
17943 __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_8, __pyx_t_7);
17944 __pyx_L28_try_end:;
17945 }
17946
17947 /* "xmmsapi.pyx":811
17948 * except (TypeError, AttributeError, KeyError):
17949 * continue
17950 * if hasattr(self.__class__, name): # <<<<<<<<<<<<<<
17951 * continue
17952 * setattr(self, name, client_broadcast(self, name, doc))
17953 */
17954 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_class); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__17954; goto __pyx_L1_error;}
17955 __Pyx_GOTREF(__pyx_t_2);
17956 __pyx_t_4 = PyObject_HasAttr(__pyx_t_2, __pyx_v_name); if (unlikely(__pyx_t_4 == -1)__builtin_expect(!!(__pyx_t_4 == -1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __pyx_clineno = __LINE__17956; goto __pyx_L1_error;}
17957 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
17958 __pyx_t_6 = (__pyx_t_4 != 0);
17959 if (__pyx_t_6) {
17960
17961 /* "xmmsapi.pyx":812
17962 * continue
17963 * if hasattr(self.__class__, name):
17964 * continue # <<<<<<<<<<<<<<
17965 * setattr(self, name, client_broadcast(self, name, doc))
17966 *
17967 */
17968 goto __pyx_L19_continue;
17969 }
17970
17971 /* "xmmsapi.pyx":813
17972 * if hasattr(self.__class__, name):
17973 * continue
17974 * setattr(self, name, client_broadcast(self, name, doc)) # <<<<<<<<<<<<<<
17975 *
17976 * for m in payload.get('methods', []):
17977 */
17978 __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__17978; goto __pyx_L1_error;}
17979 __Pyx_GOTREF(__pyx_t_2);
17980 __Pyx_INCREF(__pyx_v_self)( ((PyObject*)(__pyx_v_self))->ob_refcnt++);
17981 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_self
)
;
17982 __Pyx_GIVEREF(__pyx_v_self);
17983 __Pyx_INCREF(__pyx_v_name)( ((PyObject*)(__pyx_v_name))->ob_refcnt++);
17984 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_name)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_name
)
;
17985 __Pyx_GIVEREF(__pyx_v_name);
17986 __Pyx_INCREF(__pyx_v_doc)( ((PyObject*)(__pyx_v_doc))->ob_refcnt++);
17987 PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_doc)(((PyTupleObject *)(__pyx_t_2))->ob_item[2] = __pyx_v_doc);
17988 __Pyx_GIVEREF(__pyx_v_doc);
17989 __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_7xmmsapi_client_broadcast)), __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__17989; goto __pyx_L1_error;}
17990 __Pyx_GOTREF(__pyx_t_3);
17991 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
17992 __pyx_t_15 = PyObject_SetAttr(__pyx_v_self, __pyx_v_name, __pyx_t_3); if (unlikely(__pyx_t_15 == -1)__builtin_expect(!!(__pyx_t_15 == -1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__17992; goto __pyx_L1_error;}
17993 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
17994 __pyx_L19_continue:;
17995 }
17996 __Pyx_DECREF(__pyx_t_12)do { if ( --((PyObject*)(__pyx_t_12))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_12)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_12)))); } while
(0)
; __pyx_t_12 = 0;
17997 goto __pyx_L18;
17998 }
17999 __pyx_L18:;
18000
18001 /* "xmmsapi.pyx":815
18002 * setattr(self, name, client_broadcast(self, name, doc))
18003 *
18004 * for m in payload.get('methods', []): # <<<<<<<<<<<<<<
18005 * try:
18006 * name = m['name']
18007 */
18008 __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_payload, __pyx_n_s_get); if (unlikely(!__pyx_t_12)__builtin_expect(!!(!__pyx_t_12), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__18008; goto __pyx_L1_error;}
18009 __Pyx_GOTREF(__pyx_t_12);
18010 __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__18010; goto __pyx_L1_error;}
18011 __Pyx_GOTREF(__pyx_t_3);
18012 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__18012; goto __pyx_L1_error;}
18013 __Pyx_GOTREF(__pyx_t_2);
18014 __Pyx_INCREF(__pyx_n_s_methods)( ((PyObject*)(__pyx_n_s_methods))->ob_refcnt++);
18015 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_methods)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_n_s_methods
)
;
18016 __Pyx_GIVEREF(__pyx_n_s_methods);
18017 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_t_3);
18018 __Pyx_GIVEREF(__pyx_t_3);
18019 __pyx_t_3 = 0;
18020 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__18020; goto __pyx_L1_error;}
18021 __Pyx_GOTREF(__pyx_t_3);
18022 __Pyx_DECREF(__pyx_t_12)do { if ( --((PyObject*)(__pyx_t_12))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_12)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_12)))); } while
(0)
; __pyx_t_12 = 0;
18023 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
18024 if (PyList_CheckExact(__pyx_t_3)((((PyObject*)(__pyx_t_3))->ob_type) == &PyList_Type) || PyTuple_CheckExact(__pyx_t_3)((((PyObject*)(__pyx_t_3))->ob_type) == &PyTuple_Type)) {
18025 __pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2)( ((PyObject*)(__pyx_t_2))->ob_refcnt++); __pyx_t_10 = 0;
18026 __pyx_t_11 = NULL((void*)0);
18027 } else {
18028 __pyx_t_10 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__18028; goto __pyx_L1_error;}
18029 __Pyx_GOTREF(__pyx_t_2);
18030 __pyx_t_11 = Py_TYPE(__pyx_t_2)(((PyObject*)(__pyx_t_2))->ob_type)->tp_iternext;
18031 }
18032 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
18033 for (;;) {
18034 if (!__pyx_t_11 && PyList_CheckExact(__pyx_t_2)((((PyObject*)(__pyx_t_2))->ob_type) == &PyList_Type)) {
18035 if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_2)(((PyVarObject*)(__pyx_t_2))->ob_size)) break;
18036 #if CYTHON_COMPILING_IN_CPYTHON1
18037 __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_10)(((PyListObject *)(__pyx_t_2))->ob_item[__pyx_t_10]); __Pyx_INCREF(__pyx_t_3)( ((PyObject*)(__pyx_t_3))->ob_refcnt++); __pyx_t_10++; if (unlikely(0 < 0)__builtin_expect(!!(0 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__18037; goto __pyx_L1_error;}
18038 #else
18039 __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_10)( (((PyObject*)(__pyx_t_2))->ob_type)->tp_as_sequence->
sq_item(__pyx_t_2, __pyx_t_10) )
; __pyx_t_10++; if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__18039; goto __pyx_L1_error;}
18040 #endif
18041 } else if (!__pyx_t_11 && PyTuple_CheckExact(__pyx_t_2)((((PyObject*)(__pyx_t_2))->ob_type) == &PyTuple_Type)) {
18042 if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_2)(((PyVarObject*)(__pyx_t_2))->ob_size)) break;
18043 #if CYTHON_COMPILING_IN_CPYTHON1
18044 __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_10)(((PyTupleObject *)(__pyx_t_2))->ob_item[__pyx_t_10]); __Pyx_INCREF(__pyx_t_3)( ((PyObject*)(__pyx_t_3))->ob_refcnt++); __pyx_t_10++; if (unlikely(0 < 0)__builtin_expect(!!(0 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__18044; goto __pyx_L1_error;}
18045 #else
18046 __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_10)( (((PyObject*)(__pyx_t_2))->ob_type)->tp_as_sequence->
sq_item(__pyx_t_2, __pyx_t_10) )
; __pyx_t_10++; if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__18046; goto __pyx_L1_error;}
18047 #endif
18048 } else {
18049 __pyx_t_3 = __pyx_t_11(__pyx_t_2);
18050 if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {
18051 PyObject* exc_type = PyErr_Occurred();
18052 if (exc_type) {
18053 if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))__builtin_expect(!!(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches
(exc_type, PyExc_StopIteration)), 1)
) PyErr_Clear();
18054 else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__18054; goto __pyx_L1_error;}
18055 }
18056 break;
18057 }
18058 __Pyx_GOTREF(__pyx_t_3);
18059 }
18060 __Pyx_XDECREF_SET(__pyx_v_m, __pyx_t_3)do { PyObject *tmp = (PyObject *) __pyx_v_m; __pyx_v_m = __pyx_t_3
; do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0); } while (0)
;
18061 __pyx_t_3 = 0;
18062
18063 /* "xmmsapi.pyx":816
18064 *
18065 * for m in payload.get('methods', []):
18066 * try: # <<<<<<<<<<<<<<
18067 * name = m['name']
18068 * doc = m.get('docstring')
18069 */
18070 {
18071 __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9);
18072 __Pyx_XGOTREF(__pyx_t_7);
18073 __Pyx_XGOTREF(__pyx_t_8);
18074 __Pyx_XGOTREF(__pyx_t_9);
18075 /*try:*/ {
18076
18077 /* "xmmsapi.pyx":817
18078 * for m in payload.get('methods', []):
18079 * try:
18080 * name = m['name'] # <<<<<<<<<<<<<<
18081 * doc = m.get('docstring')
18082 * except (TypeError, AttributeError, KeyError):
18083 */
18084 __pyx_t_3 = PyObject_GetItem(__pyx_v_m, __pyx_n_s_name_2); if (unlikely(__pyx_t_3 == NULL)__builtin_expect(!!(__pyx_t_3 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __pyx_clineno = __LINE__18084; goto __pyx_L34_error;};
18085 __Pyx_GOTREF(__pyx_t_3);
18086 __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_3)do { PyObject *tmp = (PyObject *) __pyx_v_name; __pyx_v_name =
__pyx_t_3; do { if ((tmp) == ((void*)0)) ; else do { if ( --
((PyObject*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject
*)((PyObject *)(tmp)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(tmp)))); } while (0); } while (0); } while (
0)
;
18087 __pyx_t_3 = 0;
18088
18089 /* "xmmsapi.pyx":818
18090 * try:
18091 * name = m['name']
18092 * doc = m.get('docstring') # <<<<<<<<<<<<<<
18093 * except (TypeError, AttributeError, KeyError):
18094 * continue
18095 */
18096 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_m, __pyx_n_s_get); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__18096; goto __pyx_L34_error;}
18097 __Pyx_GOTREF(__pyx_t_3);
18098 __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__35, NULL((void*)0)); if (unlikely(!__pyx_t_12)__builtin_expect(!!(!__pyx_t_12), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__18098; goto __pyx_L34_error;}
18099 __Pyx_GOTREF(__pyx_t_12);
18100 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
18101 __Pyx_XDECREF_SET(__pyx_v_doc, __pyx_t_12)do { PyObject *tmp = (PyObject *) __pyx_v_doc; __pyx_v_doc = __pyx_t_12
; do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0); } while (0)
;
18102 __pyx_t_12 = 0;
18103 }
18104 __Pyx_XDECREF(__pyx_t_7)do { if ((__pyx_t_7) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_7))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_7)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_7)))); } while (0); } while (0)
; __pyx_t_7 = 0;
18105 __Pyx_XDECREF(__pyx_t_8)do { if ((__pyx_t_8) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_8))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_8)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_8)))); } while (0); } while (0)
; __pyx_t_8 = 0;
18106 __Pyx_XDECREF(__pyx_t_9)do { if ((__pyx_t_9) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_9))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_9)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_9)))); } while (0); } while (0)
; __pyx_t_9 = 0;
18107 goto __pyx_L41_try_end;
18108 __pyx_L34_error:;
18109 __Pyx_XDECREF(__pyx_t_13)do { if ((__pyx_t_13) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_13))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_t_13)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_13)))); } while (0); } while (0)
; __pyx_t_13 = 0;
18110 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
; __pyx_t_1 = 0;
18111 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
; __pyx_t_3 = 0;
18112 __Pyx_XDECREF(__pyx_t_12)do { if ((__pyx_t_12) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_12))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_t_12)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_12)))); } while (0); } while (0)
; __pyx_t_12 = 0;
18113
18114 /* "xmmsapi.pyx":819
18115 * name = m['name']
18116 * doc = m.get('docstring')
18117 * except (TypeError, AttributeError, KeyError): # <<<<<<<<<<<<<<
18118 * continue
18119 * if hasattr(self.__class__, name):
18120 */
18121 __pyx_t_16 = PyErr_ExceptionMatches(__pyx_builtin_TypeError) || PyErr_ExceptionMatches(__pyx_builtin_AttributeError) || PyErr_ExceptionMatches(__pyx_builtin_KeyError);
18122 if (__pyx_t_16) {
18123 __Pyx_AddTraceback("xmmsapi.XmmsServiceClient._update_api", __pyx_clineno, __pyx_lineno, __pyx_filename);
18124 if (__Pyx_GetException(&__pyx_t_12, &__pyx_t_3, &__pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__18124; goto __pyx_L36_except_error;}
18125 __Pyx_GOTREF(__pyx_t_12);
18126 __Pyx_GOTREF(__pyx_t_3);
18127 __Pyx_GOTREF(__pyx_t_1);
18128
18129 /* "xmmsapi.pyx":820
18130 * doc = m.get('docstring')
18131 * except (TypeError, AttributeError, KeyError):
18132 * continue # <<<<<<<<<<<<<<
18133 * if hasattr(self.__class__, name):
18134 * continue
18135 */
18136 goto __pyx_L43_except_continue;
18137 __Pyx_DECREF(__pyx_t_12)do { if ( --((PyObject*)(__pyx_t_12))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_12)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_12)))); } while
(0)
; __pyx_t_12 = 0;
18138 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
18139 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
18140 goto __pyx_L35_exception_handled;
18141 __pyx_L43_except_continue:;
18142 __Pyx_DECREF(__pyx_t_12)do { if ( --((PyObject*)(__pyx_t_12))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_12)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_12)))); } while
(0)
; __pyx_t_12 = 0;
18143 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
18144 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
18145 goto __pyx_L40_try_continue;
18146 }
18147 goto __pyx_L36_except_error;
18148 __pyx_L36_except_error:;
18149 __Pyx_XGIVEREF(__pyx_t_7);
18150 __Pyx_XGIVEREF(__pyx_t_8);
18151 __Pyx_XGIVEREF(__pyx_t_9);
18152 __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
18153 goto __pyx_L1_error;
18154 __pyx_L40_try_continue:;
18155 __Pyx_XGIVEREF(__pyx_t_7);
18156 __Pyx_XGIVEREF(__pyx_t_8);
18157 __Pyx_XGIVEREF(__pyx_t_9);
18158 __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
18159 goto __pyx_L32_continue;
18160 __pyx_L35_exception_handled:;
18161 __Pyx_XGIVEREF(__pyx_t_7);
18162 __Pyx_XGIVEREF(__pyx_t_8);
18163 __Pyx_XGIVEREF(__pyx_t_9);
18164 __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
18165 __pyx_L41_try_end:;
18166 }
18167
18168 /* "xmmsapi.pyx":821
18169 * except (TypeError, AttributeError, KeyError):
18170 * continue
18171 * if hasattr(self.__class__, name): # <<<<<<<<<<<<<<
18172 * continue
18173 * setattr(self, name, client_method(self, name, doc, m))
18174 */
18175 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_class); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__18175; goto __pyx_L1_error;}
18176 __Pyx_GOTREF(__pyx_t_1);
18177 __pyx_t_6 = PyObject_HasAttr(__pyx_t_1, __pyx_v_name); if (unlikely(__pyx_t_6 == -1)__builtin_expect(!!(__pyx_t_6 == -1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__18177; goto __pyx_L1_error;}
18178 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
18179 __pyx_t_4 = (__pyx_t_6 != 0);
18180 if (__pyx_t_4) {
18181
18182 /* "xmmsapi.pyx":822
18183 * continue
18184 * if hasattr(self.__class__, name):
18185 * continue # <<<<<<<<<<<<<<
18186 * setattr(self, name, client_method(self, name, doc, m))
18187 *
18188 */
18189 goto __pyx_L32_continue;
18190 }
18191
18192 /* "xmmsapi.pyx":823
18193 * if hasattr(self.__class__, name):
18194 * continue
18195 * setattr(self, name, client_method(self, name, doc, m)) # <<<<<<<<<<<<<<
18196 *
18197 * for ns in payload.get('namespaces', []):
18198 */
18199 __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__18199; goto __pyx_L1_error;}
18200 __Pyx_GOTREF(__pyx_t_1);
18201 __Pyx_INCREF(__pyx_v_self)( ((PyObject*)(__pyx_v_self))->ob_refcnt++);
18202 PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self)(((PyTupleObject *)(__pyx_t_1))->ob_item[0] = __pyx_v_self
)
;
18203 __Pyx_GIVEREF(__pyx_v_self);
18204 __Pyx_INCREF(__pyx_v_name)( ((PyObject*)(__pyx_v_name))->ob_refcnt++);
18205 PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_name)(((PyTupleObject *)(__pyx_t_1))->ob_item[1] = __pyx_v_name
)
;
18206 __Pyx_GIVEREF(__pyx_v_name);
18207 __Pyx_INCREF(__pyx_v_doc)( ((PyObject*)(__pyx_v_doc))->ob_refcnt++);
18208 PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_doc)(((PyTupleObject *)(__pyx_t_1))->ob_item[2] = __pyx_v_doc);
18209 __Pyx_GIVEREF(__pyx_v_doc);
18210 __Pyx_INCREF(__pyx_v_m)( ((PyObject*)(__pyx_v_m))->ob_refcnt++);
18211 PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_m)(((PyTupleObject *)(__pyx_t_1))->ob_item[3] = __pyx_v_m);
18212 __Pyx_GIVEREF(__pyx_v_m);
18213 __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_7xmmsapi_client_method)), __pyx_t_1, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__18213; goto __pyx_L1_error;}
18214 __Pyx_GOTREF(__pyx_t_3);
18215 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
18216 __pyx_t_15 = PyObject_SetAttr(__pyx_v_self, __pyx_v_name, __pyx_t_3); if (unlikely(__pyx_t_15 == -1)__builtin_expect(!!(__pyx_t_15 == -1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__18216; goto __pyx_L1_error;}
18217 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
18218 __pyx_L32_continue:;
18219 }
18220 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
18221
18222 /* "xmmsapi.pyx":825
18223 * setattr(self, name, client_method(self, name, doc, m))
18224 *
18225 * for ns in payload.get('namespaces', []): # <<<<<<<<<<<<<<
18226 * if hasattr(self.__class__, ns):
18227 * continue
18228 */
18229 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_payload, __pyx_n_s_get); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__18229; goto __pyx_L1_error;}
18230 __Pyx_GOTREF(__pyx_t_2);
18231 __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__18231; goto __pyx_L1_error;}
18232 __Pyx_GOTREF(__pyx_t_3);
18233 __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__18233; goto __pyx_L1_error;}
18234 __Pyx_GOTREF(__pyx_t_1);
18235 __Pyx_INCREF(__pyx_n_s_namespaces)( ((PyObject*)(__pyx_n_s_namespaces))->ob_refcnt++);
18236 PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_namespaces)(((PyTupleObject *)(__pyx_t_1))->ob_item[0] = __pyx_n_s_namespaces
)
;
18237 __Pyx_GIVEREF(__pyx_n_s_namespaces);
18238 PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_3)(((PyTupleObject *)(__pyx_t_1))->ob_item[1] = __pyx_t_3);
18239 __Pyx_GIVEREF(__pyx_t_3);
18240 __pyx_t_3 = 0;
18241 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__18241; goto __pyx_L1_error;}
18242 __Pyx_GOTREF(__pyx_t_3);
18243 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
18244 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
18245 if (PyList_CheckExact(__pyx_t_3)((((PyObject*)(__pyx_t_3))->ob_type) == &PyList_Type) || PyTuple_CheckExact(__pyx_t_3)((((PyObject*)(__pyx_t_3))->ob_type) == &PyTuple_Type)) {
18246 __pyx_t_1 = __pyx_t_3; __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++); __pyx_t_10 = 0;
18247 __pyx_t_11 = NULL((void*)0);
18248 } else {
18249 __pyx_t_10 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__18249; goto __pyx_L1_error;}
18250 __Pyx_GOTREF(__pyx_t_1);
18251 __pyx_t_11 = Py_TYPE(__pyx_t_1)(((PyObject*)(__pyx_t_1))->ob_type)->tp_iternext;
18252 }
18253 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
18254 for (;;) {
18255 if (!__pyx_t_11 && PyList_CheckExact(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyList_Type)) {
18256 if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_1)(((PyVarObject*)(__pyx_t_1))->ob_size)) break;
18257 #if CYTHON_COMPILING_IN_CPYTHON1
18258 __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_10)(((PyListObject *)(__pyx_t_1))->ob_item[__pyx_t_10]); __Pyx_INCREF(__pyx_t_3)( ((PyObject*)(__pyx_t_3))->ob_refcnt++); __pyx_t_10++; if (unlikely(0 < 0)__builtin_expect(!!(0 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__18258; goto __pyx_L1_error;}
18259 #else
18260 __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_10)( (((PyObject*)(__pyx_t_1))->ob_type)->tp_as_sequence->
sq_item(__pyx_t_1, __pyx_t_10) )
; __pyx_t_10++; if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__18260; goto __pyx_L1_error;}
18261 #endif
18262 } else if (!__pyx_t_11 && PyTuple_CheckExact(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyTuple_Type)) {
18263 if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_1)(((PyVarObject*)(__pyx_t_1))->ob_size)) break;
18264 #if CYTHON_COMPILING_IN_CPYTHON1
18265 __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_10)(((PyTupleObject *)(__pyx_t_1))->ob_item[__pyx_t_10]); __Pyx_INCREF(__pyx_t_3)( ((PyObject*)(__pyx_t_3))->ob_refcnt++); __pyx_t_10++; if (unlikely(0 < 0)__builtin_expect(!!(0 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__18265; goto __pyx_L1_error;}
18266 #else
18267 __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_10)( (((PyObject*)(__pyx_t_1))->ob_type)->tp_as_sequence->
sq_item(__pyx_t_1, __pyx_t_10) )
; __pyx_t_10++; if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__18267; goto __pyx_L1_error;}
18268 #endif
18269 } else {
18270 __pyx_t_3 = __pyx_t_11(__pyx_t_1);
18271 if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {
18272 PyObject* exc_type = PyErr_Occurred();
18273 if (exc_type) {
18274 if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))__builtin_expect(!!(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches
(exc_type, PyExc_StopIteration)), 1)
) PyErr_Clear();
18275 else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__18275; goto __pyx_L1_error;}
18276 }
18277 break;
18278 }
18279 __Pyx_GOTREF(__pyx_t_3);
18280 }
18281 __Pyx_XDECREF_SET(__pyx_v_ns, __pyx_t_3)do { PyObject *tmp = (PyObject *) __pyx_v_ns; __pyx_v_ns = __pyx_t_3
; do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0); } while (0)
;
18282 __pyx_t_3 = 0;
18283
18284 /* "xmmsapi.pyx":826
18285 *
18286 * for ns in payload.get('namespaces', []):
18287 * if hasattr(self.__class__, ns): # <<<<<<<<<<<<<<
18288 * continue
18289 * sc = XmmsServiceClient(self._xmms, self._clientid,
18290 */
18291 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_class); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__18291; goto __pyx_L1_error;}
18292 __Pyx_GOTREF(__pyx_t_3);
18293 __pyx_t_4 = PyObject_HasAttr(__pyx_t_3, __pyx_v_ns); if (unlikely(__pyx_t_4 == -1)__builtin_expect(!!(__pyx_t_4 == -1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__18293; goto __pyx_L1_error;}
18294 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
18295 __pyx_t_6 = (__pyx_t_4 != 0);
18296 if (__pyx_t_6) {
18297
18298 /* "xmmsapi.pyx":827
18299 * for ns in payload.get('namespaces', []):
18300 * if hasattr(self.__class__, ns):
18301 * continue # <<<<<<<<<<<<<<
18302 * sc = XmmsServiceClient(self._xmms, self._clientid,
18303 * path = self._path + (ns,),
18304 */
18305 goto __pyx_L45_continue;
18306 }
18307
18308 /* "xmmsapi.pyx":828
18309 * if hasattr(self.__class__, ns):
18310 * continue
18311 * sc = XmmsServiceClient(self._xmms, self._clientid, # <<<<<<<<<<<<<<
18312 * path = self._path + (ns,),
18313 * _async = self._async)
18314 */
18315 __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_XmmsServiceClient); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 828; __pyx_clineno = __LINE__18315; goto __pyx_L1_error;}
18316 __Pyx_GOTREF(__pyx_t_3);
18317 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_xmms_2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 828; __pyx_clineno = __LINE__18317; goto __pyx_L1_error;}
18318 __Pyx_GOTREF(__pyx_t_2);
18319 __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_clientid_2); if (unlikely(!__pyx_t_12)__builtin_expect(!!(!__pyx_t_12), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 828; __pyx_clineno = __LINE__18319; goto __pyx_L1_error;}
18320 __Pyx_GOTREF(__pyx_t_12);
18321 __pyx_t_13 = PyTuple_New(2); if (unlikely(!__pyx_t_13)__builtin_expect(!!(!__pyx_t_13), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 828; __pyx_clineno = __LINE__18321; goto __pyx_L1_error;}
18322 __Pyx_GOTREF(__pyx_t_13);
18323 PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_13))->ob_item[0] = __pyx_t_2);
18324 __Pyx_GIVEREF(__pyx_t_2);
18325 PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_12)(((PyTupleObject *)(__pyx_t_13))->ob_item[1] = __pyx_t_12);
18326 __Pyx_GIVEREF(__pyx_t_12);
18327 __pyx_t_2 = 0;
18328 __pyx_t_12 = 0;
18329 __pyx_t_12 = PyDict_New(); if (unlikely(!__pyx_t_12)__builtin_expect(!!(!__pyx_t_12), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 828; __pyx_clineno = __LINE__18329; goto __pyx_L1_error;}
18330 __Pyx_GOTREF(__pyx_t_12);
18331
18332 /* "xmmsapi.pyx":829
18333 * continue
18334 * sc = XmmsServiceClient(self._xmms, self._clientid,
18335 * path = self._path + (ns,), # <<<<<<<<<<<<<<
18336 * _async = self._async)
18337 * setattr(self, ns, sc)
18338 */
18339 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_path_2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__18339; goto __pyx_L1_error;}
18340 __Pyx_GOTREF(__pyx_t_2);
18341 __pyx_t_17 = PyTuple_New(1); if (unlikely(!__pyx_t_17)__builtin_expect(!!(!__pyx_t_17), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__18341; goto __pyx_L1_error;}
18342 __Pyx_GOTREF(__pyx_t_17);
18343 __Pyx_INCREF(__pyx_v_ns)( ((PyObject*)(__pyx_v_ns))->ob_refcnt++);
18344 PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_v_ns)(((PyTupleObject *)(__pyx_t_17))->ob_item[0] = __pyx_v_ns);
18345 __Pyx_GIVEREF(__pyx_v_ns);
18346 __pyx_t_18 = PyNumber_Add(__pyx_t_2, __pyx_t_17); if (unlikely(!__pyx_t_18)__builtin_expect(!!(!__pyx_t_18), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __pyx_clineno = __LINE__18346; goto __pyx_L1_error;}
18347 __Pyx_GOTREF(__pyx_t_18);
18348 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
18349 __Pyx_DECREF(__pyx_t_17)do { if ( --((PyObject*)(__pyx_t_17))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_17)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_17)))); } while
(0)
; __pyx_t_17 = 0;
18350 if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_path, __pyx_t_18) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 828; __pyx_clineno = __LINE__18350; goto __pyx_L1_error;}
18351 __Pyx_DECREF(__pyx_t_18)do { if ( --((PyObject*)(__pyx_t_18))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_18)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_18)))); } while
(0)
; __pyx_t_18 = 0;
18352
18353 /* "xmmsapi.pyx":830
18354 * sc = XmmsServiceClient(self._xmms, self._clientid,
18355 * path = self._path + (ns,),
18356 * _async = self._async) # <<<<<<<<<<<<<<
18357 * setattr(self, ns, sc)
18358 * if recursive:
18359 */
18360 __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_async); if (unlikely(!__pyx_t_18)__builtin_expect(!!(!__pyx_t_18), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__18360; goto __pyx_L1_error;}
18361 __Pyx_GOTREF(__pyx_t_18);
18362 if (PyDict_SetItem(__pyx_t_12, __pyx_n_s_async, __pyx_t_18) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 828; __pyx_clineno = __LINE__18362; goto __pyx_L1_error;}
18363 __Pyx_DECREF(__pyx_t_18)do { if ( --((PyObject*)(__pyx_t_18))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_18)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_18)))); } while
(0)
; __pyx_t_18 = 0;
18364
18365 /* "xmmsapi.pyx":828
18366 * if hasattr(self.__class__, ns):
18367 * continue
18368 * sc = XmmsServiceClient(self._xmms, self._clientid, # <<<<<<<<<<<<<<
18369 * path = self._path + (ns,),
18370 * _async = self._async)
18371 */
18372 __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_13, __pyx_t_12); if (unlikely(!__pyx_t_18)__builtin_expect(!!(!__pyx_t_18), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 828; __pyx_clineno = __LINE__18372; goto __pyx_L1_error;}
18373 __Pyx_GOTREF(__pyx_t_18);
18374 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
18375 __Pyx_DECREF(__pyx_t_13)do { if ( --((PyObject*)(__pyx_t_13))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_13)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_13)))); } while
(0)
; __pyx_t_13 = 0;
18376 __Pyx_DECREF(__pyx_t_12)do { if ( --((PyObject*)(__pyx_t_12))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_12)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_12)))); } while
(0)
; __pyx_t_12 = 0;
18377 __Pyx_XDECREF_SET(__pyx_v_sc, __pyx_t_18)do { PyObject *tmp = (PyObject *) __pyx_v_sc; __pyx_v_sc = __pyx_t_18
; do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0); } while (0)
;
18378 __pyx_t_18 = 0;
18379
18380 /* "xmmsapi.pyx":831
18381 * path = self._path + (ns,),
18382 * _async = self._async)
18383 * setattr(self, ns, sc) # <<<<<<<<<<<<<<
18384 * if recursive:
18385 * sc(recursive, cb)
18386 */
18387 __pyx_t_15 = PyObject_SetAttr(__pyx_v_self, __pyx_v_ns, __pyx_v_sc); if (unlikely(__pyx_t_15 == -1)__builtin_expect(!!(__pyx_t_15 == -1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 831; __pyx_clineno = __LINE__18387; goto __pyx_L1_error;}
18388
18389 /* "xmmsapi.pyx":832
18390 * _async = self._async)
18391 * setattr(self, ns, sc)
18392 * if recursive: # <<<<<<<<<<<<<<
18393 * sc(recursive, cb)
18394 *
18395 */
18396 __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_recursive); if (unlikely(__pyx_t_6 < 0)__builtin_expect(!!(__pyx_t_6 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__18396; goto __pyx_L1_error;}
18397 if (__pyx_t_6) {
18398
18399 /* "xmmsapi.pyx":833
18400 * setattr(self, ns, sc)
18401 * if recursive:
18402 * sc(recursive, cb) # <<<<<<<<<<<<<<
18403 *
18404 * def _update_api_callback(self, cb = None, recursive = False):
18405 */
18406 __pyx_t_18 = PyTuple_New(2); if (unlikely(!__pyx_t_18)__builtin_expect(!!(!__pyx_t_18), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__18406; goto __pyx_L1_error;}
18407 __Pyx_GOTREF(__pyx_t_18);
18408 __Pyx_INCREF(__pyx_v_recursive)( ((PyObject*)(__pyx_v_recursive))->ob_refcnt++);
18409 PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_v_recursive)(((PyTupleObject *)(__pyx_t_18))->ob_item[0] = __pyx_v_recursive
)
;
18410 __Pyx_GIVEREF(__pyx_v_recursive);
18411 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
18412 PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_18))->ob_item[1] = __pyx_v_cb);
18413 __Pyx_GIVEREF(__pyx_v_cb);
18414 __pyx_t_12 = __Pyx_PyObject_Call(__pyx_v_sc, __pyx_t_18, NULL((void*)0)); if (unlikely(!__pyx_t_12)__builtin_expect(!!(!__pyx_t_12), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 833; __pyx_clineno = __LINE__18414; goto __pyx_L1_error;}
18415 __Pyx_GOTREF(__pyx_t_12);
18416 __Pyx_DECREF(__pyx_t_18)do { if ( --((PyObject*)(__pyx_t_18))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_18)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_18)))); } while
(0)
; __pyx_t_18 = 0;
18417 __Pyx_DECREF(__pyx_t_12)do { if ( --((PyObject*)(__pyx_t_12))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_12)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_12)))); } while
(0)
; __pyx_t_12 = 0;
18418 goto __pyx_L48;
18419 }
18420 __pyx_L48:;
18421 __pyx_L45_continue:;
18422 }
18423 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
18424
18425 /* "xmmsapi.pyx":779
18426 *
18427 * class XmmsServiceClient(_XmmsServiceClient):
18428 * def _update_api(self, xvalue, recursive = False, cb = None): # <<<<<<<<<<<<<<
18429 * cdef XmmsValueC2C cxvalue
18430 * cxvalue = XmmsValueC2C(pyval = xvalue)
18431 */
18432
18433 /* function exit code */
18434 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
18435 goto __pyx_L0;
18436 __pyx_L1_error:;
18437 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
18438 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
18439 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
18440 __Pyx_XDECREF(__pyx_t_12)do { if ((__pyx_t_12) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_12))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_t_12)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_12)))); } while (0); } while (0)
;
18441 __Pyx_XDECREF(__pyx_t_13)do { if ((__pyx_t_13) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_13))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_t_13)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_13)))); } while (0); } while (0)
;
18442 __Pyx_XDECREF(__pyx_t_17)do { if ((__pyx_t_17) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_17))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_t_17)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_17)))); } while (0); } while (0)
;
18443 __Pyx_XDECREF(__pyx_t_18)do { if ((__pyx_t_18) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_18))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_t_18)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_18)))); } while (0); } while (0)
;
18444 __Pyx_AddTraceback("xmmsapi.XmmsServiceClient._update_api", __pyx_clineno, __pyx_lineno, __pyx_filename);
18445 __pyx_r = NULL((void*)0);
18446 __pyx_L0:;
18447 __Pyx_XDECREF((PyObject *)__pyx_v_cxvalue)do { if (((PyObject *)__pyx_v_cxvalue) == ((void*)0)) ; else do
{ if ( --((PyObject*)((PyObject *)__pyx_v_cxvalue))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)((PyObject *)__pyx_v_cxvalue
)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)((PyObject
*)__pyx_v_cxvalue)))); } while (0); } while (0)
;
18448 __Pyx_XDECREF(__pyx_v_payload)do { if ((__pyx_v_payload) == ((void*)0)) ; else do { if ( --
((PyObject*)(__pyx_v_payload))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(__pyx_v_payload)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_payload)))); } while
(0); } while (0)
;
18449 __Pyx_XDECREF(__pyx_v_c)do { if ((__pyx_v_c) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_c))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_c)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_c)))); } while (0); } while (0)
;
18450 __Pyx_XDECREF(__pyx_v_v)do { if ((__pyx_v_v) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_v))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_v)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_v)))); } while (0); } while (0)
;
18451 __Pyx_XDECREF(__pyx_v_bc)do { if ((__pyx_v_bc) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_bc))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_v_bc)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_bc)))); } while (0); } while (0)
;
18452 __Pyx_XDECREF(__pyx_v_name)do { if ((__pyx_v_name) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_name))->ob_refcnt != 0) ; else ( (*(((PyObject*
)((PyObject *)(__pyx_v_name)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(__pyx_v_name)))); } while (0); } while
(0)
;
18453 __Pyx_XDECREF(__pyx_v_doc)do { if ((__pyx_v_doc) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_doc))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(__pyx_v_doc)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_doc)))); } while (0); } while (0)
;
18454 __Pyx_XDECREF(__pyx_v_m)do { if ((__pyx_v_m) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_m))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_m)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_m)))); } while (0); } while (0)
;
18455 __Pyx_XDECREF(__pyx_v_ns)do { if ((__pyx_v_ns) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_ns))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_v_ns)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_ns)))); } while (0); } while (0)
;
18456 __Pyx_XDECREF(__pyx_v_sc)do { if ((__pyx_v_sc) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_sc))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_v_sc)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_sc)))); } while (0); } while (0)
;
18457 __Pyx_XGIVEREF(__pyx_r);
18458 __Pyx_RefNannyFinishContext();
18459 return __pyx_r;
18460}
18461
18462/* "xmmsapi.pyx":835
18463 * sc(recursive, cb)
18464 *
18465 * def _update_api_callback(self, cb = None, recursive = False): # <<<<<<<<<<<<<<
18466 * def _update_api(xvalue):
18467 * self._update_api(xvalue, recursive, cb)
18468 */
18469
18470/* Python wrapper */
18471static PyObject *__pyx_pw_7xmmsapi_17XmmsServiceClient_3_update_api_callback(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
18472static char __pyx_doc_7xmmsapi_17XmmsServiceClient_2_update_api_callback[] = "XmmsServiceClient._update_api_callback(self, cb=None, recursive=False)";
18473static PyMethodDef __pyx_mdef_7xmmsapi_17XmmsServiceClient_3_update_api_callback = {__Pyx_NAMESTR("_update_api_callback")("_update_api_callback"), (PyCFunction)__pyx_pw_7xmmsapi_17XmmsServiceClient_3_update_api_callback, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_17XmmsServiceClient_2_update_api_callback)(__pyx_doc_7xmmsapi_17XmmsServiceClient_2_update_api_callback
)
};
18474static PyObject *__pyx_pw_7xmmsapi_17XmmsServiceClient_3_update_api_callback(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
18475 PyObject *__pyx_v_self = 0;
18476 PyObject *__pyx_v_cb = 0;
18477 PyObject *__pyx_v_recursive = 0;
18478 int __pyx_lineno = 0;
18479 const char *__pyx_filename = NULL((void*)0);
18480 int __pyx_clineno = 0;
18481 PyObject *__pyx_r = 0;
18482 __Pyx_RefNannyDeclarations
18483 __Pyx_RefNannySetupContext("_update_api_callback (wrapper)", 0);
18484 {
18485 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_cb,&__pyx_n_s_recursive,0};
18486 PyObject* values[3] = {0,0,0};
18487 values[1] = ((PyObject *)((PyObject *)Py_None(&_Py_NoneStruct)));
18488 values[2] = ((PyObject *)((PyObject *)Py_False((PyObject *) &_Py_ZeroStruct)));
18489 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
18490 Py_ssize_t kw_args;
18491 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
18492 switch (pos_args) {
18493 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
18494 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
18495 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
18496 case 0: break;
18497 default: goto __pyx_L5_argtuple_error;
18498 }
18499 kw_args = PyDict_Size(__pyx_kwds);
18500 switch (pos_args) {
18501 case 0:
18502 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self
)) != 0), 1)
) kw_args--;
18503 else goto __pyx_L5_argtuple_error;
18504 case 1:
18505 if (kw_args > 0) {
18506 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
18507 if (value) { values[1] = value; kw_args--; }
18508 }
18509 case 2:
18510 if (kw_args > 0) {
18511 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recursive);
18512 if (value) { values[2] = value; kw_args--; }
18513 }
18514 }
18515 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
18516 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_update_api_callback") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "_update_api_callback") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__18516; goto __pyx_L3_error;}
18517 }
18518 } else {
18519 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
18520 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
18521 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
18522 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
18523 break;
18524 default: goto __pyx_L5_argtuple_error;
18525 }
18526 }
18527 __pyx_v_self = values[0];
18528 __pyx_v_cb = values[1];
18529 __pyx_v_recursive = values[2];
18530 }
18531 goto __pyx_L4_argument_unpacking_done;
18532 __pyx_L5_argtuple_error:;
18533 __Pyx_RaiseArgtupleInvalid("_update_api_callback", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__18533; goto __pyx_L3_error;}
18534 __pyx_L3_error:;
18535 __Pyx_AddTraceback("xmmsapi.XmmsServiceClient._update_api_callback", __pyx_clineno, __pyx_lineno, __pyx_filename);
18536 __Pyx_RefNannyFinishContext();
18537 return NULL((void*)0);
18538 __pyx_L4_argument_unpacking_done:;
18539 __pyx_r = __pyx_pf_7xmmsapi_17XmmsServiceClient_2_update_api_callback(__pyx_self, __pyx_v_self, __pyx_v_cb, __pyx_v_recursive);
18540
18541 /* function exit code */
18542 __Pyx_RefNannyFinishContext();
18543 return __pyx_r;
18544}
18545
18546/* "xmmsapi.pyx":836
18547 *
18548 * def _update_api_callback(self, cb = None, recursive = False):
18549 * def _update_api(xvalue): # <<<<<<<<<<<<<<
18550 * self._update_api(xvalue, recursive, cb)
18551 * if cb:
18552 */
18553
18554/* Python wrapper */
18555static PyObject *__pyx_pw_7xmmsapi_17XmmsServiceClient_20_update_api_callback_1_update_api(PyObject *__pyx_self, PyObject *__pyx_v_xvalue); /*proto*/
18556static PyMethodDef __pyx_mdef_7xmmsapi_17XmmsServiceClient_20_update_api_callback_1_update_api = {__Pyx_NAMESTR("_update_api")("_update_api"), (PyCFunction)__pyx_pw_7xmmsapi_17XmmsServiceClient_20_update_api_callback_1_update_api, METH_O0x0008, __Pyx_DOCSTR(0)(0)};
18557static PyObject *__pyx_pw_7xmmsapi_17XmmsServiceClient_20_update_api_callback_1_update_api(PyObject *__pyx_self, PyObject *__pyx_v_xvalue) {
18558 PyObject *__pyx_r = 0;
18559 __Pyx_RefNannyDeclarations
18560 __Pyx_RefNannySetupContext("_update_api (wrapper)", 0);
18561 __pyx_r = __pyx_pf_7xmmsapi_17XmmsServiceClient_20_update_api_callback__update_api(__pyx_self, ((PyObject *)__pyx_v_xvalue));
18562
18563 /* function exit code */
18564 __Pyx_RefNannyFinishContext();
18565 return __pyx_r;
18566}
18567
18568static PyObject *__pyx_pf_7xmmsapi_17XmmsServiceClient_20_update_api_callback__update_api(PyObject *__pyx_self, PyObject *__pyx_v_xvalue) {
18569 struct __pyx_obj_7xmmsapi___pyx_scope_struct_1__update_api_callback *__pyx_cur_scope;
18570 struct __pyx_obj_7xmmsapi___pyx_scope_struct_1__update_api_callback *__pyx_outer_scope;
18571 PyObject *__pyx_r = NULL((void*)0);
18572 __Pyx_RefNannyDeclarations
18573 PyObject *__pyx_t_1 = NULL((void*)0);
18574 PyObject *__pyx_t_2 = NULL((void*)0);
18575 PyObject *__pyx_t_3 = NULL((void*)0);
18576 int __pyx_t_4;
18577 int __pyx_lineno = 0;
18578 const char *__pyx_filename = NULL((void*)0);
18579 int __pyx_clineno = 0;
18580 __Pyx_RefNannySetupContext("_update_api", 0);
18581 __pyx_outer_scope = (struct __pyx_obj_7xmmsapi___pyx_scope_struct_1__update_api_callback *) __Pyx_CyFunction_GetClosure(__pyx_self)(((__pyx_CyFunctionObject *) (__pyx_self))->func_closure);
18582 __pyx_cur_scope = __pyx_outer_scope;
18583
18584 /* "xmmsapi.pyx":837
18585 * def _update_api_callback(self, cb = None, recursive = False):
18586 * def _update_api(xvalue):
18587 * self._update_api(xvalue, recursive, cb) # <<<<<<<<<<<<<<
18588 * if cb:
18589 * cb(self, xvalue)
18590 */
18591 if (unlikely(!__pyx_cur_scope->__pyx_v_self)__builtin_expect(!!(!__pyx_cur_scope->__pyx_v_self), 0)) { __Pyx_RaiseClosureNameError("self"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__18591; goto __pyx_L1_error;} }
18592 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_self, __pyx_n_s_update_api); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__18592; goto __pyx_L1_error;}
18593 __Pyx_GOTREF(__pyx_t_1);
18594 if (unlikely(!__pyx_cur_scope->__pyx_v_recursive)__builtin_expect(!!(!__pyx_cur_scope->__pyx_v_recursive), 0
)
) { __Pyx_RaiseClosureNameError("recursive"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__18594; goto __pyx_L1_error;} }
18595 if (unlikely(!__pyx_cur_scope->__pyx_v_cb)__builtin_expect(!!(!__pyx_cur_scope->__pyx_v_cb), 0)) { __Pyx_RaiseClosureNameError("cb"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__18595; goto __pyx_L1_error;} }
18596 __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__18596; goto __pyx_L1_error;}
18597 __Pyx_GOTREF(__pyx_t_2);
18598 __Pyx_INCREF(__pyx_v_xvalue)( ((PyObject*)(__pyx_v_xvalue))->ob_refcnt++);
18599 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_xvalue)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_xvalue
)
;
18600 __Pyx_GIVEREF(__pyx_v_xvalue);
18601 __Pyx_INCREF(__pyx_cur_scope->__pyx_v_recursive)( ((PyObject*)(__pyx_cur_scope->__pyx_v_recursive))->ob_refcnt
++)
;
18602 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_cur_scope->__pyx_v_recursive)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_cur_scope
->__pyx_v_recursive)
;
18603 __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_recursive);
18604 __Pyx_INCREF(__pyx_cur_scope->__pyx_v_cb)( ((PyObject*)(__pyx_cur_scope->__pyx_v_cb))->ob_refcnt
++)
;
18605 PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_cur_scope->__pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[2] = __pyx_cur_scope
->__pyx_v_cb)
;
18606 __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_cb);
18607 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__18607; goto __pyx_L1_error;}
18608 __Pyx_GOTREF(__pyx_t_3);
18609 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
18610 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
18611 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
18612
18613 /* "xmmsapi.pyx":838
18614 * def _update_api(xvalue):
18615 * self._update_api(xvalue, recursive, cb)
18616 * if cb: # <<<<<<<<<<<<<<
18617 * cb(self, xvalue)
18618 * return _update_api
18619 */
18620 if (unlikely(!__pyx_cur_scope->__pyx_v_cb)__builtin_expect(!!(!__pyx_cur_scope->__pyx_v_cb), 0)) { __Pyx_RaiseClosureNameError("cb"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__18620; goto __pyx_L1_error;} }
18621 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_cb); if (unlikely(__pyx_t_4 < 0)__builtin_expect(!!(__pyx_t_4 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __pyx_clineno = __LINE__18621; goto __pyx_L1_error;}
18622 if (__pyx_t_4) {
18623
18624 /* "xmmsapi.pyx":839
18625 * self._update_api(xvalue, recursive, cb)
18626 * if cb:
18627 * cb(self, xvalue) # <<<<<<<<<<<<<<
18628 * return _update_api
18629 *
18630 */
18631 if (unlikely(!__pyx_cur_scope->__pyx_v_cb)__builtin_expect(!!(!__pyx_cur_scope->__pyx_v_cb), 0)) { __Pyx_RaiseClosureNameError("cb"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__18631; goto __pyx_L1_error;} }
18632 if (unlikely(!__pyx_cur_scope->__pyx_v_self)__builtin_expect(!!(!__pyx_cur_scope->__pyx_v_self), 0)) { __Pyx_RaiseClosureNameError("self"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__18632; goto __pyx_L1_error;} }
18633 __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__18633; goto __pyx_L1_error;}
18634 __Pyx_GOTREF(__pyx_t_3);
18635 __Pyx_INCREF(__pyx_cur_scope->__pyx_v_self)( ((PyObject*)(__pyx_cur_scope->__pyx_v_self))->ob_refcnt
++)
;
18636 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_cur_scope->__pyx_v_self)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_cur_scope
->__pyx_v_self)
;
18637 __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_self);
18638 __Pyx_INCREF(__pyx_v_xvalue)( ((PyObject*)(__pyx_v_xvalue))->ob_refcnt++);
18639 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_xvalue)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_xvalue
)
;
18640 __Pyx_GIVEREF(__pyx_v_xvalue);
18641 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_cur_scope->__pyx_v_cb, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__18641; goto __pyx_L1_error;}
18642 __Pyx_GOTREF(__pyx_t_2);
18643 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
18644 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
18645 goto __pyx_L3;
18646 }
18647 __pyx_L3:;
18648
18649 /* "xmmsapi.pyx":836
18650 *
18651 * def _update_api_callback(self, cb = None, recursive = False):
18652 * def _update_api(xvalue): # <<<<<<<<<<<<<<
18653 * self._update_api(xvalue, recursive, cb)
18654 * if cb:
18655 */
18656
18657 /* function exit code */
18658 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
18659 goto __pyx_L0;
18660 __pyx_L1_error:;
18661 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
18662 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
18663 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
18664 __Pyx_AddTraceback("xmmsapi.XmmsServiceClient._update_api_callback._update_api", __pyx_clineno, __pyx_lineno, __pyx_filename);
18665 __pyx_r = NULL((void*)0);
18666 __pyx_L0:;
18667 __Pyx_XGIVEREF(__pyx_r);
18668 __Pyx_RefNannyFinishContext();
18669 return __pyx_r;
18670}
18671
18672/* "xmmsapi.pyx":835
18673 * sc(recursive, cb)
18674 *
18675 * def _update_api_callback(self, cb = None, recursive = False): # <<<<<<<<<<<<<<
18676 * def _update_api(xvalue):
18677 * self._update_api(xvalue, recursive, cb)
18678 */
18679
18680static PyObject *__pyx_pf_7xmmsapi_17XmmsServiceClient_2_update_api_callback(CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_cb, PyObject *__pyx_v_recursive) {
18681 struct __pyx_obj_7xmmsapi___pyx_scope_struct_1__update_api_callback *__pyx_cur_scope;
18682 PyObject *__pyx_v__update_api = 0;
18683 PyObject *__pyx_r = NULL((void*)0);
18684 __Pyx_RefNannyDeclarations
18685 PyObject *__pyx_t_1 = NULL((void*)0);
18686 int __pyx_lineno = 0;
18687 const char *__pyx_filename = NULL((void*)0);
18688 int __pyx_clineno = 0;
18689 __Pyx_RefNannySetupContext("_update_api_callback", 0);
18690 __pyx_cur_scope = (struct __pyx_obj_7xmmsapi___pyx_scope_struct_1__update_api_callback *)__pyx_tp_new_7xmmsapi___pyx_scope_struct_1__update_api_callback(__pyx_ptype_7xmmsapi___pyx_scope_struct_1__update_api_callback, __pyx_empty_tuple, NULL((void*)0));
18691 if (unlikely(!__pyx_cur_scope)__builtin_expect(!!(!__pyx_cur_scope), 0)) {
18692 __Pyx_RefNannyFinishContext();
18693 return NULL((void*)0);
18694 }
18695 __Pyx_GOTREF(__pyx_cur_scope);
18696 __pyx_cur_scope->__pyx_v_self = __pyx_v_self;
18697 __Pyx_INCREF(__pyx_cur_scope->__pyx_v_self)( ((PyObject*)(__pyx_cur_scope->__pyx_v_self))->ob_refcnt
++)
;
18698 __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_self);
18699 __pyx_cur_scope->__pyx_v_cb = __pyx_v_cb;
18700 __Pyx_INCREF(__pyx_cur_scope->__pyx_v_cb)( ((PyObject*)(__pyx_cur_scope->__pyx_v_cb))->ob_refcnt
++)
;
18701 __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_cb);
18702 __pyx_cur_scope->__pyx_v_recursive = __pyx_v_recursive;
18703 __Pyx_INCREF(__pyx_cur_scope->__pyx_v_recursive)( ((PyObject*)(__pyx_cur_scope->__pyx_v_recursive))->ob_refcnt
++)
;
18704 __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_recursive);
18705
18706 /* "xmmsapi.pyx":836
18707 *
18708 * def _update_api_callback(self, cb = None, recursive = False):
18709 * def _update_api(xvalue): # <<<<<<<<<<<<<<
18710 * self._update_api(xvalue, recursive, cb)
18711 * if cb:
18712 */
18713 __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_7xmmsapi_17XmmsServiceClient_20_update_api_callback_1_update_api, 0, __pyx_n_s_XmmsServiceClient__update_api_ca, ((PyObject*)__pyx_cur_scope), __pyx_n_s_xmmsapi, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__37))__Pyx_CyFunction_New(__pyx_CyFunctionType, &__pyx_mdef_7xmmsapi_17XmmsServiceClient_20_update_api_callback_1_update_api
, 0, __pyx_n_s_XmmsServiceClient__update_api_ca, ((PyObject*)
__pyx_cur_scope), __pyx_n_s_xmmsapi, PyModule_GetDict(__pyx_m
), ((PyObject *)__pyx_codeobj__37))
; if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; __pyx_clineno = __LINE__18713; goto __pyx_L1_error;}
18714 __Pyx_GOTREF(__pyx_t_1);
18715 __pyx_v__update_api = __pyx_t_1;
18716 __pyx_t_1 = 0;
18717
18718 /* "xmmsapi.pyx":840
18719 * if cb:
18720 * cb(self, xvalue)
18721 * return _update_api # <<<<<<<<<<<<<<
18722 *
18723 * def __call__(self, recursive = False, cb = None):
18724 */
18725 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
18726 __Pyx_INCREF(__pyx_v__update_api)( ((PyObject*)(__pyx_v__update_api))->ob_refcnt++);
18727 __pyx_r = __pyx_v__update_api;
18728 goto __pyx_L0;
18729
18730 /* "xmmsapi.pyx":835
18731 * sc(recursive, cb)
18732 *
18733 * def _update_api_callback(self, cb = None, recursive = False): # <<<<<<<<<<<<<<
18734 * def _update_api(xvalue):
18735 * self._update_api(xvalue, recursive, cb)
18736 */
18737
18738 /* function exit code */
18739 __pyx_L1_error:;
18740 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
18741 __Pyx_AddTraceback("xmmsapi.XmmsServiceClient._update_api_callback", __pyx_clineno, __pyx_lineno, __pyx_filename);
18742 __pyx_r = NULL((void*)0);
18743 __pyx_L0:;
18744 __Pyx_XDECREF(__pyx_v__update_api)do { if ((__pyx_v__update_api) == ((void*)0)) ; else do { if (
--((PyObject*)(__pyx_v__update_api))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_v__update_api)))->ob_type
)->tp_dealloc)((PyObject *)((PyObject *)(__pyx_v__update_api
)))); } while (0); } while (0)
;
18745 __Pyx_DECREF(((PyObject *)__pyx_cur_scope))do { if ( --((PyObject*)(((PyObject *)__pyx_cur_scope)))->
ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(((PyObject
*)__pyx_cur_scope))))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(((PyObject *)__pyx_cur_scope))))); } while (
0)
;
18746 __Pyx_XGIVEREF(__pyx_r);
18747 __Pyx_RefNannyFinishContext();
18748 return __pyx_r;
18749}
18750
18751/* "xmmsapi.pyx":842
18752 * return _update_api
18753 *
18754 * def __call__(self, recursive = False, cb = None): # <<<<<<<<<<<<<<
18755 * cdef XmmsResult res
18756 * cb = self._update_api_callback(cb, recursive)
18757 */
18758
18759/* Python wrapper */
18760static PyObject *__pyx_pw_7xmmsapi_17XmmsServiceClient_5__call__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
18761static char __pyx_doc_7xmmsapi_17XmmsServiceClient_4__call__[] = "XmmsServiceClient.__call__(self, recursive=False, cb=None)";
18762static PyMethodDef __pyx_mdef_7xmmsapi_17XmmsServiceClient_5__call__ = {__Pyx_NAMESTR("__call__")("__call__"), (PyCFunction)__pyx_pw_7xmmsapi_17XmmsServiceClient_5__call__, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_17XmmsServiceClient_4__call__)(__pyx_doc_7xmmsapi_17XmmsServiceClient_4__call__)};
18763static PyObject *__pyx_pw_7xmmsapi_17XmmsServiceClient_5__call__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
18764 PyObject *__pyx_v_self = 0;
18765 PyObject *__pyx_v_recursive = 0;
18766 PyObject *__pyx_v_cb = 0;
18767 int __pyx_lineno = 0;
18768 const char *__pyx_filename = NULL((void*)0);
18769 int __pyx_clineno = 0;
18770 PyObject *__pyx_r = 0;
18771 __Pyx_RefNannyDeclarations
18772 __Pyx_RefNannySetupContext("__call__ (wrapper)", 0);
18773 {
18774 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_recursive,&__pyx_n_s_cb,0};
18775 PyObject* values[3] = {0,0,0};
18776 values[1] = ((PyObject *)((PyObject *)Py_False((PyObject *) &_Py_ZeroStruct)));
18777 values[2] = ((PyObject *)((PyObject *)Py_None(&_Py_NoneStruct)));
18778 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
18779 Py_ssize_t kw_args;
18780 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
18781 switch (pos_args) {
18782 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
18783 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
18784 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
18785 case 0: break;
18786 default: goto __pyx_L5_argtuple_error;
18787 }
18788 kw_args = PyDict_Size(__pyx_kwds);
18789 switch (pos_args) {
18790 case 0:
18791 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self
)) != 0), 1)
) kw_args--;
18792 else goto __pyx_L5_argtuple_error;
18793 case 1:
18794 if (kw_args > 0) {
18795 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_recursive);
18796 if (value) { values[1] = value; kw_args--; }
18797 }
18798 case 2:
18799 if (kw_args > 0) {
18800 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
18801 if (value) { values[2] = value; kw_args--; }
18802 }
18803 }
18804 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
18805 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__call__") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "__call__") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__18805; goto __pyx_L3_error;}
18806 }
18807 } else {
18808 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
18809 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
18810 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
18811 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
18812 break;
18813 default: goto __pyx_L5_argtuple_error;
18814 }
18815 }
18816 __pyx_v_self = values[0];
18817 __pyx_v_recursive = values[1];
18818 __pyx_v_cb = values[2];
18819 }
18820 goto __pyx_L4_argument_unpacking_done;
18821 __pyx_L5_argtuple_error:;
18822 __Pyx_RaiseArgtupleInvalid("__call__", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__18822; goto __pyx_L3_error;}
18823 __pyx_L3_error:;
18824 __Pyx_AddTraceback("xmmsapi.XmmsServiceClient.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename);
18825 __Pyx_RefNannyFinishContext();
18826 return NULL((void*)0);
18827 __pyx_L4_argument_unpacking_done:;
18828 __pyx_r = __pyx_pf_7xmmsapi_17XmmsServiceClient_4__call__(__pyx_self, __pyx_v_self, __pyx_v_recursive, __pyx_v_cb);
18829
18830 /* function exit code */
18831 __Pyx_RefNannyFinishContext();
18832 return __pyx_r;
18833}
18834
18835static PyObject *__pyx_pf_7xmmsapi_17XmmsServiceClient_4__call__(CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_recursive, PyObject *__pyx_v_cb) {
18836 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_res = 0;
18837 PyObject *__pyx_v_xvalue = NULL((void*)0);
18838 PyObject *__pyx_r = NULL((void*)0);
18839 __Pyx_RefNannyDeclarations
18840 PyObject *__pyx_t_1 = NULL((void*)0);
18841 PyObject *__pyx_t_2 = NULL((void*)0);
18842 PyObject *__pyx_t_3 = NULL((void*)0);
18843 PyObject *__pyx_t_4 = NULL((void*)0);
18844 int __pyx_t_5;
18845 PyObject *__pyx_t_6 = NULL((void*)0);
18846 int __pyx_lineno = 0;
18847 const char *__pyx_filename = NULL((void*)0);
18848 int __pyx_clineno = 0;
18849 __Pyx_RefNannySetupContext("__call__", 0);
18850 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
18851
18852 /* "xmmsapi.pyx":844
18853 * def __call__(self, recursive = False, cb = None):
18854 * cdef XmmsResult res
18855 * cb = self._update_api_callback(cb, recursive) # <<<<<<<<<<<<<<
18856 * res = self._xmms.sc_introspect_namespace(self._clientid, self._path, cb = self._async and cb or None)
18857 *
18858 */
18859 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_update_api_callback); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 844; __pyx_clineno = __LINE__18859; goto __pyx_L1_error;}
18860 __Pyx_GOTREF(__pyx_t_1);
18861 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 844; __pyx_clineno = __LINE__18861; goto __pyx_L1_error;}
18862 __Pyx_GOTREF(__pyx_t_2);
18863 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
18864 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
18865 __Pyx_GIVEREF(__pyx_v_cb);
18866 __Pyx_INCREF(__pyx_v_recursive)( ((PyObject*)(__pyx_v_recursive))->ob_refcnt++);
18867 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_recursive)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_recursive
)
;
18868 __Pyx_GIVEREF(__pyx_v_recursive);
18869 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 844; __pyx_clineno = __LINE__18869; goto __pyx_L1_error;}
18870 __Pyx_GOTREF(__pyx_t_3);
18871 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
18872 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
18873 __Pyx_DECREF_SET(__pyx_v_cb, __pyx_t_3)do { PyObject *tmp = (PyObject *) __pyx_v_cb; __pyx_v_cb = __pyx_t_3
; do { if ( --((PyObject*)(tmp))->ob_refcnt != 0) ; else (
(*(((PyObject*)((PyObject *)(tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(tmp)))); } while (0); } while (0)
;
18874 __pyx_t_3 = 0;
18875
18876 /* "xmmsapi.pyx":845
18877 * cdef XmmsResult res
18878 * cb = self._update_api_callback(cb, recursive)
18879 * res = self._xmms.sc_introspect_namespace(self._clientid, self._path, cb = self._async and cb or None) # <<<<<<<<<<<<<<
18880 *
18881 * if self._async:
18882 */
18883 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_xmms_2); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__18883; goto __pyx_L1_error;}
18884 __Pyx_GOTREF(__pyx_t_3);
18885 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_sc_introspect_namespace); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__18885; goto __pyx_L1_error;}
18886 __Pyx_GOTREF(__pyx_t_2);
18887 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
18888 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_clientid_2); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__18888; goto __pyx_L1_error;}
18889 __Pyx_GOTREF(__pyx_t_3);
18890 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_path_2); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__18890; goto __pyx_L1_error;}
18891 __Pyx_GOTREF(__pyx_t_1);
18892 __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__18892; goto __pyx_L1_error;}
18893 __Pyx_GOTREF(__pyx_t_4);
18894 PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3)(((PyTupleObject *)(__pyx_t_4))->ob_item[0] = __pyx_t_3);
18895 __Pyx_GIVEREF(__pyx_t_3);
18896 PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1)(((PyTupleObject *)(__pyx_t_4))->ob_item[1] = __pyx_t_1);
18897 __Pyx_GIVEREF(__pyx_t_1);
18898 __pyx_t_3 = 0;
18899 __pyx_t_1 = 0;
18900 __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__18900; goto __pyx_L1_error;}
18901 __Pyx_GOTREF(__pyx_t_1);
18902 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_async); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__18902; goto __pyx_L1_error;}
18903 __Pyx_GOTREF(__pyx_t_3);
18904 __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)__builtin_expect(!!(__pyx_t_5 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__18904; goto __pyx_L1_error;}
18905 if (__pyx_t_5) {
18906 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
18907 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
18908 __pyx_t_6 = __pyx_v_cb;
18909 } else {
18910 __pyx_t_6 = __pyx_t_3;
18911 __pyx_t_3 = 0;
18912 }
18913 __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_5 < 0)__builtin_expect(!!(__pyx_t_5 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__18913; goto __pyx_L1_error;}
18914 if (!__pyx_t_5) {
18915 __Pyx_DECREF(__pyx_t_6)do { if ( --((PyObject*)(__pyx_t_6))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_6)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_6)))); } while (
0)
; __pyx_t_6 = 0;
18916 __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
18917 __pyx_t_3 = Py_None(&_Py_NoneStruct);
18918 } else {
18919 __pyx_t_3 = __pyx_t_6;
18920 __pyx_t_6 = 0;
18921 }
18922 if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_cb, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__18922; goto __pyx_L1_error;}
18923 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
18924 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__18924; goto __pyx_L1_error;}
18925 __Pyx_GOTREF(__pyx_t_3);
18926 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
18927 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
18928 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
18929 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 845; __pyx_clineno = __LINE__18929; goto __pyx_L1_error;}
18930 __pyx_v_res = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
18931 __pyx_t_3 = 0;
18932
18933 /* "xmmsapi.pyx":847
18934 * res = self._xmms.sc_introspect_namespace(self._clientid, self._path, cb = self._async and cb or None)
18935 *
18936 * if self._async: # <<<<<<<<<<<<<<
18937 * return res
18938 *
18939 */
18940 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_async); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__18940; goto __pyx_L1_error;}
18941 __Pyx_GOTREF(__pyx_t_3);
18942 __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)__builtin_expect(!!(__pyx_t_5 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__18942; goto __pyx_L1_error;}
18943 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
18944 if (__pyx_t_5) {
18945
18946 /* "xmmsapi.pyx":848
18947 *
18948 * if self._async:
18949 * return res # <<<<<<<<<<<<<<
18950 *
18951 * res.wait()
18952 */
18953 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
18954 __Pyx_INCREF(((PyObject *)__pyx_v_res))( ((PyObject*)(((PyObject *)__pyx_v_res)))->ob_refcnt++);
18955 __pyx_r = ((PyObject *)__pyx_v_res);
18956 goto __pyx_L0;
18957 }
18958
18959 /* "xmmsapi.pyx":850
18960 * return res
18961 *
18962 * res.wait() # <<<<<<<<<<<<<<
18963 * xvalue = res.xvalue
18964 * if xvalue.is_error():
18965 */
18966 __pyx_t_3 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsResult *)__pyx_v_res->__pyx_vtab)->wait(__pyx_v_res, 0); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__18966; goto __pyx_L1_error;}
18967 __Pyx_GOTREF(__pyx_t_3);
18968 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
18969
18970 /* "xmmsapi.pyx":851
18971 *
18972 * res.wait()
18973 * xvalue = res.xvalue # <<<<<<<<<<<<<<
18974 * if xvalue.is_error():
18975 * raise xvalue.get_error()
18976 */
18977 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_res), __pyx_n_s_xvalue); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__18977; goto __pyx_L1_error;}
18978 __Pyx_GOTREF(__pyx_t_3);
18979 __pyx_v_xvalue = __pyx_t_3;
18980 __pyx_t_3 = 0;
18981
18982 /* "xmmsapi.pyx":852
18983 * res.wait()
18984 * xvalue = res.xvalue
18985 * if xvalue.is_error(): # <<<<<<<<<<<<<<
18986 * raise xvalue.get_error()
18987 * cb(xvalue)
18988 */
18989 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_xvalue, __pyx_n_s_is_error); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__18989; goto __pyx_L1_error;}
18990 __Pyx_GOTREF(__pyx_t_3);
18991 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__18991; goto __pyx_L1_error;}
18992 __Pyx_GOTREF(__pyx_t_1);
18993 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
18994 __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)__builtin_expect(!!(__pyx_t_5 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__18994; goto __pyx_L1_error;}
18995 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
18996 if (__pyx_t_5) {
18997
18998 /* "xmmsapi.pyx":853
18999 * xvalue = res.xvalue
19000 * if xvalue.is_error():
19001 * raise xvalue.get_error() # <<<<<<<<<<<<<<
19002 * cb(xvalue)
19003 *
19004 */
19005 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_xvalue, __pyx_n_s_get_error); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__19005; goto __pyx_L1_error;}
19006 __Pyx_GOTREF(__pyx_t_1);
19007 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__19007; goto __pyx_L1_error;}
19008 __Pyx_GOTREF(__pyx_t_3);
19009 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
19010 __Pyx_Raise(__pyx_t_3, 0, 0, 0);
19011 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
19012 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 853; __pyx_clineno = __LINE__19012; goto __pyx_L1_error;}
19013 }
19014
19015 /* "xmmsapi.pyx":854
19016 * if xvalue.is_error():
19017 * raise xvalue.get_error()
19018 * cb(xvalue) # <<<<<<<<<<<<<<
19019 *
19020 *
19021 */
19022 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__19022; goto __pyx_L1_error;}
19023 __Pyx_GOTREF(__pyx_t_3);
19024 __Pyx_INCREF(__pyx_v_xvalue)( ((PyObject*)(__pyx_v_xvalue))->ob_refcnt++);
19025 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_xvalue)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_v_xvalue
)
;
19026 __Pyx_GIVEREF(__pyx_v_xvalue);
19027 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_v_cb, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__19027; goto __pyx_L1_error;}
19028 __Pyx_GOTREF(__pyx_t_1);
19029 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
19030 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
19031
19032 /* "xmmsapi.pyx":842
19033 * return _update_api
19034 *
19035 * def __call__(self, recursive = False, cb = None): # <<<<<<<<<<<<<<
19036 * cdef XmmsResult res
19037 * cb = self._update_api_callback(cb, recursive)
19038 */
19039
19040 /* function exit code */
19041 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
19042 goto __pyx_L0;
19043 __pyx_L1_error:;
19044 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
19045 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
19046 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
19047 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
;
19048 __Pyx_XDECREF(__pyx_t_6)do { if ((__pyx_t_6) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_6))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_6)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_6)))); } while (0); } while (0)
;
19049 __Pyx_AddTraceback("xmmsapi.XmmsServiceClient.__call__", __pyx_clineno, __pyx_lineno, __pyx_filename);
19050 __pyx_r = NULL((void*)0);
19051 __pyx_L0:;
19052 __Pyx_XDECREF((PyObject *)__pyx_v_res)do { if (((PyObject *)__pyx_v_res) == ((void*)0)) ; else do {
if ( --((PyObject*)((PyObject *)__pyx_v_res))->ob_refcnt !=
0) ; else ( (*(((PyObject*)((PyObject *)((PyObject *)__pyx_v_res
)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)((PyObject
*)__pyx_v_res)))); } while (0); } while (0)
;
19053 __Pyx_XDECREF(__pyx_v_xvalue)do { if ((__pyx_v_xvalue) == ((void*)0)) ; else do { if ( --(
(PyObject*)(__pyx_v_xvalue))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(__pyx_v_xvalue)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_xvalue)))); } while
(0); } while (0)
;
19054 __Pyx_XDECREF(__pyx_v_cb)do { if ((__pyx_v_cb) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_cb))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_v_cb)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_cb)))); } while (0); } while (0)
;
19055 __Pyx_XGIVEREF(__pyx_r);
19056 __Pyx_RefNannyFinishContext();
19057 return __pyx_r;
19058}
19059
19060/* "xmmsapi.pyx":857
19061 *
19062 *
19063 * cdef void python_need_out_fun(int i, void *obj): # <<<<<<<<<<<<<<
19064 * cdef object o
19065 * o = <object> obj
19066 */
19067
19068static void __pyx_f_7xmmsapi_python_need_out_fun(int __pyx_v_i, void *__pyx_v_obj) {
19069 PyObject *__pyx_v_o = 0;
19070 __Pyx_RefNannyDeclarations
19071 PyObject *__pyx_t_1 = NULL((void*)0);
19072 PyObject *__pyx_t_2 = NULL((void*)0);
19073 PyObject *__pyx_t_3 = NULL((void*)0);
19074 int __pyx_lineno = 0;
19075 const char *__pyx_filename = NULL((void*)0);
19076 int __pyx_clineno = 0;
19077 __Pyx_RefNannySetupContext("python_need_out_fun", 0);
19078
19079 /* "xmmsapi.pyx":859
19080 * cdef void python_need_out_fun(int i, void *obj):
19081 * cdef object o
19082 * o = <object> obj # <<<<<<<<<<<<<<
19083 * o._needout_cb(i)
19084 *
19085 */
19086 __pyx_t_1 = ((PyObject *)__pyx_v_obj);
19087 __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++);
19088 __pyx_v_o = __pyx_t_1;
19089 __pyx_t_1 = 0;
19090
19091 /* "xmmsapi.pyx":860
19092 * cdef object o
19093 * o = <object> obj
19094 * o._needout_cb(i) # <<<<<<<<<<<<<<
19095 *
19096 * cdef void python_disconnect_fun(void *obj):
19097 */
19098 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_o, __pyx_n_s_needout_cb); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 860; __pyx_clineno = __LINE__19098; goto __pyx_L1_error;}
19099 __Pyx_GOTREF(__pyx_t_1);
19100 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 860; __pyx_clineno = __LINE__19100; goto __pyx_L1_error;}
19101 __Pyx_GOTREF(__pyx_t_2);
19102 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 860; __pyx_clineno = __LINE__19102; goto __pyx_L1_error;}
19103 __Pyx_GOTREF(__pyx_t_3);
19104 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
19105 __Pyx_GIVEREF(__pyx_t_2);
19106 __pyx_t_2 = 0;
19107 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 860; __pyx_clineno = __LINE__19107; goto __pyx_L1_error;}
19108 __Pyx_GOTREF(__pyx_t_2);
19109 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
19110 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
19111 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
19112
19113 /* "xmmsapi.pyx":857
19114 *
19115 *
19116 * cdef void python_need_out_fun(int i, void *obj): # <<<<<<<<<<<<<<
19117 * cdef object o
19118 * o = <object> obj
19119 */
19120
19121 /* function exit code */
19122 goto __pyx_L0;
19123 __pyx_L1_error:;
19124 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
19125 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
19126 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
19127 __Pyx_WriteUnraisable("xmmsapi.python_need_out_fun", __pyx_clineno, __pyx_lineno, __pyx_filename, 0);
19128 __pyx_L0:;
19129 __Pyx_XDECREF(__pyx_v_o)do { if ((__pyx_v_o) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_o))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_o)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_o)))); } while (0); } while (0)
;
19130 __Pyx_RefNannyFinishContext();
19131}
19132
19133/* "xmmsapi.pyx":862
19134 * o._needout_cb(i)
19135 *
19136 * cdef void python_disconnect_fun(void *obj): # <<<<<<<<<<<<<<
19137 * cdef object o
19138 * o = <object> obj
19139 */
19140
19141static void __pyx_f_7xmmsapi_python_disconnect_fun(void *__pyx_v_obj) {
19142 PyObject *__pyx_v_o = 0;
19143 __Pyx_RefNannyDeclarations
19144 PyObject *__pyx_t_1 = NULL((void*)0);
19145 PyObject *__pyx_t_2 = NULL((void*)0);
19146 int __pyx_lineno = 0;
19147 const char *__pyx_filename = NULL((void*)0);
19148 int __pyx_clineno = 0;
19149 __Pyx_RefNannySetupContext("python_disconnect_fun", 0);
19150
19151 /* "xmmsapi.pyx":864
19152 * cdef void python_disconnect_fun(void *obj):
19153 * cdef object o
19154 * o = <object> obj # <<<<<<<<<<<<<<
19155 * o._disconnect_cb()
19156 *
19157 */
19158 __pyx_t_1 = ((PyObject *)__pyx_v_obj);
19159 __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++);
19160 __pyx_v_o = __pyx_t_1;
19161 __pyx_t_1 = 0;
19162
19163 /* "xmmsapi.pyx":865
19164 * cdef object o
19165 * o = <object> obj
19166 * o._disconnect_cb() # <<<<<<<<<<<<<<
19167 *
19168 * cpdef userconfdir_get():
19169 */
19170 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_o, __pyx_n_s_disconnect_cb); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__19170; goto __pyx_L1_error;}
19171 __Pyx_GOTREF(__pyx_t_1);
19172 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 865; __pyx_clineno = __LINE__19172; goto __pyx_L1_error;}
19173 __Pyx_GOTREF(__pyx_t_2);
19174 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
19175 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
19176
19177 /* "xmmsapi.pyx":862
19178 * o._needout_cb(i)
19179 *
19180 * cdef void python_disconnect_fun(void *obj): # <<<<<<<<<<<<<<
19181 * cdef object o
19182 * o = <object> obj
19183 */
19184
19185 /* function exit code */
19186 goto __pyx_L0;
19187 __pyx_L1_error:;
19188 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
19189 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
19190 __Pyx_WriteUnraisable("xmmsapi.python_disconnect_fun", __pyx_clineno, __pyx_lineno, __pyx_filename, 0);
19191 __pyx_L0:;
19192 __Pyx_XDECREF(__pyx_v_o)do { if ((__pyx_v_o) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_o))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_o)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_o)))); } while (0); } while (0)
;
19193 __Pyx_RefNannyFinishContext();
19194}
19195
19196/* "xmmsapi.pyx":867
19197 * o._disconnect_cb()
19198 *
19199 * cpdef userconfdir_get(): # <<<<<<<<<<<<<<
19200 * """
19201 * Get the user configuration directory, where XMMS2 stores its
19202 */
19203
19204static PyObject *__pyx_pw_7xmmsapi_7userconfdir_get(PyObject *__pyx_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
19205static PyObject *__pyx_f_7xmmsapi_userconfdir_get(CYTHON_UNUSED__attribute__ ((__unused__)) int __pyx_skip_dispatch) {
19206 char __pyx_v_path[XMMS_PATH_MAX255];
19207 PyObject *__pyx_r = NULL((void*)0);
19208 __Pyx_RefNannyDeclarations
19209 int __pyx_t_1;
19210 PyObject *__pyx_t_2 = NULL((void*)0);
19211 int __pyx_lineno = 0;
19212 const char *__pyx_filename = NULL((void*)0);
19213 int __pyx_clineno = 0;
19214 __Pyx_RefNannySetupContext("userconfdir_get", 0);
19215
19216 /* "xmmsapi.pyx":875
19217 * """
19218 * cdef char path[XMMS_PATH_MAX]
19219 * if xmmsc_userconfdir_get (path, XMMS_PATH_MAX) == NULL: # <<<<<<<<<<<<<<
19220 * return None
19221 * return path
19222 */
19223 __pyx_t_1 = ((xmmsc_userconfdir_get(__pyx_v_path, XMMS_PATH_MAX255) == NULL((void*)0)) != 0);
19224 if (__pyx_t_1) {
19225
19226 /* "xmmsapi.pyx":876
19227 * cdef char path[XMMS_PATH_MAX]
19228 * if xmmsc_userconfdir_get (path, XMMS_PATH_MAX) == NULL:
19229 * return None # <<<<<<<<<<<<<<
19230 * return path
19231 *
19232 */
19233 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
19234 __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
19235 __pyx_r = Py_None(&_Py_NoneStruct);
19236 goto __pyx_L0;
19237 }
19238
19239 /* "xmmsapi.pyx":877
19240 * if xmmsc_userconfdir_get (path, XMMS_PATH_MAX) == NULL:
19241 * return None
19242 * return path # <<<<<<<<<<<<<<
19243 *
19244 * def enforce_unicode(object o):
19245 */
19246 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
19247 __pyx_t_2 = __Pyx_PyBytes_FromStringPyString_FromString(__pyx_v_path); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 877; __pyx_clineno = __LINE__19247; goto __pyx_L1_error;}
19248 __Pyx_GOTREF(__pyx_t_2);
19249 __pyx_r = __pyx_t_2;
19250 __pyx_t_2 = 0;
19251 goto __pyx_L0;
19252
19253 /* "xmmsapi.pyx":867
19254 * o._disconnect_cb()
19255 *
19256 * cpdef userconfdir_get(): # <<<<<<<<<<<<<<
19257 * """
19258 * Get the user configuration directory, where XMMS2 stores its
19259 */
19260
19261 /* function exit code */
19262 __pyx_L1_error:;
19263 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
19264 __Pyx_AddTraceback("xmmsapi.userconfdir_get", __pyx_clineno, __pyx_lineno, __pyx_filename);
19265 __pyx_r = 0;
19266 __pyx_L0:;
19267 __Pyx_XGIVEREF(__pyx_r);
19268 __Pyx_RefNannyFinishContext();
19269 return __pyx_r;
19270}
19271
19272/* Python wrapper */
19273static PyObject *__pyx_pw_7xmmsapi_7userconfdir_get(PyObject *__pyx_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
19274static char __pyx_doc_7xmmsapi_6userconfdir_get[] = "userconfdir_get()\n\n\tGet the user configuration directory, where XMMS2 stores its\n\tuser-specific configuration files. Clients may store their\n\tconfiguration under the 'clients' subdirectory. This varies from\n\tplatform to platform so should always be retrieved at runtime.\n\t";
19275static PyObject *__pyx_pw_7xmmsapi_7userconfdir_get(PyObject *__pyx_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
19276 PyObject *__pyx_r = 0;
19277 __Pyx_RefNannyDeclarations
19278 __Pyx_RefNannySetupContext("userconfdir_get (wrapper)", 0);
19279 __pyx_r = __pyx_pf_7xmmsapi_6userconfdir_get(__pyx_self);
19280
19281 /* function exit code */
19282 __Pyx_RefNannyFinishContext();
19283 return __pyx_r;
19284}
19285
19286static PyObject *__pyx_pf_7xmmsapi_6userconfdir_get(CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_self) {
19287 PyObject *__pyx_r = NULL((void*)0);
19288 __Pyx_RefNannyDeclarations
19289 PyObject *__pyx_t_1 = NULL((void*)0);
19290 int __pyx_lineno = 0;
19291 const char *__pyx_filename = NULL((void*)0);
19292 int __pyx_clineno = 0;
19293 __Pyx_RefNannySetupContext("userconfdir_get", 0);
19294 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
19295 __pyx_t_1 = __pyx_f_7xmmsapi_userconfdir_get(0); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__19295; goto __pyx_L1_error;}
19296 __Pyx_GOTREF(__pyx_t_1);
19297 __pyx_r = __pyx_t_1;
19298 __pyx_t_1 = 0;
19299 goto __pyx_L0;
19300
19301 /* function exit code */
19302 __pyx_L1_error:;
19303 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
19304 __Pyx_AddTraceback("xmmsapi.userconfdir_get", __pyx_clineno, __pyx_lineno, __pyx_filename);
19305 __pyx_r = NULL((void*)0);
19306 __pyx_L0:;
19307 __Pyx_XGIVEREF(__pyx_r);
19308 __Pyx_RefNannyFinishContext();
19309 return __pyx_r;
19310}
19311
19312/* "xmmsapi.pyx":879
19313 * return path
19314 *
19315 * def enforce_unicode(object o): # <<<<<<<<<<<<<<
19316 * if isinstance(o, unicode):
19317 * return o
19318 */
19319
19320/* Python wrapper */
19321static PyObject *__pyx_pw_7xmmsapi_9enforce_unicode(PyObject *__pyx_self, PyObject *__pyx_v_o); /*proto*/
19322static char __pyx_doc_7xmmsapi_8enforce_unicode[] = "enforce_unicode(o)";
19323static PyMethodDef __pyx_mdef_7xmmsapi_9enforce_unicode = {__Pyx_NAMESTR("enforce_unicode")("enforce_unicode"), (PyCFunction)__pyx_pw_7xmmsapi_9enforce_unicode, METH_O0x0008, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_8enforce_unicode)(__pyx_doc_7xmmsapi_8enforce_unicode)};
19324static PyObject *__pyx_pw_7xmmsapi_9enforce_unicode(PyObject *__pyx_self, PyObject *__pyx_v_o) {
19325 PyObject *__pyx_r = 0;
19326 __Pyx_RefNannyDeclarations
19327 __Pyx_RefNannySetupContext("enforce_unicode (wrapper)", 0);
19328 __pyx_r = __pyx_pf_7xmmsapi_8enforce_unicode(__pyx_self, ((PyObject *)__pyx_v_o));
19329
19330 /* function exit code */
19331 __Pyx_RefNannyFinishContext();
19332 return __pyx_r;
19333}
19334
19335static PyObject *__pyx_pf_7xmmsapi_8enforce_unicode(CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_self, PyObject *__pyx_v_o) {
19336 PyObject *__pyx_r = NULL((void*)0);
19337 __Pyx_RefNannyDeclarations
19338 int __pyx_t_1;
19339 int __pyx_t_2;
19340 PyObject *__pyx_t_3 = NULL((void*)0);
19341 PyObject *__pyx_t_4 = NULL((void*)0);
19342 PyObject *__pyx_t_5 = NULL((void*)0);
19343 PyObject *__pyx_t_6 = NULL((void*)0);
19344 PyObject *__pyx_t_7 = NULL((void*)0);
19345 PyObject *__pyx_t_8 = NULL((void*)0);
19346 int __pyx_lineno = 0;
19347 const char *__pyx_filename = NULL((void*)0);
19348 int __pyx_clineno = 0;
19349 __Pyx_RefNannySetupContext("enforce_unicode", 0);
19350
19351 /* "xmmsapi.pyx":880
19352 *
19353 * def enforce_unicode(object o):
19354 * if isinstance(o, unicode): # <<<<<<<<<<<<<<
19355 * return o
19356 * else:
19357 */
19358 __pyx_t_1 = PyUnicode_Check(__pyx_v_o)((((((PyObject*)(__pyx_v_o))->ob_type))->tp_flags &
((1L<<28))) != 0)
;
19359 __pyx_t_2 = (__pyx_t_1 != 0);
19360 if (__pyx_t_2) {
19361
19362 /* "xmmsapi.pyx":881
19363 * def enforce_unicode(object o):
19364 * if isinstance(o, unicode):
19365 * return o # <<<<<<<<<<<<<<
19366 * else:
19367 * try:
19368 */
19369 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
19370 __Pyx_INCREF(__pyx_v_o)( ((PyObject*)(__pyx_v_o))->ob_refcnt++);
19371 __pyx_r = __pyx_v_o;
19372 goto __pyx_L0;
19373 }
19374 /*else*/ {
19375
19376 /* "xmmsapi.pyx":883
19377 * return o
19378 * else:
19379 * try: # <<<<<<<<<<<<<<
19380 * return unicode(o, "UTF-8")
19381 * except:
19382 */
19383 {
19384 __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
19385 __Pyx_XGOTREF(__pyx_t_3);
19386 __Pyx_XGOTREF(__pyx_t_4);
19387 __Pyx_XGOTREF(__pyx_t_5);
19388 /*try:*/ {
19389
19390 /* "xmmsapi.pyx":884
19391 * else:
19392 * try:
19393 * return unicode(o, "UTF-8") # <<<<<<<<<<<<<<
19394 * except:
19395 * return o
19396 */
19397 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
19398 __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)__builtin_expect(!!(!__pyx_t_6), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 884; __pyx_clineno = __LINE__19398; goto __pyx_L4_error;}
19399 __Pyx_GOTREF(__pyx_t_6);
19400 __Pyx_INCREF(__pyx_v_o)( ((PyObject*)(__pyx_v_o))->ob_refcnt++);
19401 PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_o)(((PyTupleObject *)(__pyx_t_6))->ob_item[0] = __pyx_v_o);
19402 __Pyx_GIVEREF(__pyx_v_o);
19403 __Pyx_INCREF(__pyx_kp_s_UTF_8)( ((PyObject*)(__pyx_kp_s_UTF_8))->ob_refcnt++);
19404 PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_kp_s_UTF_8)(((PyTupleObject *)(__pyx_t_6))->ob_item[1] = __pyx_kp_s_UTF_8
)
;
19405 __Pyx_GIVEREF(__pyx_kp_s_UTF_8);
19406 __pyx_t_7 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyUnicode_Type))), __pyx_t_6, NULL((void*)0)); if (unlikely(!__pyx_t_7)__builtin_expect(!!(!__pyx_t_7), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 884; __pyx_clineno = __LINE__19406; goto __pyx_L4_error;}
19407 __Pyx_GOTREF(__pyx_t_7);
19408 __Pyx_DECREF(__pyx_t_6)do { if ( --((PyObject*)(__pyx_t_6))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_6)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_6)))); } while (
0)
; __pyx_t_6 = 0;
19409 __pyx_r = __pyx_t_7;
19410 __pyx_t_7 = 0;
19411 goto __pyx_L8_try_return;
19412 }
19413 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
; __pyx_t_3 = 0;
19414 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
; __pyx_t_4 = 0;
19415 __Pyx_XDECREF(__pyx_t_5)do { if ((__pyx_t_5) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_5))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_5)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_5)))); } while (0); } while (0)
; __pyx_t_5 = 0;
19416 goto __pyx_L11_try_end;
19417 __pyx_L4_error:;
19418 __Pyx_XDECREF(__pyx_t_6)do { if ((__pyx_t_6) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_6))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_6)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_6)))); } while (0); } while (0)
; __pyx_t_6 = 0;
19419 __Pyx_XDECREF(__pyx_t_7)do { if ((__pyx_t_7) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_7))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_7)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_7)))); } while (0); } while (0)
; __pyx_t_7 = 0;
19420
19421 /* "xmmsapi.pyx":885
19422 * try:
19423 * return unicode(o, "UTF-8")
19424 * except: # <<<<<<<<<<<<<<
19425 * return o
19426 *
19427 */
19428 /*except:*/ {
19429 __Pyx_AddTraceback("xmmsapi.enforce_unicode", __pyx_clineno, __pyx_lineno, __pyx_filename);
19430 if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__19430; goto __pyx_L6_except_error;}
19431 __Pyx_GOTREF(__pyx_t_7);
19432 __Pyx_GOTREF(__pyx_t_6);
19433 __Pyx_GOTREF(__pyx_t_8);
19434
19435 /* "xmmsapi.pyx":886
19436 * return unicode(o, "UTF-8")
19437 * except:
19438 * return o # <<<<<<<<<<<<<<
19439 *
19440 * cdef object check_playlist(object pls, bint None_is_active):
19441 */
19442 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
19443 __Pyx_INCREF(__pyx_v_o)( ((PyObject*)(__pyx_v_o))->ob_refcnt++);
19444 __pyx_r = __pyx_v_o;
19445 __Pyx_DECREF(__pyx_t_6)do { if ( --((PyObject*)(__pyx_t_6))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_6)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_6)))); } while (
0)
; __pyx_t_6 = 0;
19446 __Pyx_DECREF(__pyx_t_7)do { if ( --((PyObject*)(__pyx_t_7))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_7)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_7)))); } while (
0)
; __pyx_t_7 = 0;
19447 __Pyx_DECREF(__pyx_t_8)do { if ( --((PyObject*)(__pyx_t_8))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_8)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_8)))); } while (
0)
; __pyx_t_8 = 0;
19448 goto __pyx_L7_except_return;
19449 __Pyx_DECREF(__pyx_t_7)do { if ( --((PyObject*)(__pyx_t_7))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_7)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_7)))); } while (
0)
; __pyx_t_7 = 0;
19450 __Pyx_DECREF(__pyx_t_6)do { if ( --((PyObject*)(__pyx_t_6))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_6)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_6)))); } while (
0)
; __pyx_t_6 = 0;
19451 __Pyx_DECREF(__pyx_t_8)do { if ( --((PyObject*)(__pyx_t_8))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_8)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_8)))); } while (
0)
; __pyx_t_8 = 0;
19452 goto __pyx_L5_exception_handled;
19453 }
19454 __pyx_L6_except_error:;
19455 __Pyx_XGIVEREF(__pyx_t_3);
19456 __Pyx_XGIVEREF(__pyx_t_4);
19457 __Pyx_XGIVEREF(__pyx_t_5);
19458 __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
19459 goto __pyx_L1_error;
19460 __pyx_L8_try_return:;
19461 __Pyx_XGIVEREF(__pyx_t_3);
19462 __Pyx_XGIVEREF(__pyx_t_4);
19463 __Pyx_XGIVEREF(__pyx_t_5);
19464 __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
19465 goto __pyx_L0;
19466 __pyx_L7_except_return:;
19467 __Pyx_XGIVEREF(__pyx_t_3);
19468 __Pyx_XGIVEREF(__pyx_t_4);
19469 __Pyx_XGIVEREF(__pyx_t_5);
19470 __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
19471 goto __pyx_L0;
19472 __pyx_L5_exception_handled:;
19473 __Pyx_XGIVEREF(__pyx_t_3);
19474 __Pyx_XGIVEREF(__pyx_t_4);
19475 __Pyx_XGIVEREF(__pyx_t_5);
19476 __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
19477 __pyx_L11_try_end:;
19478 }
19479 }
19480
19481 /* "xmmsapi.pyx":879
19482 * return path
19483 *
19484 * def enforce_unicode(object o): # <<<<<<<<<<<<<<
19485 * if isinstance(o, unicode):
19486 * return o
19487 */
19488
19489 /* function exit code */
19490 __pyx_L1_error:;
19491 __Pyx_XDECREF(__pyx_t_6)do { if ((__pyx_t_6) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_6))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_6)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_6)))); } while (0); } while (0)
;
19492 __Pyx_XDECREF(__pyx_t_7)do { if ((__pyx_t_7) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_7))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_7)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_7)))); } while (0); } while (0)
;
19493 __Pyx_XDECREF(__pyx_t_8)do { if ((__pyx_t_8) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_8))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_8)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_8)))); } while (0); } while (0)
;
19494 __Pyx_AddTraceback("xmmsapi.enforce_unicode", __pyx_clineno, __pyx_lineno, __pyx_filename);
19495 __pyx_r = NULL((void*)0);
19496 __pyx_L0:;
19497 __Pyx_XGIVEREF(__pyx_r);
19498 __Pyx_RefNannyFinishContext();
19499 return __pyx_r;
19500}
19501
19502/* "xmmsapi.pyx":888
19503 * return o
19504 *
19505 * cdef object check_playlist(object pls, bint None_is_active): # <<<<<<<<<<<<<<
19506 * if pls is None and not None_is_active:
19507 * raise TypeError("expected str, %s found" % pls.__class__.__name__)
19508 */
19509
19510static PyObject *__pyx_f_7xmmsapi_check_playlist(PyObject *__pyx_v_pls, int __pyx_v_None_is_active) {
19511 PyObject *__pyx_r = NULL((void*)0);
19512 __Pyx_RefNannyDeclarations
19513 int __pyx_t_1;
19514 int __pyx_t_2;
19515 int __pyx_t_3;
19516 PyObject *__pyx_t_4 = NULL((void*)0);
19517 PyObject *__pyx_t_5 = NULL((void*)0);
19518 int __pyx_lineno = 0;
19519 const char *__pyx_filename = NULL((void*)0);
19520 int __pyx_clineno = 0;
19521 __Pyx_RefNannySetupContext("check_playlist", 0);
19522
19523 /* "xmmsapi.pyx":889
19524 *
19525 * cdef object check_playlist(object pls, bint None_is_active):
19526 * if pls is None and not None_is_active: # <<<<<<<<<<<<<<
19527 * raise TypeError("expected str, %s found" % pls.__class__.__name__)
19528 * return from_unicode(pls or ACTIVE_PLAYLIST)
19529 */
19530 __pyx_t_1 = (__pyx_v_pls == Py_None(&_Py_NoneStruct));
19531 if ((__pyx_t_1 != 0)) {
19532 __pyx_t_2 = ((!(__pyx_v_None_is_active != 0)) != 0);
19533 __pyx_t_3 = __pyx_t_2;
19534 } else {
19535 __pyx_t_3 = (__pyx_t_1 != 0);
19536 }
19537 if (__pyx_t_3) {
19538
19539 /* "xmmsapi.pyx":890
19540 * cdef object check_playlist(object pls, bint None_is_active):
19541 * if pls is None and not None_is_active:
19542 * raise TypeError("expected str, %s found" % pls.__class__.__name__) # <<<<<<<<<<<<<<
19543 * return from_unicode(pls or ACTIVE_PLAYLIST)
19544 *
19545 */
19546 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_pls, __pyx_n_s_class); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 890; __pyx_clineno = __LINE__19546; goto __pyx_L1_error;}
19547 __Pyx_GOTREF(__pyx_t_4);
19548 __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_name); if (unlikely(!__pyx_t_5)__builtin_expect(!!(!__pyx_t_5), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 890; __pyx_clineno = __LINE__19548; goto __pyx_L1_error;}
19549 __Pyx_GOTREF(__pyx_t_5);
19550 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
19551 __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_expected_str_s_found, __pyx_t_5)PyString_Format(__pyx_kp_s_expected_str_s_found, __pyx_t_5); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 890; __pyx_clineno = __LINE__19551; goto __pyx_L1_error;}
19552 __Pyx_GOTREF(__pyx_t_4);
19553 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
19554 __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)__builtin_expect(!!(!__pyx_t_5), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 890; __pyx_clineno = __LINE__19554; goto __pyx_L1_error;}
19555 __Pyx_GOTREF(__pyx_t_5);
19556 PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4)(((PyTupleObject *)(__pyx_t_5))->ob_item[0] = __pyx_t_4);
19557 __Pyx_GIVEREF(__pyx_t_4);
19558 __pyx_t_4 = 0;
19559 __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_t_5, NULL((void*)0)); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 890; __pyx_clineno = __LINE__19559; goto __pyx_L1_error;}
19560 __Pyx_GOTREF(__pyx_t_4);
19561 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
19562 __Pyx_Raise(__pyx_t_4, 0, 0, 0);
19563 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
19564 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 890; __pyx_clineno = __LINE__19564; goto __pyx_L1_error;}
19565 }
19566
19567 /* "xmmsapi.pyx":891
19568 * if pls is None and not None_is_active:
19569 * raise TypeError("expected str, %s found" % pls.__class__.__name__)
19570 * return from_unicode(pls or ACTIVE_PLAYLIST) # <<<<<<<<<<<<<<
19571 *
19572 * cdef class XmmsProxy:
19573 */
19574 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
19575 __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_pls); if (unlikely(__pyx_t_3 < 0)__builtin_expect(!!(__pyx_t_3 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__19575; goto __pyx_L1_error;}
19576 if (!__pyx_t_3) {
19577 __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_ACTIVE_PLAYLIST); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__19577; goto __pyx_L1_error;}
19578 __Pyx_GOTREF(__pyx_t_4);
19579 __pyx_t_5 = __pyx_t_4;
19580 __pyx_t_4 = 0;
19581 } else {
19582 __Pyx_INCREF(__pyx_v_pls)( ((PyObject*)(__pyx_v_pls))->ob_refcnt++);
19583 __pyx_t_5 = __pyx_v_pls;
19584 }
19585 __pyx_t_4 = __pyx_f_9xmmsutils_from_unicode(__pyx_t_5); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__19585; goto __pyx_L1_error;}
19586 __Pyx_GOTREF(__pyx_t_4);
19587 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
19588 __pyx_r = __pyx_t_4;
19589 __pyx_t_4 = 0;
19590 goto __pyx_L0;
19591
19592 /* "xmmsapi.pyx":888
19593 * return o
19594 *
19595 * cdef object check_playlist(object pls, bint None_is_active): # <<<<<<<<<<<<<<
19596 * if pls is None and not None_is_active:
19597 * raise TypeError("expected str, %s found" % pls.__class__.__name__)
19598 */
19599
19600 /* function exit code */
19601 __pyx_L1_error:;
19602 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
;
19603 __Pyx_XDECREF(__pyx_t_5)do { if ((__pyx_t_5) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_5))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_5)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_5)))); } while (0); } while (0)
;
19604 __Pyx_AddTraceback("xmmsapi.check_playlist", __pyx_clineno, __pyx_lineno, __pyx_filename);
19605 __pyx_r = 0;
19606 __pyx_L0:;
19607 __Pyx_XGIVEREF(__pyx_r);
19608 __Pyx_RefNannyFinishContext();
19609 return __pyx_r;
19610}
19611
19612/* "xmmsapi.pyx":894
19613 *
19614 * cdef class XmmsProxy:
19615 * def __init__(self, xmms): # <<<<<<<<<<<<<<
19616 * self._xmms = xmms
19617 *
19618 */
19619
19620/* Python wrapper */
19621static int __pyx_pw_7xmmsapi_9XmmsProxy_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
19622static int __pyx_pw_7xmmsapi_9XmmsProxy_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
19623 PyObject *__pyx_v_xmms = 0;
19624 int __pyx_lineno = 0;
19625 const char *__pyx_filename = NULL((void*)0);
19626 int __pyx_clineno = 0;
19627 int __pyx_r;
19628 __Pyx_RefNannyDeclarations
19629 __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
19630 {
19631 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_xmms,0};
19632 PyObject* values[1] = {0};
19633 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
19634 Py_ssize_t kw_args;
19635 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
19636 switch (pos_args) {
19637 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
19638 case 0: break;
19639 default: goto __pyx_L5_argtuple_error;
19640 }
19641 kw_args = PyDict_Size(__pyx_kwds);
19642 switch (pos_args) {
19643 case 0:
19644 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_xmms)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_xmms
)) != 0), 1)
) kw_args--;
19645 else goto __pyx_L5_argtuple_error;
19646 }
19647 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
19648 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "__init__") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__19648; goto __pyx_L3_error;}
19649 }
19650 } else if (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size) != 1) {
19651 goto __pyx_L5_argtuple_error;
19652 } else {
19653 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
19654 }
19655 __pyx_v_xmms = values[0];
19656 }
19657 goto __pyx_L4_argument_unpacking_done;
19658 __pyx_L5_argtuple_error:;
19659 __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__19659; goto __pyx_L3_error;}
19660 __pyx_L3_error:;
19661 __Pyx_AddTraceback("xmmsapi.XmmsProxy.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
19662 __Pyx_RefNannyFinishContext();
19663 return -1;
19664 __pyx_L4_argument_unpacking_done:;
19665 __pyx_r = __pyx_pf_7xmmsapi_9XmmsProxy___init__(((struct __pyx_obj_7xmmsapi_XmmsProxy *)__pyx_v_self), __pyx_v_xmms);
19666
19667 /* function exit code */
19668 __Pyx_RefNannyFinishContext();
19669 return __pyx_r;
19670}
19671
19672static int __pyx_pf_7xmmsapi_9XmmsProxy___init__(struct __pyx_obj_7xmmsapi_XmmsProxy *__pyx_v_self, PyObject *__pyx_v_xmms) {
19673 int __pyx_r;
19674 __Pyx_RefNannyDeclarations
19675 int __pyx_lineno = 0;
19676 const char *__pyx_filename = NULL((void*)0);
19677 int __pyx_clineno = 0;
19678 __Pyx_RefNannySetupContext("__init__", 0);
19679
19680 /* "xmmsapi.pyx":895
19681 * cdef class XmmsProxy:
19682 * def __init__(self, xmms):
19683 * self._xmms = xmms # <<<<<<<<<<<<<<
19684 *
19685 * cdef XmmsCore _get_xmms(self):
19686 */
19687 if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_xmms_2, __pyx_v_xmms) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__19687; goto __pyx_L1_error;}
19688
19689 /* "xmmsapi.pyx":894
19690 *
19691 * cdef class XmmsProxy:
19692 * def __init__(self, xmms): # <<<<<<<<<<<<<<
19693 * self._xmms = xmms
19694 *
19695 */
19696
19697 /* function exit code */
19698 __pyx_r = 0;
19699 goto __pyx_L0;
19700 __pyx_L1_error:;
19701 __Pyx_AddTraceback("xmmsapi.XmmsProxy.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
19702 __pyx_r = -1;
19703 __pyx_L0:;
19704 __Pyx_RefNannyFinishContext();
19705 return __pyx_r;
19706}
19707
19708/* "xmmsapi.pyx":897
19709 * self._xmms = xmms
19710 *
19711 * cdef XmmsCore _get_xmms(self): # <<<<<<<<<<<<<<
19712 * return self._xmms
19713 *
19714 */
19715
19716static struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_f_7xmmsapi_9XmmsProxy__get_xmms(struct __pyx_obj_7xmmsapi_XmmsProxy *__pyx_v_self) {
19717 struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_r = NULL((void*)0);
19718 __Pyx_RefNannyDeclarations
19719 PyObject *__pyx_t_1 = NULL((void*)0);
19720 int __pyx_lineno = 0;
19721 const char *__pyx_filename = NULL((void*)0);
19722 int __pyx_clineno = 0;
19723 __Pyx_RefNannySetupContext("_get_xmms", 0);
19724
19725 /* "xmmsapi.pyx":898
19726 *
19727 * cdef XmmsCore _get_xmms(self):
19728 * return self._xmms # <<<<<<<<<<<<<<
19729 *
19730 * cdef class XmmsCore:
19731 */
19732 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
19733 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_xmms_2); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__19733; goto __pyx_L1_error;}
19734 __Pyx_GOTREF(__pyx_t_1);
19735 if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_7xmmsapi_XmmsCore)))__builtin_expect(!!(((__pyx_t_1) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_7xmmsapi_XmmsCore
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__19735; goto __pyx_L1_error;}
19736 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_t_1);
19737 __pyx_t_1 = 0;
19738 goto __pyx_L0;
19739
19740 /* "xmmsapi.pyx":897
19741 * self._xmms = xmms
19742 *
19743 * cdef XmmsCore _get_xmms(self): # <<<<<<<<<<<<<<
19744 * return self._xmms
19745 *
19746 */
19747
19748 /* function exit code */
19749 __pyx_L1_error:;
19750 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
19751 __Pyx_AddTraceback("xmmsapi.XmmsProxy._get_xmms", __pyx_clineno, __pyx_lineno, __pyx_filename);
19752 __pyx_r = 0;
19753 __pyx_L0:;
19754 __Pyx_XGIVEREF((PyObject *)__pyx_r);
19755 __Pyx_RefNannyFinishContext();
19756 return __pyx_r;
19757}
19758
19759/* "xmmsapi.pyx":913
19760 * #cdef readonly object clientname
19761 *
19762 * def __cinit__(self, *args, **kargs): #Trick to allow subclass with init arguments # <<<<<<<<<<<<<<
19763 * """
19764 * Initiates a connection to the XMMS2 daemon. All operations
19765 */
19766
19767/* Python wrapper */
19768static int __pyx_pw_7xmmsapi_8XmmsCore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
19769static int __pyx_pw_7xmmsapi_8XmmsCore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
19770 PyObject *__pyx_v_args = 0;
19771 PyObject *__pyx_v_kargs = 0;
19772 int __pyx_r;
19773 __Pyx_RefNannyDeclarations
19774 __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
19775 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 1))__builtin_expect(!!(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__"
, 1)), 0)
) return -1;
19776 __pyx_v_kargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New();
19777 if (unlikely(!__pyx_v_kargs)__builtin_expect(!!(!__pyx_v_kargs), 0)) return -1;
19778 __Pyx_GOTREF(__pyx_v_kargs);
19779 __Pyx_INCREF(__pyx_args)( ((PyObject*)(__pyx_args))->ob_refcnt++);
19780 __pyx_v_args = __pyx_args;
19781 __pyx_r = __pyx_pf_7xmmsapi_8XmmsCore___cinit__(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_args, __pyx_v_kargs);
19782
19783 /* function exit code */
19784 __Pyx_XDECREF(__pyx_v_args)do { if ((__pyx_v_args) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_args))->ob_refcnt != 0) ; else ( (*(((PyObject*
)((PyObject *)(__pyx_v_args)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(__pyx_v_args)))); } while (0); } while
(0)
;
19785 __Pyx_XDECREF(__pyx_v_kargs)do { if ((__pyx_v_kargs) == ((void*)0)) ; else do { if ( --((
PyObject*)(__pyx_v_kargs))->ob_refcnt != 0) ; else ( (*(((
PyObject*)((PyObject *)(__pyx_v_kargs)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(__pyx_v_kargs)))); } while (0); }
while (0)
;
19786 __Pyx_RefNannyFinishContext();
19787 return __pyx_r;
19788}
19789
19790static int __pyx_pf_7xmmsapi_8XmmsCore___cinit__(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kargs) {
19791 PyObject *__pyx_v_clientname = NULL((void*)0);
19792 PyObject *__pyx_v_default_sp = NULL((void*)0);
19793 int __pyx_r;
19794 __Pyx_RefNannyDeclarations
19795 int __pyx_t_1;
19796 int __pyx_t_2;
19797 PyObject *__pyx_t_3 = NULL((void*)0);
19798 Py_ssize_t __pyx_t_4;
19799 PyObject *__pyx_t_5 = NULL((void*)0);
19800 PyObject *__pyx_t_6 = NULL((void*)0);
19801 PyObject *__pyx_t_7 = NULL((void*)0);
19802 int __pyx_lineno = 0;
19803 const char *__pyx_filename = NULL((void*)0);
19804 int __pyx_clineno = 0;
19805 __Pyx_RefNannySetupContext("__cinit__", 0);
19806
19807 /* "xmmsapi.pyx":918
19808 * involving the daemon are done via this connection.
19809 * """
19810 * if 'clientname' in kargs: # <<<<<<<<<<<<<<
19811 * clientname = kargs['clientname']
19812 * elif len(args):
19813 */
19814 __pyx_t_1 = (__Pyx_PyDict_Contains(__pyx_n_s_clientname, __pyx_v_kargs, Py_EQ2)); if (unlikely(__pyx_t_1 < 0)__builtin_expect(!!(__pyx_t_1 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __pyx_clineno = __LINE__19814; goto __pyx_L1_error;}
19815 __pyx_t_2 = (__pyx_t_1 != 0);
19816 if (__pyx_t_2) {
19817
19818 /* "xmmsapi.pyx":919
19819 * """
19820 * if 'clientname' in kargs:
19821 * clientname = kargs['clientname'] # <<<<<<<<<<<<<<
19822 * elif len(args):
19823 * clientname = args[0]
19824 */
19825 __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_kargs, __pyx_n_s_clientname)PyObject_GetItem(__pyx_v_kargs, __pyx_n_s_clientname); if (unlikely(__pyx_t_3 == NULL)__builtin_expect(!!(__pyx_t_3 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__19825; goto __pyx_L1_error;};
19826 __Pyx_GOTREF(__pyx_t_3);
19827 __pyx_v_clientname = __pyx_t_3;
19828 __pyx_t_3 = 0;
19829 goto __pyx_L3;
19830 }
19831
19832 /* "xmmsapi.pyx":920
19833 * if 'clientname' in kargs:
19834 * clientname = kargs['clientname']
19835 * elif len(args): # <<<<<<<<<<<<<<
19836 * clientname = args[0]
19837 * else:
19838 */
19839 __pyx_t_4 = PyTuple_GET_SIZE(__pyx_v_args)(((PyVarObject*)(__pyx_v_args))->ob_size); if (unlikely(__pyx_t_4 == -1)__builtin_expect(!!(__pyx_t_4 == -1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__19839; goto __pyx_L1_error;}
19840 __pyx_t_2 = (__pyx_t_4 != 0);
19841 if (__pyx_t_2) {
19842
19843 /* "xmmsapi.pyx":921
19844 * clientname = kargs['clientname']
19845 * elif len(args):
19846 * clientname = args[0] # <<<<<<<<<<<<<<
19847 * else:
19848 * clientname = None
19849 */
19850 __pyx_t_3 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1)(( (sizeof(long) < sizeof(Py_ssize_t)) || (sizeof(long) >
sizeof(Py_ssize_t) && __builtin_expect(!!(0 < (long
)((Py_ssize_t)(((size_t)-1)>>1)) || 0 == (long)((Py_ssize_t
)(((size_t)-1)>>1))), 1) && (!1 || __builtin_expect
(!!(0 > (long)(-((Py_ssize_t)(((size_t)-1)>>1))-1) ||
0 == (long)(-((Py_ssize_t)(((size_t)-1)>>1))-1)), 1)))
|| (sizeof(long) == sizeof(Py_ssize_t) && (1 || __builtin_expect
(!!(0 < (long)((Py_ssize_t)(((size_t)-1)>>1)) || 0 ==
(long)((Py_ssize_t)(((size_t)-1)>>1))), 1))) ) ? __Pyx_GetItemInt_Tuple_Fast
(__pyx_v_args, (Py_ssize_t)0, 0, 1) : (PyErr_SetString(PyExc_IndexError
, "tuple index out of range"), (PyObject*)((void*)0)))
; if (unlikely(__pyx_t_3 == NULL)__builtin_expect(!!(__pyx_t_3 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__19850; goto __pyx_L1_error;};
19851 __Pyx_GOTREF(__pyx_t_3);
19852 __pyx_v_clientname = __pyx_t_3;
19853 __pyx_t_3 = 0;
19854 goto __pyx_L3;
19855 }
19856 /*else*/ {
19857
19858 /* "xmmsapi.pyx":923
19859 * clientname = args[0]
19860 * else:
19861 * clientname = None # <<<<<<<<<<<<<<
19862 * if not clientname:
19863 * clientname = "UnnamedPythonClient"
19864 */
19865 __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
19866 __pyx_v_clientname = Py_None(&_Py_NoneStruct);
19867 }
19868 __pyx_L3:;
19869
19870 /* "xmmsapi.pyx":924
19871 * else:
19872 * clientname = None
19873 * if not clientname: # <<<<<<<<<<<<<<
19874 * clientname = "UnnamedPythonClient"
19875 * self.clientname = clientname
19876 */
19877 __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_clientname); if (unlikely(__pyx_t_2 < 0)__builtin_expect(!!(__pyx_t_2 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__19877; goto __pyx_L1_error;}
19878 __pyx_t_1 = ((!__pyx_t_2) != 0);
19879 if (__pyx_t_1) {
19880
19881 /* "xmmsapi.pyx":925
19882 * clientname = None
19883 * if not clientname:
19884 * clientname = "UnnamedPythonClient" # <<<<<<<<<<<<<<
19885 * self.clientname = clientname
19886 * default_sp = get_default_source_pref()
19887 */
19888 __Pyx_INCREF(__pyx_n_s_UnnamedPythonClient)( ((PyObject*)(__pyx_n_s_UnnamedPythonClient))->ob_refcnt++
)
;
19889 __Pyx_DECREF_SET(__pyx_v_clientname, __pyx_n_s_UnnamedPythonClient)do { PyObject *tmp = (PyObject *) __pyx_v_clientname; __pyx_v_clientname
= __pyx_n_s_UnnamedPythonClient; do { if ( --((PyObject*)(tmp
))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(
tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)
(tmp)))); } while (0); } while (0)
;
19890 goto __pyx_L4;
19891 }
19892 __pyx_L4:;
19893
19894 /* "xmmsapi.pyx":926
19895 * if not clientname:
19896 * clientname = "UnnamedPythonClient"
19897 * self.clientname = clientname # <<<<<<<<<<<<<<
19898 * default_sp = get_default_source_pref()
19899 * default_sp.insert(0, enforce_unicode("client/"+clientname))
19900 */
19901 __Pyx_INCREF(__pyx_v_clientname)( ((PyObject*)(__pyx_v_clientname))->ob_refcnt++);
19902 __Pyx_GIVEREF(__pyx_v_clientname);
19903 __Pyx_GOTREF(__pyx_v_self->clientname);
19904 __Pyx_DECREF(__pyx_v_self->clientname)do { if ( --((PyObject*)(__pyx_v_self->clientname))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)(__pyx_v_self->
clientname)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_v_self->clientname)))); } while (0)
;
19905 __pyx_v_self->clientname = __pyx_v_clientname;
19906
19907 /* "xmmsapi.pyx":927
19908 * clientname = "UnnamedPythonClient"
19909 * self.clientname = clientname
19910 * default_sp = get_default_source_pref() # <<<<<<<<<<<<<<
19911 * default_sp.insert(0, enforce_unicode("client/"+clientname))
19912 * self.source_preference = XmmsSourcePreference(default_sp)
19913 */
19914 __pyx_t_3 = __pyx_f_9xmmsvalue_get_default_source_pref(); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__19914; goto __pyx_L1_error;}
19915 __Pyx_GOTREF(__pyx_t_3);
19916 __pyx_v_default_sp = __pyx_t_3;
19917 __pyx_t_3 = 0;
19918
19919 /* "xmmsapi.pyx":928
19920 * self.clientname = clientname
19921 * default_sp = get_default_source_pref()
19922 * default_sp.insert(0, enforce_unicode("client/"+clientname)) # <<<<<<<<<<<<<<
19923 * self.source_preference = XmmsSourcePreference(default_sp)
19924 * self.result_tracker = XmmsResultTracker() # Keep track of all results that set a notifier.
19925 */
19926 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_default_sp, __pyx_n_s_insert); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; __pyx_clineno = __LINE__19926; goto __pyx_L1_error;}
19927 __Pyx_GOTREF(__pyx_t_3);
19928 __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_enforce_unicode); if (unlikely(!__pyx_t_5)__builtin_expect(!!(!__pyx_t_5), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; __pyx_clineno = __LINE__19928; goto __pyx_L1_error;}
19929 __Pyx_GOTREF(__pyx_t_5);
19930 __pyx_t_6 = PyNumber_Add(__pyx_kp_s_client, __pyx_v_clientname); if (unlikely(!__pyx_t_6)__builtin_expect(!!(!__pyx_t_6), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; __pyx_clineno = __LINE__19930; goto __pyx_L1_error;}
19931 __Pyx_GOTREF(__pyx_t_6);
19932 __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)__builtin_expect(!!(!__pyx_t_7), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; __pyx_clineno = __LINE__19932; goto __pyx_L1_error;}
19933 __Pyx_GOTREF(__pyx_t_7);
19934 PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6)(((PyTupleObject *)(__pyx_t_7))->ob_item[0] = __pyx_t_6);
19935 __Pyx_GIVEREF(__pyx_t_6);
19936 __pyx_t_6 = 0;
19937 __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL((void*)0)); if (unlikely(!__pyx_t_6)__builtin_expect(!!(!__pyx_t_6), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; __pyx_clineno = __LINE__19937; goto __pyx_L1_error;}
19938 __Pyx_GOTREF(__pyx_t_6);
19939 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
19940 __Pyx_DECREF(__pyx_t_7)do { if ( --((PyObject*)(__pyx_t_7))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_7)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_7)))); } while (
0)
; __pyx_t_7 = 0;
19941 __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)__builtin_expect(!!(!__pyx_t_7), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; __pyx_clineno = __LINE__19941; goto __pyx_L1_error;}
19942 __Pyx_GOTREF(__pyx_t_7);
19943 __Pyx_INCREF(__pyx_int_0)( ((PyObject*)(__pyx_int_0))->ob_refcnt++);
19944 PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_int_0)(((PyTupleObject *)(__pyx_t_7))->ob_item[0] = __pyx_int_0);
19945 __Pyx_GIVEREF(__pyx_int_0);
19946 PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6)(((PyTupleObject *)(__pyx_t_7))->ob_item[1] = __pyx_t_6);
19947 __Pyx_GIVEREF(__pyx_t_6);
19948 __pyx_t_6 = 0;
19949 __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_7, NULL((void*)0)); if (unlikely(!__pyx_t_6)__builtin_expect(!!(!__pyx_t_6), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 928; __pyx_clineno = __LINE__19949; goto __pyx_L1_error;}
19950 __Pyx_GOTREF(__pyx_t_6);
19951 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
19952 __Pyx_DECREF(__pyx_t_7)do { if ( --((PyObject*)(__pyx_t_7))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_7)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_7)))); } while (
0)
; __pyx_t_7 = 0;
19953 __Pyx_DECREF(__pyx_t_6)do { if ( --((PyObject*)(__pyx_t_6))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_6)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_6)))); } while (
0)
; __pyx_t_6 = 0;
19954
19955 /* "xmmsapi.pyx":929
19956 * default_sp = get_default_source_pref()
19957 * default_sp.insert(0, enforce_unicode("client/"+clientname))
19958 * self.source_preference = XmmsSourcePreference(default_sp) # <<<<<<<<<<<<<<
19959 * self.result_tracker = XmmsResultTracker() # Keep track of all results that set a notifier.
19960 * self.new_connection()
19961 */
19962 __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)__builtin_expect(!!(!__pyx_t_6), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 929; __pyx_clineno = __LINE__19962; goto __pyx_L1_error;}
19963 __Pyx_GOTREF(__pyx_t_6);
19964 __Pyx_INCREF(__pyx_v_default_sp)( ((PyObject*)(__pyx_v_default_sp))->ob_refcnt++);
19965 PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_default_sp)(((PyTupleObject *)(__pyx_t_6))->ob_item[0] = __pyx_v_default_sp
)
;
19966 __Pyx_GIVEREF(__pyx_v_default_sp);
19967 __pyx_t_7 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_7xmmsapi_XmmsSourcePreference)), __pyx_t_6, NULL((void*)0)); if (unlikely(!__pyx_t_7)__builtin_expect(!!(!__pyx_t_7), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 929; __pyx_clineno = __LINE__19967; goto __pyx_L1_error;}
19968 __Pyx_GOTREF(__pyx_t_7);
19969 __Pyx_DECREF(__pyx_t_6)do { if ( --((PyObject*)(__pyx_t_6))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_6)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_6)))); } while (
0)
; __pyx_t_6 = 0;
19970 __Pyx_GIVEREF(__pyx_t_7);
19971 __Pyx_GOTREF(__pyx_v_self->source_preference);
19972 __Pyx_DECREF(((PyObject *)__pyx_v_self->source_preference))do { if ( --((PyObject*)(((PyObject *)__pyx_v_self->source_preference
)))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)
(((PyObject *)__pyx_v_self->source_preference))))->ob_type
)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject *)__pyx_v_self
->source_preference))))); } while (0)
;
19973 __pyx_v_self->source_preference = ((struct __pyx_obj_7xmmsapi_XmmsSourcePreference *)__pyx_t_7);
19974 __pyx_t_7 = 0;
19975
19976 /* "xmmsapi.pyx":930
19977 * default_sp.insert(0, enforce_unicode("client/"+clientname))
19978 * self.source_preference = XmmsSourcePreference(default_sp)
19979 * self.result_tracker = XmmsResultTracker() # Keep track of all results that set a notifier. # <<<<<<<<<<<<<<
19980 * self.new_connection()
19981 *
19982 */
19983 __pyx_t_7 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_7xmmsapi_XmmsResultTracker)), __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_7)__builtin_expect(!!(!__pyx_t_7), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 930; __pyx_clineno = __LINE__19983; goto __pyx_L1_error;}
19984 __Pyx_GOTREF(__pyx_t_7);
19985 __Pyx_GIVEREF(__pyx_t_7);
19986 __Pyx_GOTREF(__pyx_v_self->result_tracker);
19987 __Pyx_DECREF(((PyObject *)__pyx_v_self->result_tracker))do { if ( --((PyObject*)(((PyObject *)__pyx_v_self->result_tracker
)))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)
(((PyObject *)__pyx_v_self->result_tracker))))->ob_type
)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject *)__pyx_v_self
->result_tracker))))); } while (0)
;
19988 __pyx_v_self->result_tracker = ((struct __pyx_obj_7xmmsapi_XmmsResultTracker *)__pyx_t_7);
19989 __pyx_t_7 = 0;
19990
19991 /* "xmmsapi.pyx":931
19992 * self.source_preference = XmmsSourcePreference(default_sp)
19993 * self.result_tracker = XmmsResultTracker() # Keep track of all results that set a notifier.
19994 * self.new_connection() # <<<<<<<<<<<<<<
19995 *
19996 * def __init__(self, clientname = None):
19997 */
19998 __pyx_t_7 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsCore *)__pyx_v_self->__pyx_vtab)->new_connection(__pyx_v_self); if (unlikely(!__pyx_t_7)__builtin_expect(!!(!__pyx_t_7), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__19998; goto __pyx_L1_error;}
19999 __Pyx_GOTREF(__pyx_t_7);
20000 __Pyx_DECREF(__pyx_t_7)do { if ( --((PyObject*)(__pyx_t_7))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_7)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_7)))); } while (
0)
; __pyx_t_7 = 0;
20001
20002 /* "xmmsapi.pyx":913
20003 * #cdef readonly object clientname
20004 *
20005 * def __cinit__(self, *args, **kargs): #Trick to allow subclass with init arguments # <<<<<<<<<<<<<<
20006 * """
20007 * Initiates a connection to the XMMS2 daemon. All operations
20008 */
20009
20010 /* function exit code */
20011 __pyx_r = 0;
20012 goto __pyx_L0;
20013 __pyx_L1_error:;
20014 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
20015 __Pyx_XDECREF(__pyx_t_5)do { if ((__pyx_t_5) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_5))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_5)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_5)))); } while (0); } while (0)
;
20016 __Pyx_XDECREF(__pyx_t_6)do { if ((__pyx_t_6) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_6))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_6)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_6)))); } while (0); } while (0)
;
20017 __Pyx_XDECREF(__pyx_t_7)do { if ((__pyx_t_7) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_7))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_7)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_7)))); } while (0); } while (0)
;
20018 __Pyx_AddTraceback("xmmsapi.XmmsCore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
20019 __pyx_r = -1;
20020 __pyx_L0:;
20021 __Pyx_XDECREF(__pyx_v_clientname)do { if ((__pyx_v_clientname) == ((void*)0)) ; else do { if (
--((PyObject*)(__pyx_v_clientname))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_v_clientname)))->ob_type
)->tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_clientname
)))); } while (0); } while (0)
;
20022 __Pyx_XDECREF(__pyx_v_default_sp)do { if ((__pyx_v_default_sp) == ((void*)0)) ; else do { if (
--((PyObject*)(__pyx_v_default_sp))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_v_default_sp)))->ob_type
)->tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_default_sp
)))); } while (0); } while (0)
;
20023 __Pyx_RefNannyFinishContext();
20024 return __pyx_r;
20025}
20026
20027/* "xmmsapi.pyx":933
20028 * self.new_connection()
20029 *
20030 * def __init__(self, clientname = None): # <<<<<<<<<<<<<<
20031 * pass
20032 *
20033 */
20034
20035/* Python wrapper */
20036static int __pyx_pw_7xmmsapi_8XmmsCore_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
20037static int __pyx_pw_7xmmsapi_8XmmsCore_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
20038 CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_v_clientname = 0;
20039 int __pyx_lineno = 0;
20040 const char *__pyx_filename = NULL((void*)0);
20041 int __pyx_clineno = 0;
20042 int __pyx_r;
20043 __Pyx_RefNannyDeclarations
20044 __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
20045 {
20046 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_clientname,0};
20047 PyObject* values[1] = {0};
20048 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
20049 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
20050 Py_ssize_t kw_args;
20051 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
20052 switch (pos_args) {
20053 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
20054 case 0: break;
20055 default: goto __pyx_L5_argtuple_error;
20056 }
20057 kw_args = PyDict_Size(__pyx_kwds);
20058 switch (pos_args) {
20059 case 0:
20060 if (kw_args > 0) {
20061 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_clientname);
20062 if (value) { values[0] = value; kw_args--; }
20063 }
20064 }
20065 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
20066 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "__init__") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; __pyx_clineno = __LINE__20066; goto __pyx_L3_error;}
20067 }
20068 } else {
20069 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
20070 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
20071 case 0: break;
20072 default: goto __pyx_L5_argtuple_error;
20073 }
20074 }
20075 __pyx_v_clientname = values[0];
20076 }
20077 goto __pyx_L4_argument_unpacking_done;
20078 __pyx_L5_argtuple_error:;
20079 __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; __pyx_clineno = __LINE__20079; goto __pyx_L3_error;}
20080 __pyx_L3_error:;
20081 __Pyx_AddTraceback("xmmsapi.XmmsCore.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
20082 __Pyx_RefNannyFinishContext();
20083 return -1;
20084 __pyx_L4_argument_unpacking_done:;
20085 __pyx_r = __pyx_pf_7xmmsapi_8XmmsCore_2__init__(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_clientname);
20086
20087 /* function exit code */
20088 __Pyx_RefNannyFinishContext();
20089 return __pyx_r;
20090}
20091
20092static int __pyx_pf_7xmmsapi_8XmmsCore_2__init__(CYTHON_UNUSED__attribute__ ((__unused__)) struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_v_clientname) {
20093 int __pyx_r;
20094 __Pyx_RefNannyDeclarations
20095 __Pyx_RefNannySetupContext("__init__", 0);
20096
20097 /* function exit code */
20098 __pyx_r = 0;
20099 __Pyx_RefNannyFinishContext();
20100 return __pyx_r;
20101}
20102
20103/* "xmmsapi.pyx":936
20104 * pass
20105 *
20106 * def __dealloc__(self): # <<<<<<<<<<<<<<
20107 * if self.conn != NULL:
20108 * xmmsc_unref(self.conn)
20109 */
20110
20111/* Python wrapper */
20112static void __pyx_pw_7xmmsapi_8XmmsCore_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
20113static void __pyx_pw_7xmmsapi_8XmmsCore_5__dealloc__(PyObject *__pyx_v_self) {
20114 __Pyx_RefNannyDeclarations
20115 __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
20116 __pyx_pf_7xmmsapi_8XmmsCore_4__dealloc__(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self));
20117
20118 /* function exit code */
20119 __Pyx_RefNannyFinishContext();
20120}
20121
20122static void __pyx_pf_7xmmsapi_8XmmsCore_4__dealloc__(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self) {
20123 __Pyx_RefNannyDeclarations
20124 int __pyx_t_1;
20125 __Pyx_RefNannySetupContext("__dealloc__", 0);
20126
20127 /* "xmmsapi.pyx":937
20128 *
20129 * def __dealloc__(self):
20130 * if self.conn != NULL: # <<<<<<<<<<<<<<
20131 * xmmsc_unref(self.conn)
20132 * self.conn = NULL
20133 */
20134 __pyx_t_1 = ((__pyx_v_self->conn != NULL((void*)0)) != 0);
20135 if (__pyx_t_1) {
20136
20137 /* "xmmsapi.pyx":938
20138 * def __dealloc__(self):
20139 * if self.conn != NULL:
20140 * xmmsc_unref(self.conn) # <<<<<<<<<<<<<<
20141 * self.conn = NULL
20142 *
20143 */
20144 xmmsc_unref(__pyx_v_self->conn);
20145
20146 /* "xmmsapi.pyx":939
20147 * if self.conn != NULL:
20148 * xmmsc_unref(self.conn)
20149 * self.conn = NULL # <<<<<<<<<<<<<<
20150 *
20151 * def __del__(self):
20152 */
20153 __pyx_v_self->conn = NULL((void*)0);
20154 goto __pyx_L3;
20155 }
20156 __pyx_L3:;
20157
20158 /* "xmmsapi.pyx":936
20159 * pass
20160 *
20161 * def __dealloc__(self): # <<<<<<<<<<<<<<
20162 * if self.conn != NULL:
20163 * xmmsc_unref(self.conn)
20164 */
20165
20166 /* function exit code */
20167 __Pyx_RefNannyFinishContext();
20168}
20169
20170/* "xmmsapi.pyx":941
20171 * self.conn = NULL
20172 *
20173 * def __del__(self): # <<<<<<<<<<<<<<
20174 * self.disconnect()
20175 *
20176 */
20177
20178/* Python wrapper */
20179static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_7__del__(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
20180static char __pyx_doc_7xmmsapi_8XmmsCore_6__del__[] = "XmmsCore.__del__(self)";
20181static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_7__del__(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
20182 PyObject *__pyx_r = 0;
20183 __Pyx_RefNannyDeclarations
20184 __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
20185 __pyx_r = __pyx_pf_7xmmsapi_8XmmsCore_6__del__(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self));
20186
20187 /* function exit code */
20188 __Pyx_RefNannyFinishContext();
20189 return __pyx_r;
20190}
20191
20192static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_6__del__(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self) {
20193 PyObject *__pyx_r = NULL((void*)0);
20194 __Pyx_RefNannyDeclarations
20195 PyObject *__pyx_t_1 = NULL((void*)0);
20196 int __pyx_lineno = 0;
20197 const char *__pyx_filename = NULL((void*)0);
20198 int __pyx_clineno = 0;
20199 __Pyx_RefNannySetupContext("__del__", 0);
20200
20201 /* "xmmsapi.pyx":942
20202 *
20203 * def __del__(self):
20204 * self.disconnect() # <<<<<<<<<<<<<<
20205 *
20206 * cdef new_connection(self):
20207 */
20208 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsCore *)__pyx_v_self->__pyx_vtab)->disconnect(__pyx_v_self, 0); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__20208; goto __pyx_L1_error;}
20209 __Pyx_GOTREF(__pyx_t_1);
20210 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
20211
20212 /* "xmmsapi.pyx":941
20213 * self.conn = NULL
20214 *
20215 * def __del__(self): # <<<<<<<<<<<<<<
20216 * self.disconnect()
20217 *
20218 */
20219
20220 /* function exit code */
20221 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
20222 goto __pyx_L0;
20223 __pyx_L1_error:;
20224 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
20225 __Pyx_AddTraceback("xmmsapi.XmmsCore.__del__", __pyx_clineno, __pyx_lineno, __pyx_filename);
20226 __pyx_r = NULL((void*)0);
20227 __pyx_L0:;
20228 __Pyx_XGIVEREF(__pyx_r);
20229 __Pyx_RefNannyFinishContext();
20230 return __pyx_r;
20231}
20232
20233/* "xmmsapi.pyx":944
20234 * self.disconnect()
20235 *
20236 * cdef new_connection(self): # <<<<<<<<<<<<<<
20237 * cn = from_unicode(self.clientname)
20238 * self.conn = xmmsc_init(<char *>cn)
20239 */
20240
20241static PyObject *__pyx_f_7xmmsapi_8XmmsCore_new_connection(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self) {
20242 PyObject *__pyx_v_cn = NULL((void*)0);
20243 PyObject *__pyx_r = NULL((void*)0);
20244 __Pyx_RefNannyDeclarations
20245 PyObject *__pyx_t_1 = NULL((void*)0);
20246 PyObject *__pyx_t_2 = NULL((void*)0);
20247 char *__pyx_t_3;
20248 int __pyx_t_4;
20249 int __pyx_lineno = 0;
20250 const char *__pyx_filename = NULL((void*)0);
20251 int __pyx_clineno = 0;
20252 __Pyx_RefNannySetupContext("new_connection", 0);
20253
20254 /* "xmmsapi.pyx":945
20255 *
20256 * cdef new_connection(self):
20257 * cn = from_unicode(self.clientname) # <<<<<<<<<<<<<<
20258 * self.conn = xmmsc_init(<char *>cn)
20259 * if self.conn == NULL:
20260 */
20261 __pyx_t_1 = __pyx_v_self->clientname;
20262 __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++);
20263 __pyx_t_2 = __pyx_f_9xmmsutils_from_unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__20263; goto __pyx_L1_error;}
20264 __Pyx_GOTREF(__pyx_t_2);
20265 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
20266 __pyx_v_cn = __pyx_t_2;
20267 __pyx_t_2 = 0;
20268
20269 /* "xmmsapi.pyx":946
20270 * cdef new_connection(self):
20271 * cn = from_unicode(self.clientname)
20272 * self.conn = xmmsc_init(<char *>cn) # <<<<<<<<<<<<<<
20273 * if self.conn == NULL:
20274 * raise ValueError("Failed to initialize xmmsclient library! Probably due to broken name.")
20275 */
20276 __pyx_t_3 = __Pyx_PyObject_AsString(__pyx_v_cn); if (unlikely((!__pyx_t_3) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_3) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__20276; goto __pyx_L1_error;}
20277 __pyx_v_self->conn = xmmsc_init(((char *)__pyx_t_3));
20278
20279 /* "xmmsapi.pyx":947
20280 * cn = from_unicode(self.clientname)
20281 * self.conn = xmmsc_init(<char *>cn)
20282 * if self.conn == NULL: # <<<<<<<<<<<<<<
20283 * raise ValueError("Failed to initialize xmmsclient library! Probably due to broken name.")
20284 *
20285 */
20286 __pyx_t_4 = ((__pyx_v_self->conn == NULL((void*)0)) != 0);
20287 if (__pyx_t_4) {
20288
20289 /* "xmmsapi.pyx":948
20290 * self.conn = xmmsc_init(<char *>cn)
20291 * if self.conn == NULL:
20292 * raise ValueError("Failed to initialize xmmsclient library! Probably due to broken name.") # <<<<<<<<<<<<<<
20293 *
20294 * cpdef get_source_preference(self):
20295 */
20296 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__38, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 948; __pyx_clineno = __LINE__20296; goto __pyx_L1_error;}
20297 __Pyx_GOTREF(__pyx_t_2);
20298 __Pyx_Raise(__pyx_t_2, 0, 0, 0);
20299 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
20300 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 948; __pyx_clineno = __LINE__20300; goto __pyx_L1_error;}
20301 }
20302
20303 /* "xmmsapi.pyx":944
20304 * self.disconnect()
20305 *
20306 * cdef new_connection(self): # <<<<<<<<<<<<<<
20307 * cn = from_unicode(self.clientname)
20308 * self.conn = xmmsc_init(<char *>cn)
20309 */
20310
20311 /* function exit code */
20312 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
20313 goto __pyx_L0;
20314 __pyx_L1_error:;
20315 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
20316 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
20317 __Pyx_AddTraceback("xmmsapi.XmmsCore.new_connection", __pyx_clineno, __pyx_lineno, __pyx_filename);
20318 __pyx_r = 0;
20319 __pyx_L0:;
20320 __Pyx_XDECREF(__pyx_v_cn)do { if ((__pyx_v_cn) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_cn))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_v_cn)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_cn)))); } while (0); } while (0)
;
20321 __Pyx_XGIVEREF(__pyx_r);
20322 __Pyx_RefNannyFinishContext();
20323 return __pyx_r;
20324}
20325
20326/* "xmmsapi.pyx":950
20327 * raise ValueError("Failed to initialize xmmsclient library! Probably due to broken name.")
20328 *
20329 * cpdef get_source_preference(self): # <<<<<<<<<<<<<<
20330 * return self.source_preference.get()
20331 * cpdef set_source_preference(self, sources):
20332 */
20333
20334static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_9get_source_preference(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
20335static PyObject *__pyx_f_7xmmsapi_8XmmsCore_get_source_preference(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self, int __pyx_skip_dispatch) {
20336 PyObject *__pyx_r = NULL((void*)0);
20337 __Pyx_RefNannyDeclarations
20338 PyObject *__pyx_t_1 = NULL((void*)0);
20339 PyObject *__pyx_t_2 = NULL((void*)0);
20340 int __pyx_lineno = 0;
20341 const char *__pyx_filename = NULL((void*)0);
20342 int __pyx_clineno = 0;
20343 __Pyx_RefNannySetupContext("get_source_preference", 0);
20344 /* Check if called by wrapper */
20345 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
20346 /* Check if overridden in Python */
20347 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
20348 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_source_preference); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__20348; goto __pyx_L1_error;}
20349 __Pyx_GOTREF(__pyx_t_1);
20350 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_8XmmsCore_9get_source_preference)) {
20351 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
20352 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__20352; goto __pyx_L1_error;}
20353 __Pyx_GOTREF(__pyx_t_2);
20354 __pyx_r = __pyx_t_2;
20355 __pyx_t_2 = 0;
20356 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
20357 goto __pyx_L0;
20358 }
20359 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
20360 }
20361
20362 /* "xmmsapi.pyx":951
20363 *
20364 * cpdef get_source_preference(self):
20365 * return self.source_preference.get() # <<<<<<<<<<<<<<
20366 * cpdef set_source_preference(self, sources):
20367 * self.source_preference.set(sources)
20368 */
20369 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
20370 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->source_preference), __pyx_n_s_get); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 951; __pyx_clineno = __LINE__20370; goto __pyx_L1_error;}
20371 __Pyx_GOTREF(__pyx_t_1);
20372 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 951; __pyx_clineno = __LINE__20372; goto __pyx_L1_error;}
20373 __Pyx_GOTREF(__pyx_t_2);
20374 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
20375 __pyx_r = __pyx_t_2;
20376 __pyx_t_2 = 0;
20377 goto __pyx_L0;
20378
20379 /* "xmmsapi.pyx":950
20380 * raise ValueError("Failed to initialize xmmsclient library! Probably due to broken name.")
20381 *
20382 * cpdef get_source_preference(self): # <<<<<<<<<<<<<<
20383 * return self.source_preference.get()
20384 * cpdef set_source_preference(self, sources):
20385 */
20386
20387 /* function exit code */
20388 __pyx_L1_error:;
20389 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
20390 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
20391 __Pyx_AddTraceback("xmmsapi.XmmsCore.get_source_preference", __pyx_clineno, __pyx_lineno, __pyx_filename);
20392 __pyx_r = 0;
20393 __pyx_L0:;
20394 __Pyx_XGIVEREF(__pyx_r);
20395 __Pyx_RefNannyFinishContext();
20396 return __pyx_r;
20397}
20398
20399/* Python wrapper */
20400static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_9get_source_preference(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
20401static char __pyx_doc_7xmmsapi_8XmmsCore_8get_source_preference[] = "XmmsCore.get_source_preference(self)";
20402static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_9get_source_preference(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
20403 PyObject *__pyx_r = 0;
20404 __Pyx_RefNannyDeclarations
20405 __Pyx_RefNannySetupContext("get_source_preference (wrapper)", 0);
20406 __pyx_r = __pyx_pf_7xmmsapi_8XmmsCore_8get_source_preference(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self));
20407
20408 /* function exit code */
20409 __Pyx_RefNannyFinishContext();
20410 return __pyx_r;
20411}
20412
20413static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_8get_source_preference(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self) {
20414 PyObject *__pyx_r = NULL((void*)0);
20415 __Pyx_RefNannyDeclarations
20416 PyObject *__pyx_t_1 = NULL((void*)0);
20417 int __pyx_lineno = 0;
20418 const char *__pyx_filename = NULL((void*)0);
20419 int __pyx_clineno = 0;
20420 __Pyx_RefNannySetupContext("get_source_preference", 0);
20421 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
20422 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsCore *)__pyx_v_self->__pyx_vtab)->get_source_preference(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__20422; goto __pyx_L1_error;}
20423 __Pyx_GOTREF(__pyx_t_1);
20424 __pyx_r = __pyx_t_1;
20425 __pyx_t_1 = 0;
20426 goto __pyx_L0;
20427
20428 /* function exit code */
20429 __pyx_L1_error:;
20430 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
20431 __Pyx_AddTraceback("xmmsapi.XmmsCore.get_source_preference", __pyx_clineno, __pyx_lineno, __pyx_filename);
20432 __pyx_r = NULL((void*)0);
20433 __pyx_L0:;
20434 __Pyx_XGIVEREF(__pyx_r);
20435 __Pyx_RefNannyFinishContext();
20436 return __pyx_r;
20437}
20438
20439/* "xmmsapi.pyx":952
20440 * cpdef get_source_preference(self):
20441 * return self.source_preference.get()
20442 * cpdef set_source_preference(self, sources): # <<<<<<<<<<<<<<
20443 * self.source_preference.set(sources)
20444 *
20445 */
20446
20447static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_11set_source_preference(PyObject *__pyx_v_self, PyObject *__pyx_v_sources); /*proto*/
20448static PyObject *__pyx_f_7xmmsapi_8XmmsCore_set_source_preference(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self, PyObject *__pyx_v_sources, int __pyx_skip_dispatch) {
20449 PyObject *__pyx_r = NULL((void*)0);
20450 __Pyx_RefNannyDeclarations
20451 PyObject *__pyx_t_1 = NULL((void*)0);
20452 PyObject *__pyx_t_2 = NULL((void*)0);
20453 PyObject *__pyx_t_3 = NULL((void*)0);
20454 int __pyx_lineno = 0;
20455 const char *__pyx_filename = NULL((void*)0);
20456 int __pyx_clineno = 0;
20457 __Pyx_RefNannySetupContext("set_source_preference", 0);
20458 /* Check if called by wrapper */
20459 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
20460 /* Check if overridden in Python */
20461 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
20462 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_source_preference); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__20462; goto __pyx_L1_error;}
20463 __Pyx_GOTREF(__pyx_t_1);
20464 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_8XmmsCore_11set_source_preference)) {
20465 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
20466 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__20466; goto __pyx_L1_error;}
20467 __Pyx_GOTREF(__pyx_t_2);
20468 __Pyx_INCREF(__pyx_v_sources)( ((PyObject*)(__pyx_v_sources))->ob_refcnt++);
20469 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_sources)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_sources
)
;
20470 __Pyx_GIVEREF(__pyx_v_sources);
20471 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__20471; goto __pyx_L1_error;}
20472 __Pyx_GOTREF(__pyx_t_3);
20473 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
20474 __pyx_r = __pyx_t_3;
20475 __pyx_t_3 = 0;
20476 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
20477 goto __pyx_L0;
20478 }
20479 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
20480 }
20481
20482 /* "xmmsapi.pyx":953
20483 * return self.source_preference.get()
20484 * cpdef set_source_preference(self, sources):
20485 * self.source_preference.set(sources) # <<<<<<<<<<<<<<
20486 *
20487 * cpdef _needout_cb(self, int i):
20488 */
20489 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->source_preference), __pyx_n_s_set); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 953; __pyx_clineno = __LINE__20489; goto __pyx_L1_error;}
20490 __Pyx_GOTREF(__pyx_t_1);
20491 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 953; __pyx_clineno = __LINE__20491; goto __pyx_L1_error;}
20492 __Pyx_GOTREF(__pyx_t_3);
20493 __Pyx_INCREF(__pyx_v_sources)( ((PyObject*)(__pyx_v_sources))->ob_refcnt++);
20494 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_sources)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_v_sources
)
;
20495 __Pyx_GIVEREF(__pyx_v_sources);
20496 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 953; __pyx_clineno = __LINE__20496; goto __pyx_L1_error;}
20497 __Pyx_GOTREF(__pyx_t_2);
20498 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
20499 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
20500 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
20501
20502 /* "xmmsapi.pyx":952
20503 * cpdef get_source_preference(self):
20504 * return self.source_preference.get()
20505 * cpdef set_source_preference(self, sources): # <<<<<<<<<<<<<<
20506 * self.source_preference.set(sources)
20507 *
20508 */
20509
20510 /* function exit code */
20511 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
20512 goto __pyx_L0;
20513 __pyx_L1_error:;
20514 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
20515 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
20516 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
20517 __Pyx_AddTraceback("xmmsapi.XmmsCore.set_source_preference", __pyx_clineno, __pyx_lineno, __pyx_filename);
20518 __pyx_r = 0;
20519 __pyx_L0:;
20520 __Pyx_XGIVEREF(__pyx_r);
20521 __Pyx_RefNannyFinishContext();
20522 return __pyx_r;
20523}
20524
20525/* Python wrapper */
20526static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_11set_source_preference(PyObject *__pyx_v_self, PyObject *__pyx_v_sources); /*proto*/
20527static char __pyx_doc_7xmmsapi_8XmmsCore_10set_source_preference[] = "XmmsCore.set_source_preference(self, sources)";
20528static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_11set_source_preference(PyObject *__pyx_v_self, PyObject *__pyx_v_sources) {
20529 PyObject *__pyx_r = 0;
20530 __Pyx_RefNannyDeclarations
20531 __Pyx_RefNannySetupContext("set_source_preference (wrapper)", 0);
20532 __pyx_r = __pyx_pf_7xmmsapi_8XmmsCore_10set_source_preference(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), ((PyObject *)__pyx_v_sources));
20533
20534 /* function exit code */
20535 __Pyx_RefNannyFinishContext();
20536 return __pyx_r;
20537}
20538
20539static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_10set_source_preference(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self, PyObject *__pyx_v_sources) {
20540 PyObject *__pyx_r = NULL((void*)0);
20541 __Pyx_RefNannyDeclarations
20542 PyObject *__pyx_t_1 = NULL((void*)0);
20543 int __pyx_lineno = 0;
20544 const char *__pyx_filename = NULL((void*)0);
20545 int __pyx_clineno = 0;
20546 __Pyx_RefNannySetupContext("set_source_preference", 0);
20547 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
20548 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsCore *)__pyx_v_self->__pyx_vtab)->set_source_preference(__pyx_v_self, __pyx_v_sources, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__20548; goto __pyx_L1_error;}
20549 __Pyx_GOTREF(__pyx_t_1);
20550 __pyx_r = __pyx_t_1;
20551 __pyx_t_1 = 0;
20552 goto __pyx_L0;
20553
20554 /* function exit code */
20555 __pyx_L1_error:;
20556 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
20557 __Pyx_AddTraceback("xmmsapi.XmmsCore.set_source_preference", __pyx_clineno, __pyx_lineno, __pyx_filename);
20558 __pyx_r = NULL((void*)0);
20559 __pyx_L0:;
20560 __Pyx_XGIVEREF(__pyx_r);
20561 __Pyx_RefNannyFinishContext();
20562 return __pyx_r;
20563}
20564
20565/* "xmmsapi.pyx":955
20566 * self.source_preference.set(sources)
20567 *
20568 * cpdef _needout_cb(self, int i): # <<<<<<<<<<<<<<
20569 * if self.needout_fun:
20570 * self.needout_fun(i)
20571 */
20572
20573static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_13_needout_cb(PyObject *__pyx_v_self, PyObject *__pyx_arg_i); /*proto*/
20574static PyObject *__pyx_f_7xmmsapi_8XmmsCore__needout_cb(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self, int __pyx_v_i, int __pyx_skip_dispatch) {
20575 PyObject *__pyx_r = NULL((void*)0);
20576 __Pyx_RefNannyDeclarations
20577 PyObject *__pyx_t_1 = NULL((void*)0);
20578 PyObject *__pyx_t_2 = NULL((void*)0);
20579 PyObject *__pyx_t_3 = NULL((void*)0);
20580 int __pyx_t_4;
20581 int __pyx_lineno = 0;
20582 const char *__pyx_filename = NULL((void*)0);
20583 int __pyx_clineno = 0;
20584 __Pyx_RefNannySetupContext("_needout_cb", 0);
20585 /* Check if called by wrapper */
20586 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
20587 /* Check if overridden in Python */
20588 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
20589 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_needout_cb); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 955; __pyx_clineno = __LINE__20589; goto __pyx_L1_error;}
20590 __Pyx_GOTREF(__pyx_t_1);
20591 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_8XmmsCore_13_needout_cb)) {
20592 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
20593 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 955; __pyx_clineno = __LINE__20593; goto __pyx_L1_error;}
20594 __Pyx_GOTREF(__pyx_t_2);
20595 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 955; __pyx_clineno = __LINE__20595; goto __pyx_L1_error;}
20596 __Pyx_GOTREF(__pyx_t_3);
20597 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
20598 __Pyx_GIVEREF(__pyx_t_2);
20599 __pyx_t_2 = 0;
20600 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 955; __pyx_clineno = __LINE__20600; goto __pyx_L1_error;}
20601 __Pyx_GOTREF(__pyx_t_2);
20602 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
20603 __pyx_r = __pyx_t_2;
20604 __pyx_t_2 = 0;
20605 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
20606 goto __pyx_L0;
20607 }
20608 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
20609 }
20610
20611 /* "xmmsapi.pyx":956
20612 *
20613 * cpdef _needout_cb(self, int i):
20614 * if self.needout_fun: # <<<<<<<<<<<<<<
20615 * self.needout_fun(i)
20616 * cpdef _disconnect_cb(self):
20617 */
20618 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_self->needout_fun); if (unlikely(__pyx_t_4 < 0)__builtin_expect(!!(__pyx_t_4 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 956; __pyx_clineno = __LINE__20618; goto __pyx_L1_error;}
20619 if (__pyx_t_4) {
20620
20621 /* "xmmsapi.pyx":957
20622 * cpdef _needout_cb(self, int i):
20623 * if self.needout_fun:
20624 * self.needout_fun(i) # <<<<<<<<<<<<<<
20625 * cpdef _disconnect_cb(self):
20626 * if self.disconnect_fun:
20627 */
20628 __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 957; __pyx_clineno = __LINE__20628; goto __pyx_L1_error;}
20629 __Pyx_GOTREF(__pyx_t_1);
20630 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 957; __pyx_clineno = __LINE__20630; goto __pyx_L1_error;}
20631 __Pyx_GOTREF(__pyx_t_2);
20632 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_t_1);
20633 __Pyx_GIVEREF(__pyx_t_1);
20634 __pyx_t_1 = 0;
20635 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_v_self->needout_fun, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 957; __pyx_clineno = __LINE__20635; goto __pyx_L1_error;}
20636 __Pyx_GOTREF(__pyx_t_1);
20637 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
20638 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
20639 goto __pyx_L3;
20640 }
20641 __pyx_L3:;
20642
20643 /* "xmmsapi.pyx":955
20644 * self.source_preference.set(sources)
20645 *
20646 * cpdef _needout_cb(self, int i): # <<<<<<<<<<<<<<
20647 * if self.needout_fun:
20648 * self.needout_fun(i)
20649 */
20650
20651 /* function exit code */
20652 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
20653 goto __pyx_L0;
20654 __pyx_L1_error:;
20655 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
20656 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
20657 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
20658 __Pyx_AddTraceback("xmmsapi.XmmsCore._needout_cb", __pyx_clineno, __pyx_lineno, __pyx_filename);
20659 __pyx_r = 0;
20660 __pyx_L0:;
20661 __Pyx_XGIVEREF(__pyx_r);
20662 __Pyx_RefNannyFinishContext();
20663 return __pyx_r;
20664}
20665
20666/* Python wrapper */
20667static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_13_needout_cb(PyObject *__pyx_v_self, PyObject *__pyx_arg_i); /*proto*/
20668static char __pyx_doc_7xmmsapi_8XmmsCore_12_needout_cb[] = "XmmsCore._needout_cb(self, int i)";
20669static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_13_needout_cb(PyObject *__pyx_v_self, PyObject *__pyx_arg_i) {
20670 int __pyx_v_i;
20671 int __pyx_lineno = 0;
20672 const char *__pyx_filename = NULL((void*)0);
20673 int __pyx_clineno = 0;
20674 PyObject *__pyx_r = 0;
20675 __Pyx_RefNannyDeclarations
20676 __Pyx_RefNannySetupContext("_needout_cb (wrapper)", 0);
20677 assert(__pyx_arg_i)((void) (0)); {
20678 __pyx_v_i = __Pyx_PyInt_As_int(__pyx_arg_i); if (unlikely((__pyx_v_i == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_i == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 955; __pyx_clineno = __LINE__20678; goto __pyx_L3_error;}
20679 }
20680 goto __pyx_L4_argument_unpacking_done;
20681 __pyx_L3_error:;
20682 __Pyx_AddTraceback("xmmsapi.XmmsCore._needout_cb", __pyx_clineno, __pyx_lineno, __pyx_filename);
20683 __Pyx_RefNannyFinishContext();
20684 return NULL((void*)0);
20685 __pyx_L4_argument_unpacking_done:;
20686 __pyx_r = __pyx_pf_7xmmsapi_8XmmsCore_12_needout_cb(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), ((int)__pyx_v_i));
20687
20688 /* function exit code */
20689 __Pyx_RefNannyFinishContext();
20690 return __pyx_r;
20691}
20692
20693static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_12_needout_cb(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self, int __pyx_v_i) {
20694 PyObject *__pyx_r = NULL((void*)0);
20695 __Pyx_RefNannyDeclarations
20696 PyObject *__pyx_t_1 = NULL((void*)0);
20697 int __pyx_lineno = 0;
20698 const char *__pyx_filename = NULL((void*)0);
20699 int __pyx_clineno = 0;
20700 __Pyx_RefNannySetupContext("_needout_cb", 0);
20701 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
20702 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsCore *)__pyx_v_self->__pyx_vtab)->_needout_cb(__pyx_v_self, __pyx_v_i, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 955; __pyx_clineno = __LINE__20702; goto __pyx_L1_error;}
20703 __Pyx_GOTREF(__pyx_t_1);
20704 __pyx_r = __pyx_t_1;
20705 __pyx_t_1 = 0;
20706 goto __pyx_L0;
20707
20708 /* function exit code */
20709 __pyx_L1_error:;
20710 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
20711 __Pyx_AddTraceback("xmmsapi.XmmsCore._needout_cb", __pyx_clineno, __pyx_lineno, __pyx_filename);
20712 __pyx_r = NULL((void*)0);
20713 __pyx_L0:;
20714 __Pyx_XGIVEREF(__pyx_r);
20715 __Pyx_RefNannyFinishContext();
20716 return __pyx_r;
20717}
20718
20719/* "xmmsapi.pyx":958
20720 * if self.needout_fun:
20721 * self.needout_fun(i)
20722 * cpdef _disconnect_cb(self): # <<<<<<<<<<<<<<
20723 * if self.disconnect_fun:
20724 * self.disconnect_fun(self)
20725 */
20726
20727static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_15_disconnect_cb(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
20728static PyObject *__pyx_f_7xmmsapi_8XmmsCore__disconnect_cb(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self, int __pyx_skip_dispatch) {
20729 PyObject *__pyx_r = NULL((void*)0);
20730 __Pyx_RefNannyDeclarations
20731 PyObject *__pyx_t_1 = NULL((void*)0);
20732 PyObject *__pyx_t_2 = NULL((void*)0);
20733 int __pyx_t_3;
20734 int __pyx_lineno = 0;
20735 const char *__pyx_filename = NULL((void*)0);
20736 int __pyx_clineno = 0;
20737 __Pyx_RefNannySetupContext("_disconnect_cb", 0);
20738 /* Check if called by wrapper */
20739 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
20740 /* Check if overridden in Python */
20741 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
20742 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_disconnect_cb); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__20742; goto __pyx_L1_error;}
20743 __Pyx_GOTREF(__pyx_t_1);
20744 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_8XmmsCore_15_disconnect_cb)) {
20745 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
20746 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__20746; goto __pyx_L1_error;}
20747 __Pyx_GOTREF(__pyx_t_2);
20748 __pyx_r = __pyx_t_2;
20749 __pyx_t_2 = 0;
20750 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
20751 goto __pyx_L0;
20752 }
20753 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
20754 }
20755
20756 /* "xmmsapi.pyx":959
20757 * self.needout_fun(i)
20758 * cpdef _disconnect_cb(self):
20759 * if self.disconnect_fun: # <<<<<<<<<<<<<<
20760 * self.disconnect_fun(self)
20761 *
20762 */
20763 __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_self->disconnect_fun); if (unlikely(__pyx_t_3 < 0)__builtin_expect(!!(__pyx_t_3 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__20763; goto __pyx_L1_error;}
20764 if (__pyx_t_3) {
20765
20766 /* "xmmsapi.pyx":960
20767 * cpdef _disconnect_cb(self):
20768 * if self.disconnect_fun:
20769 * self.disconnect_fun(self) # <<<<<<<<<<<<<<
20770 *
20771 * cpdef disconnect(self):
20772 */
20773 __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 960; __pyx_clineno = __LINE__20773; goto __pyx_L1_error;}
20774 __Pyx_GOTREF(__pyx_t_1);
20775 __Pyx_INCREF(((PyObject *)__pyx_v_self))( ((PyObject*)(((PyObject *)__pyx_v_self)))->ob_refcnt++);
20776 PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self))(((PyTupleObject *)(__pyx_t_1))->ob_item[0] = ((PyObject *
)__pyx_v_self))
;
20777 __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
20778 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_v_self->disconnect_fun, __pyx_t_1, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 960; __pyx_clineno = __LINE__20778; goto __pyx_L1_error;}
20779 __Pyx_GOTREF(__pyx_t_2);
20780 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
20781 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
20782 goto __pyx_L3;
20783 }
20784 __pyx_L3:;
20785
20786 /* "xmmsapi.pyx":958
20787 * if self.needout_fun:
20788 * self.needout_fun(i)
20789 * cpdef _disconnect_cb(self): # <<<<<<<<<<<<<<
20790 * if self.disconnect_fun:
20791 * self.disconnect_fun(self)
20792 */
20793
20794 /* function exit code */
20795 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
20796 goto __pyx_L0;
20797 __pyx_L1_error:;
20798 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
20799 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
20800 __Pyx_AddTraceback("xmmsapi.XmmsCore._disconnect_cb", __pyx_clineno, __pyx_lineno, __pyx_filename);
20801 __pyx_r = 0;
20802 __pyx_L0:;
20803 __Pyx_XGIVEREF(__pyx_r);
20804 __Pyx_RefNannyFinishContext();
20805 return __pyx_r;
20806}
20807
20808/* Python wrapper */
20809static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_15_disconnect_cb(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
20810static char __pyx_doc_7xmmsapi_8XmmsCore_14_disconnect_cb[] = "XmmsCore._disconnect_cb(self)";
20811static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_15_disconnect_cb(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
20812 PyObject *__pyx_r = 0;
20813 __Pyx_RefNannyDeclarations
20814 __Pyx_RefNannySetupContext("_disconnect_cb (wrapper)", 0);
20815 __pyx_r = __pyx_pf_7xmmsapi_8XmmsCore_14_disconnect_cb(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self));
20816
20817 /* function exit code */
20818 __Pyx_RefNannyFinishContext();
20819 return __pyx_r;
20820}
20821
20822static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_14_disconnect_cb(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self) {
20823 PyObject *__pyx_r = NULL((void*)0);
20824 __Pyx_RefNannyDeclarations
20825 PyObject *__pyx_t_1 = NULL((void*)0);
20826 int __pyx_lineno = 0;
20827 const char *__pyx_filename = NULL((void*)0);
20828 int __pyx_clineno = 0;
20829 __Pyx_RefNannySetupContext("_disconnect_cb", 0);
20830 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
20831 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsCore *)__pyx_v_self->__pyx_vtab)->_disconnect_cb(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__20831; goto __pyx_L1_error;}
20832 __Pyx_GOTREF(__pyx_t_1);
20833 __pyx_r = __pyx_t_1;
20834 __pyx_t_1 = 0;
20835 goto __pyx_L0;
20836
20837 /* function exit code */
20838 __pyx_L1_error:;
20839 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
20840 __Pyx_AddTraceback("xmmsapi.XmmsCore._disconnect_cb", __pyx_clineno, __pyx_lineno, __pyx_filename);
20841 __pyx_r = NULL((void*)0);
20842 __pyx_L0:;
20843 __Pyx_XGIVEREF(__pyx_r);
20844 __Pyx_RefNannyFinishContext();
20845 return __pyx_r;
20846}
20847
20848/* "xmmsapi.pyx":962
20849 * self.disconnect_fun(self)
20850 *
20851 * cpdef disconnect(self): # <<<<<<<<<<<<<<
20852 * # Disconnect all results.
20853 * self.result_tracker.disconnect_all(True)
20854 */
20855
20856static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_17disconnect(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
20857static PyObject *__pyx_f_7xmmsapi_8XmmsCore_disconnect(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self, int __pyx_skip_dispatch) {
20858 PyObject *__pyx_r = NULL((void*)0);
20859 __Pyx_RefNannyDeclarations
20860 PyObject *__pyx_t_1 = NULL((void*)0);
20861 PyObject *__pyx_t_2 = NULL((void*)0);
20862 int __pyx_t_3;
20863 int __pyx_lineno = 0;
20864 const char *__pyx_filename = NULL((void*)0);
20865 int __pyx_clineno = 0;
20866 __Pyx_RefNannySetupContext("disconnect", 0);
20867 /* Check if called by wrapper */
20868 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
20869 /* Check if overridden in Python */
20870 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
20871 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_disconnect); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 962; __pyx_clineno = __LINE__20871; goto __pyx_L1_error;}
20872 __Pyx_GOTREF(__pyx_t_1);
20873 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_8XmmsCore_17disconnect)) {
20874 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
20875 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 962; __pyx_clineno = __LINE__20875; goto __pyx_L1_error;}
20876 __Pyx_GOTREF(__pyx_t_2);
20877 __pyx_r = __pyx_t_2;
20878 __pyx_t_2 = 0;
20879 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
20880 goto __pyx_L0;
20881 }
20882 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
20883 }
20884
20885 /* "xmmsapi.pyx":964
20886 * cpdef disconnect(self):
20887 * # Disconnect all results.
20888 * self.result_tracker.disconnect_all(True) # <<<<<<<<<<<<<<
20889 * if self.conn:
20890 * xmmsc_unref(self.conn)
20891 */
20892 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsResultTracker *)__pyx_v_self->result_tracker->__pyx_vtab)->disconnect_all(__pyx_v_self->result_tracker, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 964; __pyx_clineno = __LINE__20892; goto __pyx_L1_error;}
20893 __Pyx_GOTREF(__pyx_t_1);
20894 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
20895
20896 /* "xmmsapi.pyx":965
20897 * # Disconnect all results.
20898 * self.result_tracker.disconnect_all(True)
20899 * if self.conn: # <<<<<<<<<<<<<<
20900 * xmmsc_unref(self.conn)
20901 * self.conn = NULL
20902 */
20903 __pyx_t_3 = (__pyx_v_self->conn != 0);
20904 if (__pyx_t_3) {
20905
20906 /* "xmmsapi.pyx":966
20907 * self.result_tracker.disconnect_all(True)
20908 * if self.conn:
20909 * xmmsc_unref(self.conn) # <<<<<<<<<<<<<<
20910 * self.conn = NULL
20911 * self.new_connection()
20912 */
20913 xmmsc_unref(__pyx_v_self->conn);
20914
20915 /* "xmmsapi.pyx":967
20916 * if self.conn:
20917 * xmmsc_unref(self.conn)
20918 * self.conn = NULL # <<<<<<<<<<<<<<
20919 * self.new_connection()
20920 *
20921 */
20922 __pyx_v_self->conn = NULL((void*)0);
20923 goto __pyx_L3;
20924 }
20925 __pyx_L3:;
20926
20927 /* "xmmsapi.pyx":968
20928 * xmmsc_unref(self.conn)
20929 * self.conn = NULL
20930 * self.new_connection() # <<<<<<<<<<<<<<
20931 *
20932 * cpdef ioin(self):
20933 */
20934 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsCore *)__pyx_v_self->__pyx_vtab)->new_connection(__pyx_v_self); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__20934; goto __pyx_L1_error;}
20935 __Pyx_GOTREF(__pyx_t_1);
20936 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
20937
20938 /* "xmmsapi.pyx":962
20939 * self.disconnect_fun(self)
20940 *
20941 * cpdef disconnect(self): # <<<<<<<<<<<<<<
20942 * # Disconnect all results.
20943 * self.result_tracker.disconnect_all(True)
20944 */
20945
20946 /* function exit code */
20947 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
20948 goto __pyx_L0;
20949 __pyx_L1_error:;
20950 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
20951 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
20952 __Pyx_AddTraceback("xmmsapi.XmmsCore.disconnect", __pyx_clineno, __pyx_lineno, __pyx_filename);
20953 __pyx_r = 0;
20954 __pyx_L0:;
20955 __Pyx_XGIVEREF(__pyx_r);
20956 __Pyx_RefNannyFinishContext();
20957 return __pyx_r;
20958}
20959
20960/* Python wrapper */
20961static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_17disconnect(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
20962static char __pyx_doc_7xmmsapi_8XmmsCore_16disconnect[] = "XmmsCore.disconnect(self)";
20963static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_17disconnect(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
20964 PyObject *__pyx_r = 0;
20965 __Pyx_RefNannyDeclarations
20966 __Pyx_RefNannySetupContext("disconnect (wrapper)", 0);
20967 __pyx_r = __pyx_pf_7xmmsapi_8XmmsCore_16disconnect(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self));
20968
20969 /* function exit code */
20970 __Pyx_RefNannyFinishContext();
20971 return __pyx_r;
20972}
20973
20974static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_16disconnect(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self) {
20975 PyObject *__pyx_r = NULL((void*)0);
20976 __Pyx_RefNannyDeclarations
20977 PyObject *__pyx_t_1 = NULL((void*)0);
20978 int __pyx_lineno = 0;
20979 const char *__pyx_filename = NULL((void*)0);
20980 int __pyx_clineno = 0;
20981 __Pyx_RefNannySetupContext("disconnect", 0);
20982 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
20983 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsCore *)__pyx_v_self->__pyx_vtab)->disconnect(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 962; __pyx_clineno = __LINE__20983; goto __pyx_L1_error;}
20984 __Pyx_GOTREF(__pyx_t_1);
20985 __pyx_r = __pyx_t_1;
20986 __pyx_t_1 = 0;
20987 goto __pyx_L0;
20988
20989 /* function exit code */
20990 __pyx_L1_error:;
20991 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
20992 __Pyx_AddTraceback("xmmsapi.XmmsCore.disconnect", __pyx_clineno, __pyx_lineno, __pyx_filename);
20993 __pyx_r = NULL((void*)0);
20994 __pyx_L0:;
20995 __Pyx_XGIVEREF(__pyx_r);
20996 __Pyx_RefNannyFinishContext();
20997 return __pyx_r;
20998}
20999
21000/* "xmmsapi.pyx":970
21001 * self.new_connection()
21002 *
21003 * cpdef ioin(self): # <<<<<<<<<<<<<<
21004 * """
21005 * Read data from the daemon, when available.
21006 */
21007
21008static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_19ioin(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
21009static PyObject *__pyx_f_7xmmsapi_8XmmsCore_ioin(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self, int __pyx_skip_dispatch) {
21010 PyObject *__pyx_r = NULL((void*)0);
21011 __Pyx_RefNannyDeclarations
21012 PyObject *__pyx_t_1 = NULL((void*)0);
21013 PyObject *__pyx_t_2 = NULL((void*)0);
21014 int __pyx_lineno = 0;
21015 const char *__pyx_filename = NULL((void*)0);
21016 int __pyx_clineno = 0;
21017 __Pyx_RefNannySetupContext("ioin", 0);
21018 /* Check if called by wrapper */
21019 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
21020 /* Check if overridden in Python */
21021 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
21022 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_ioin); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__21022; goto __pyx_L1_error;}
21023 __Pyx_GOTREF(__pyx_t_1);
21024 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_8XmmsCore_19ioin)) {
21025 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
21026 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__21026; goto __pyx_L1_error;}
21027 __Pyx_GOTREF(__pyx_t_2);
21028 __pyx_r = __pyx_t_2;
21029 __pyx_t_2 = 0;
21030 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
21031 goto __pyx_L0;
21032 }
21033 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
21034 }
21035
21036 /* "xmmsapi.pyx":976
21037 * certain circumstances. e.g. a custom event loop
21038 * """
21039 * return xmmsc_io_in_handle(self.conn) # <<<<<<<<<<<<<<
21040 *
21041 * cpdef ioout(self):
21042 */
21043 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
21044 __pyx_t_1 = __Pyx_PyBool_FromLong(xmmsc_io_in_handle(__pyx_v_self->conn))((xmmsc_io_in_handle(__pyx_v_self->conn)) ? (( ((PyObject*
)(((PyObject *) &_Py_TrueStruct)))->ob_refcnt++), ((PyObject
*) &_Py_TrueStruct)) : (( ((PyObject*)(((PyObject *) &
_Py_ZeroStruct)))->ob_refcnt++), ((PyObject *) &_Py_ZeroStruct
)))
; if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 976; __pyx_clineno = __LINE__21044; goto __pyx_L1_error;}
21045 __Pyx_GOTREF(__pyx_t_1);
21046 __pyx_r = __pyx_t_1;
21047 __pyx_t_1 = 0;
21048 goto __pyx_L0;
21049
21050 /* "xmmsapi.pyx":970
21051 * self.new_connection()
21052 *
21053 * cpdef ioin(self): # <<<<<<<<<<<<<<
21054 * """
21055 * Read data from the daemon, when available.
21056 */
21057
21058 /* function exit code */
21059 __pyx_L1_error:;
21060 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
21061 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
21062 __Pyx_AddTraceback("xmmsapi.XmmsCore.ioin", __pyx_clineno, __pyx_lineno, __pyx_filename);
21063 __pyx_r = 0;
21064 __pyx_L0:;
21065 __Pyx_XGIVEREF(__pyx_r);
21066 __Pyx_RefNannyFinishContext();
21067 return __pyx_r;
21068}
21069
21070/* Python wrapper */
21071static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_19ioin(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
21072static char __pyx_doc_7xmmsapi_8XmmsCore_18ioin[] = "XmmsCore.ioin(self)\n\n\t\tRead data from the daemon, when available.\n\t\tNote: This is a low level function that should only be used in\n\t\tcertain circumstances. e.g. a custom event loop\n\t\t";
21073static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_19ioin(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
21074 PyObject *__pyx_r = 0;
21075 __Pyx_RefNannyDeclarations
21076 __Pyx_RefNannySetupContext("ioin (wrapper)", 0);
21077 __pyx_r = __pyx_pf_7xmmsapi_8XmmsCore_18ioin(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self));
21078
21079 /* function exit code */
21080 __Pyx_RefNannyFinishContext();
21081 return __pyx_r;
21082}
21083
21084static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_18ioin(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self) {
21085 PyObject *__pyx_r = NULL((void*)0);
21086 __Pyx_RefNannyDeclarations
21087 PyObject *__pyx_t_1 = NULL((void*)0);
21088 int __pyx_lineno = 0;
21089 const char *__pyx_filename = NULL((void*)0);
21090 int __pyx_clineno = 0;
21091 __Pyx_RefNannySetupContext("ioin", 0);
21092 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
21093 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsCore *)__pyx_v_self->__pyx_vtab)->ioin(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__21093; goto __pyx_L1_error;}
21094 __Pyx_GOTREF(__pyx_t_1);
21095 __pyx_r = __pyx_t_1;
21096 __pyx_t_1 = 0;
21097 goto __pyx_L0;
21098
21099 /* function exit code */
21100 __pyx_L1_error:;
21101 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
21102 __Pyx_AddTraceback("xmmsapi.XmmsCore.ioin", __pyx_clineno, __pyx_lineno, __pyx_filename);
21103 __pyx_r = NULL((void*)0);
21104 __pyx_L0:;
21105 __Pyx_XGIVEREF(__pyx_r);
21106 __Pyx_RefNannyFinishContext();
21107 return __pyx_r;
21108}
21109
21110/* "xmmsapi.pyx":978
21111 * return xmmsc_io_in_handle(self.conn)
21112 *
21113 * cpdef ioout(self): # <<<<<<<<<<<<<<
21114 * """
21115 * Write data out to the daemon, when available. Note: This is a
21116 */
21117
21118static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_21ioout(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
21119static PyObject *__pyx_f_7xmmsapi_8XmmsCore_ioout(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self, int __pyx_skip_dispatch) {
21120 PyObject *__pyx_r = NULL((void*)0);
21121 __Pyx_RefNannyDeclarations
21122 PyObject *__pyx_t_1 = NULL((void*)0);
21123 PyObject *__pyx_t_2 = NULL((void*)0);
21124 int __pyx_lineno = 0;
21125 const char *__pyx_filename = NULL((void*)0);
21126 int __pyx_clineno = 0;
21127 __Pyx_RefNannySetupContext("ioout", 0);
21128 /* Check if called by wrapper */
21129 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
21130 /* Check if overridden in Python */
21131 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
21132 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_ioout); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; __pyx_clineno = __LINE__21132; goto __pyx_L1_error;}
21133 __Pyx_GOTREF(__pyx_t_1);
21134 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_8XmmsCore_21ioout)) {
21135 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
21136 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; __pyx_clineno = __LINE__21136; goto __pyx_L1_error;}
21137 __Pyx_GOTREF(__pyx_t_2);
21138 __pyx_r = __pyx_t_2;
21139 __pyx_t_2 = 0;
21140 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
21141 goto __pyx_L0;
21142 }
21143 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
21144 }
21145
21146 /* "xmmsapi.pyx":984
21147 * circumstances. e.g. a custom event loop
21148 * """
21149 * return xmmsc_io_out_handle(self.conn) # <<<<<<<<<<<<<<
21150 *
21151 * cpdef want_ioout(self):
21152 */
21153 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
21154 __pyx_t_1 = __Pyx_PyBool_FromLong(xmmsc_io_out_handle(__pyx_v_self->conn))((xmmsc_io_out_handle(__pyx_v_self->conn)) ? (( ((PyObject
*)(((PyObject *) &_Py_TrueStruct)))->ob_refcnt++), ((PyObject
*) &_Py_TrueStruct)) : (( ((PyObject*)(((PyObject *) &
_Py_ZeroStruct)))->ob_refcnt++), ((PyObject *) &_Py_ZeroStruct
)))
; if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__21154; goto __pyx_L1_error;}
21155 __Pyx_GOTREF(__pyx_t_1);
21156 __pyx_r = __pyx_t_1;
21157 __pyx_t_1 = 0;
21158 goto __pyx_L0;
21159
21160 /* "xmmsapi.pyx":978
21161 * return xmmsc_io_in_handle(self.conn)
21162 *
21163 * cpdef ioout(self): # <<<<<<<<<<<<<<
21164 * """
21165 * Write data out to the daemon, when available. Note: This is a
21166 */
21167
21168 /* function exit code */
21169 __pyx_L1_error:;
21170 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
21171 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
21172 __Pyx_AddTraceback("xmmsapi.XmmsCore.ioout", __pyx_clineno, __pyx_lineno, __pyx_filename);
21173 __pyx_r = 0;
21174 __pyx_L0:;
21175 __Pyx_XGIVEREF(__pyx_r);
21176 __Pyx_RefNannyFinishContext();
21177 return __pyx_r;
21178}
21179
21180/* Python wrapper */
21181static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_21ioout(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
21182static char __pyx_doc_7xmmsapi_8XmmsCore_20ioout[] = "XmmsCore.ioout(self)\n\n\t\tWrite data out to the daemon, when available. Note: This is a\n\t\tlow level function that should only be used in certain\n\t\tcircumstances. e.g. a custom event loop\n\t\t";
21183static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_21ioout(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
21184 PyObject *__pyx_r = 0;
21185 __Pyx_RefNannyDeclarations
21186 __Pyx_RefNannySetupContext("ioout (wrapper)", 0);
21187 __pyx_r = __pyx_pf_7xmmsapi_8XmmsCore_20ioout(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self));
21188
21189 /* function exit code */
21190 __Pyx_RefNannyFinishContext();
21191 return __pyx_r;
21192}
21193
21194static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_20ioout(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self) {
21195 PyObject *__pyx_r = NULL((void*)0);
21196 __Pyx_RefNannyDeclarations
21197 PyObject *__pyx_t_1 = NULL((void*)0);
21198 int __pyx_lineno = 0;
21199 const char *__pyx_filename = NULL((void*)0);
21200 int __pyx_clineno = 0;
21201 __Pyx_RefNannySetupContext("ioout", 0);
21202 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
21203 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsCore *)__pyx_v_self->__pyx_vtab)->ioout(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; __pyx_clineno = __LINE__21203; goto __pyx_L1_error;}
21204 __Pyx_GOTREF(__pyx_t_1);
21205 __pyx_r = __pyx_t_1;
21206 __pyx_t_1 = 0;
21207 goto __pyx_L0;
21208
21209 /* function exit code */
21210 __pyx_L1_error:;
21211 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
21212 __Pyx_AddTraceback("xmmsapi.XmmsCore.ioout", __pyx_clineno, __pyx_lineno, __pyx_filename);
21213 __pyx_r = NULL((void*)0);
21214 __pyx_L0:;
21215 __Pyx_XGIVEREF(__pyx_r);
21216 __Pyx_RefNannyFinishContext();
21217 return __pyx_r;
21218}
21219
21220/* "xmmsapi.pyx":986
21221 * return xmmsc_io_out_handle(self.conn)
21222 *
21223 * cpdef want_ioout(self): # <<<<<<<<<<<<<<
21224 * """
21225 * Check if there's data to send to the server.
21226 */
21227
21228static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_23want_ioout(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
21229static PyObject *__pyx_f_7xmmsapi_8XmmsCore_want_ioout(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self, int __pyx_skip_dispatch) {
21230 PyObject *__pyx_r = NULL((void*)0);
21231 __Pyx_RefNannyDeclarations
21232 PyObject *__pyx_t_1 = NULL((void*)0);
21233 PyObject *__pyx_t_2 = NULL((void*)0);
21234 int __pyx_lineno = 0;
21235 const char *__pyx_filename = NULL((void*)0);
21236 int __pyx_clineno = 0;
21237 __Pyx_RefNannySetupContext("want_ioout", 0);
21238 /* Check if called by wrapper */
21239 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
21240 /* Check if overridden in Python */
21241 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
21242 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_want_ioout); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__21242; goto __pyx_L1_error;}
21243 __Pyx_GOTREF(__pyx_t_1);
21244 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_8XmmsCore_23want_ioout)) {
21245 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
21246 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__21246; goto __pyx_L1_error;}
21247 __Pyx_GOTREF(__pyx_t_2);
21248 __pyx_r = __pyx_t_2;
21249 __pyx_t_2 = 0;
21250 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
21251 goto __pyx_L0;
21252 }
21253 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
21254 }
21255
21256 /* "xmmsapi.pyx":990
21257 * Check if there's data to send to the server.
21258 * """
21259 * return xmmsc_io_want_out(self.conn) # <<<<<<<<<<<<<<
21260 *
21261 * cpdef set_need_out_fun(self, fun):
21262 */
21263 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
21264 __pyx_t_1 = __Pyx_PyBool_FromLong(xmmsc_io_want_out(__pyx_v_self->conn))((xmmsc_io_want_out(__pyx_v_self->conn)) ? (( ((PyObject*)
(((PyObject *) &_Py_TrueStruct)))->ob_refcnt++), ((PyObject
*) &_Py_TrueStruct)) : (( ((PyObject*)(((PyObject *) &
_Py_ZeroStruct)))->ob_refcnt++), ((PyObject *) &_Py_ZeroStruct
)))
; if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__21264; goto __pyx_L1_error;}
21265 __Pyx_GOTREF(__pyx_t_1);
21266 __pyx_r = __pyx_t_1;
21267 __pyx_t_1 = 0;
21268 goto __pyx_L0;
21269
21270 /* "xmmsapi.pyx":986
21271 * return xmmsc_io_out_handle(self.conn)
21272 *
21273 * cpdef want_ioout(self): # <<<<<<<<<<<<<<
21274 * """
21275 * Check if there's data to send to the server.
21276 */
21277
21278 /* function exit code */
21279 __pyx_L1_error:;
21280 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
21281 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
21282 __Pyx_AddTraceback("xmmsapi.XmmsCore.want_ioout", __pyx_clineno, __pyx_lineno, __pyx_filename);
21283 __pyx_r = 0;
21284 __pyx_L0:;
21285 __Pyx_XGIVEREF(__pyx_r);
21286 __Pyx_RefNannyFinishContext();
21287 return __pyx_r;
21288}
21289
21290/* Python wrapper */
21291static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_23want_ioout(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
21292static char __pyx_doc_7xmmsapi_8XmmsCore_22want_ioout[] = "XmmsCore.want_ioout(self)\n\n Check if there's data to send to the server.\n\t\t";
21293static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_23want_ioout(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
21294 PyObject *__pyx_r = 0;
21295 __Pyx_RefNannyDeclarations
21296 __Pyx_RefNannySetupContext("want_ioout (wrapper)", 0);
21297 __pyx_r = __pyx_pf_7xmmsapi_8XmmsCore_22want_ioout(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self));
21298
21299 /* function exit code */
21300 __Pyx_RefNannyFinishContext();
21301 return __pyx_r;
21302}
21303
21304static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_22want_ioout(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self) {
21305 PyObject *__pyx_r = NULL((void*)0);
21306 __Pyx_RefNannyDeclarations
21307 PyObject *__pyx_t_1 = NULL((void*)0);
21308 int __pyx_lineno = 0;
21309 const char *__pyx_filename = NULL((void*)0);
21310 int __pyx_clineno = 0;
21311 __Pyx_RefNannySetupContext("want_ioout", 0);
21312 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
21313 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsCore *)__pyx_v_self->__pyx_vtab)->want_ioout(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__21313; goto __pyx_L1_error;}
21314 __Pyx_GOTREF(__pyx_t_1);
21315 __pyx_r = __pyx_t_1;
21316 __pyx_t_1 = 0;
21317 goto __pyx_L0;
21318
21319 /* function exit code */
21320 __pyx_L1_error:;
21321 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
21322 __Pyx_AddTraceback("xmmsapi.XmmsCore.want_ioout", __pyx_clineno, __pyx_lineno, __pyx_filename);
21323 __pyx_r = NULL((void*)0);
21324 __pyx_L0:;
21325 __Pyx_XGIVEREF(__pyx_r);
21326 __Pyx_RefNannyFinishContext();
21327 return __pyx_r;
21328}
21329
21330/* "xmmsapi.pyx":992
21331 * return xmmsc_io_want_out(self.conn)
21332 *
21333 * cpdef set_need_out_fun(self, fun): # <<<<<<<<<<<<<<
21334 * """
21335 * Set a function to be called when there's data to be
21336 */
21337
21338static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_25set_need_out_fun(PyObject *__pyx_v_self, PyObject *__pyx_v_fun); /*proto*/
21339static PyObject *__pyx_f_7xmmsapi_8XmmsCore_set_need_out_fun(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self, PyObject *__pyx_v_fun, int __pyx_skip_dispatch) {
21340 PyObject *__pyx_r = NULL((void*)0);
21341 __Pyx_RefNannyDeclarations
21342 PyObject *__pyx_t_1 = NULL((void*)0);
21343 PyObject *__pyx_t_2 = NULL((void*)0);
21344 PyObject *__pyx_t_3 = NULL((void*)0);
21345 int __pyx_lineno = 0;
21346 const char *__pyx_filename = NULL((void*)0);
21347 int __pyx_clineno = 0;
21348 __Pyx_RefNannySetupContext("set_need_out_fun", 0);
21349 /* Check if called by wrapper */
21350 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
21351 /* Check if overridden in Python */
21352 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
21353 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_need_out_fun); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__21353; goto __pyx_L1_error;}
21354 __Pyx_GOTREF(__pyx_t_1);
21355 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_8XmmsCore_25set_need_out_fun)) {
21356 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
21357 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__21357; goto __pyx_L1_error;}
21358 __Pyx_GOTREF(__pyx_t_2);
21359 __Pyx_INCREF(__pyx_v_fun)( ((PyObject*)(__pyx_v_fun))->ob_refcnt++);
21360 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_fun)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_fun);
21361 __Pyx_GIVEREF(__pyx_v_fun);
21362 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__21362; goto __pyx_L1_error;}
21363 __Pyx_GOTREF(__pyx_t_3);
21364 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
21365 __pyx_r = __pyx_t_3;
21366 __pyx_t_3 = 0;
21367 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
21368 goto __pyx_L0;
21369 }
21370 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
21371 }
21372
21373 /* "xmmsapi.pyx":997
21374 * sent to the server.
21375 * """
21376 * self.needout_fun = fun # <<<<<<<<<<<<<<
21377 *
21378 * cpdef get_fd(self):
21379 */
21380 __Pyx_INCREF(__pyx_v_fun)( ((PyObject*)(__pyx_v_fun))->ob_refcnt++);
21381 __Pyx_GIVEREF(__pyx_v_fun);
21382 __Pyx_GOTREF(__pyx_v_self->needout_fun);
21383 __Pyx_DECREF(__pyx_v_self->needout_fun)do { if ( --((PyObject*)(__pyx_v_self->needout_fun))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)(__pyx_v_self->
needout_fun)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_v_self->needout_fun)))); } while (0)
;
21384 __pyx_v_self->needout_fun = __pyx_v_fun;
21385
21386 /* "xmmsapi.pyx":992
21387 * return xmmsc_io_want_out(self.conn)
21388 *
21389 * cpdef set_need_out_fun(self, fun): # <<<<<<<<<<<<<<
21390 * """
21391 * Set a function to be called when there's data to be
21392 */
21393
21394 /* function exit code */
21395 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
21396 goto __pyx_L0;
21397 __pyx_L1_error:;
21398 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
21399 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
21400 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
21401 __Pyx_AddTraceback("xmmsapi.XmmsCore.set_need_out_fun", __pyx_clineno, __pyx_lineno, __pyx_filename);
21402 __pyx_r = 0;
21403 __pyx_L0:;
21404 __Pyx_XGIVEREF(__pyx_r);
21405 __Pyx_RefNannyFinishContext();
21406 return __pyx_r;
21407}
21408
21409/* Python wrapper */
21410static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_25set_need_out_fun(PyObject *__pyx_v_self, PyObject *__pyx_v_fun); /*proto*/
21411static char __pyx_doc_7xmmsapi_8XmmsCore_24set_need_out_fun[] = "XmmsCore.set_need_out_fun(self, fun)\n\n Set a function to be called when there's data to be\n sent to the server.\n\t\t";
21412static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_25set_need_out_fun(PyObject *__pyx_v_self, PyObject *__pyx_v_fun) {
21413 PyObject *__pyx_r = 0;
21414 __Pyx_RefNannyDeclarations
21415 __Pyx_RefNannySetupContext("set_need_out_fun (wrapper)", 0);
21416 __pyx_r = __pyx_pf_7xmmsapi_8XmmsCore_24set_need_out_fun(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), ((PyObject *)__pyx_v_fun));
21417
21418 /* function exit code */
21419 __Pyx_RefNannyFinishContext();
21420 return __pyx_r;
21421}
21422
21423static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_24set_need_out_fun(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self, PyObject *__pyx_v_fun) {
21424 PyObject *__pyx_r = NULL((void*)0);
21425 __Pyx_RefNannyDeclarations
21426 PyObject *__pyx_t_1 = NULL((void*)0);
21427 int __pyx_lineno = 0;
21428 const char *__pyx_filename = NULL((void*)0);
21429 int __pyx_clineno = 0;
21430 __Pyx_RefNannySetupContext("set_need_out_fun", 0);
21431 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
21432 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsCore *)__pyx_v_self->__pyx_vtab)->set_need_out_fun(__pyx_v_self, __pyx_v_fun, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__21432; goto __pyx_L1_error;}
21433 __Pyx_GOTREF(__pyx_t_1);
21434 __pyx_r = __pyx_t_1;
21435 __pyx_t_1 = 0;
21436 goto __pyx_L0;
21437
21438 /* function exit code */
21439 __pyx_L1_error:;
21440 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
21441 __Pyx_AddTraceback("xmmsapi.XmmsCore.set_need_out_fun", __pyx_clineno, __pyx_lineno, __pyx_filename);
21442 __pyx_r = NULL((void*)0);
21443 __pyx_L0:;
21444 __Pyx_XGIVEREF(__pyx_r);
21445 __Pyx_RefNannyFinishContext();
21446 return __pyx_r;
21447}
21448
21449/* "xmmsapi.pyx":999
21450 * self.needout_fun = fun
21451 *
21452 * cpdef get_fd(self): # <<<<<<<<<<<<<<
21453 * """
21454 * Get the underlying file descriptor used for communication with
21455 */
21456
21457static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_27get_fd(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
21458static PyObject *__pyx_f_7xmmsapi_8XmmsCore_get_fd(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self, int __pyx_skip_dispatch) {
21459 PyObject *__pyx_r = NULL((void*)0);
21460 __Pyx_RefNannyDeclarations
21461 PyObject *__pyx_t_1 = NULL((void*)0);
21462 PyObject *__pyx_t_2 = NULL((void*)0);
21463 int __pyx_lineno = 0;
21464 const char *__pyx_filename = NULL((void*)0);
21465 int __pyx_clineno = 0;
21466 __Pyx_RefNannySetupContext("get_fd", 0);
21467 /* Check if called by wrapper */
21468 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
21469 /* Check if overridden in Python */
21470 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
21471 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_fd); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__21471; goto __pyx_L1_error;}
21472 __Pyx_GOTREF(__pyx_t_1);
21473 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_8XmmsCore_27get_fd)) {
21474 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
21475 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__21475; goto __pyx_L1_error;}
21476 __Pyx_GOTREF(__pyx_t_2);
21477 __pyx_r = __pyx_t_2;
21478 __pyx_t_2 = 0;
21479 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
21480 goto __pyx_L0;
21481 }
21482 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
21483 }
21484
21485 /* "xmmsapi.pyx":1008
21486 * @return: IPC file descriptor
21487 * """
21488 * return xmmsc_io_fd_get(self.conn) # <<<<<<<<<<<<<<
21489 *
21490 * cpdef connect(self, path = None, disconnect_func = None):
21491 */
21492 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
21493 __pyx_t_1 = __Pyx_PyInt_From_int(xmmsc_io_fd_get(__pyx_v_self->conn)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1008; __pyx_clineno = __LINE__21493; goto __pyx_L1_error;}
21494 __Pyx_GOTREF(__pyx_t_1);
21495 __pyx_r = __pyx_t_1;
21496 __pyx_t_1 = 0;
21497 goto __pyx_L0;
21498
21499 /* "xmmsapi.pyx":999
21500 * self.needout_fun = fun
21501 *
21502 * cpdef get_fd(self): # <<<<<<<<<<<<<<
21503 * """
21504 * Get the underlying file descriptor used for communication with
21505 */
21506
21507 /* function exit code */
21508 __pyx_L1_error:;
21509 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
21510 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
21511 __Pyx_AddTraceback("xmmsapi.XmmsCore.get_fd", __pyx_clineno, __pyx_lineno, __pyx_filename);
21512 __pyx_r = 0;
21513 __pyx_L0:;
21514 __Pyx_XGIVEREF(__pyx_r);
21515 __Pyx_RefNannyFinishContext();
21516 return __pyx_r;
21517}
21518
21519/* Python wrapper */
21520static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_27get_fd(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
21521static char __pyx_doc_7xmmsapi_8XmmsCore_26get_fd[] = "XmmsCore.get_fd(self)\n\n\t\tGet the underlying file descriptor used for communication with\n\t\tthe XMMS2 daemon. You can use this in a client to ensure that\n\t\tthe IPC link is still active and safe to use.(e.g by calling\n\t\tselect() or poll())\n\t\t@rtype: int\n\t\t@return: IPC file descriptor\n\t\t";
21522static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_27get_fd(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
21523 PyObject *__pyx_r = 0;
21524 __Pyx_RefNannyDeclarations
21525 __Pyx_RefNannySetupContext("get_fd (wrapper)", 0);
21526 __pyx_r = __pyx_pf_7xmmsapi_8XmmsCore_26get_fd(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self));
21527
21528 /* function exit code */
21529 __Pyx_RefNannyFinishContext();
21530 return __pyx_r;
21531}
21532
21533static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_26get_fd(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self) {
21534 PyObject *__pyx_r = NULL((void*)0);
21535 __Pyx_RefNannyDeclarations
21536 PyObject *__pyx_t_1 = NULL((void*)0);
21537 int __pyx_lineno = 0;
21538 const char *__pyx_filename = NULL((void*)0);
21539 int __pyx_clineno = 0;
21540 __Pyx_RefNannySetupContext("get_fd", 0);
21541 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
21542 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsCore *)__pyx_v_self->__pyx_vtab)->get_fd(__pyx_v_self, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__21542; goto __pyx_L1_error;}
21543 __Pyx_GOTREF(__pyx_t_1);
21544 __pyx_r = __pyx_t_1;
21545 __pyx_t_1 = 0;
21546 goto __pyx_L0;
21547
21548 /* function exit code */
21549 __pyx_L1_error:;
21550 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
21551 __Pyx_AddTraceback("xmmsapi.XmmsCore.get_fd", __pyx_clineno, __pyx_lineno, __pyx_filename);
21552 __pyx_r = NULL((void*)0);
21553 __pyx_L0:;
21554 __Pyx_XGIVEREF(__pyx_r);
21555 __Pyx_RefNannyFinishContext();
21556 return __pyx_r;
21557}
21558
21559/* "xmmsapi.pyx":1010
21560 * return xmmsc_io_fd_get(self.conn)
21561 *
21562 * cpdef connect(self, path = None, disconnect_func = None): # <<<<<<<<<<<<<<
21563 * """
21564 * Connect to the appropriate IPC path, for communication with the
21565 */
21566
21567static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_29connect(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
21568static PyObject *__pyx_f_7xmmsapi_8XmmsCore_connect(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_8XmmsCore_connect *__pyx_optional_args) {
21569 PyObject *__pyx_v_path = ((PyObject *)Py_None(&_Py_NoneStruct));
21570 PyObject *__pyx_v_disconnect_func = ((PyObject *)Py_None(&_Py_NoneStruct));
21571 PyObject *__pyx_v_p = NULL((void*)0);
21572 int __pyx_v_ret;
21573 PyObject *__pyx_r = NULL((void*)0);
21574 __Pyx_RefNannyDeclarations
21575 PyObject *__pyx_t_1 = NULL((void*)0);
21576 PyObject *__pyx_t_2 = NULL((void*)0);
21577 PyObject *__pyx_t_3 = NULL((void*)0);
21578 int __pyx_t_4;
21579 char *__pyx_t_5;
21580 int __pyx_lineno = 0;
21581 const char *__pyx_filename = NULL((void*)0);
21582 int __pyx_clineno = 0;
21583 __Pyx_RefNannySetupContext("connect", 0);
21584 if (__pyx_optional_args) {
21585 if (__pyx_optional_args->__pyx_n > 0) {
21586 __pyx_v_path = __pyx_optional_args->path;
21587 if (__pyx_optional_args->__pyx_n > 1) {
21588 __pyx_v_disconnect_func = __pyx_optional_args->disconnect_func;
21589 }
21590 }
21591 }
21592 /* Check if called by wrapper */
21593 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
21594 /* Check if overridden in Python */
21595 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
21596 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_connect); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__21596; goto __pyx_L1_error;}
21597 __Pyx_GOTREF(__pyx_t_1);
21598 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_8XmmsCore_29connect)) {
21599 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
21600 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__21600; goto __pyx_L1_error;}
21601 __Pyx_GOTREF(__pyx_t_2);
21602 __Pyx_INCREF(__pyx_v_path)( ((PyObject*)(__pyx_v_path))->ob_refcnt++);
21603 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_path)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_path
)
;
21604 __Pyx_GIVEREF(__pyx_v_path);
21605 __Pyx_INCREF(__pyx_v_disconnect_func)( ((PyObject*)(__pyx_v_disconnect_func))->ob_refcnt++);
21606 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_disconnect_func)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_disconnect_func
)
;
21607 __Pyx_GIVEREF(__pyx_v_disconnect_func);
21608 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__21608; goto __pyx_L1_error;}
21609 __Pyx_GOTREF(__pyx_t_3);
21610 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
21611 __pyx_r = __pyx_t_3;
21612 __pyx_t_3 = 0;
21613 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
21614 goto __pyx_L0;
21615 }
21616 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
21617 }
21618
21619 /* "xmmsapi.pyx":1030
21620 * L{exit_loop} at some point.
21621 * """
21622 * if path: # <<<<<<<<<<<<<<
21623 * p = from_unicode(path)
21624 * ret = xmmsc_connect(self.conn, <char *>p)
21625 */
21626 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_path); if (unlikely(__pyx_t_4 < 0)__builtin_expect(!!(__pyx_t_4 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__21626; goto __pyx_L1_error;}
21627 if (__pyx_t_4) {
21628
21629 /* "xmmsapi.pyx":1031
21630 * """
21631 * if path:
21632 * p = from_unicode(path) # <<<<<<<<<<<<<<
21633 * ret = xmmsc_connect(self.conn, <char *>p)
21634 * else:
21635 */
21636 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_path); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__21636; goto __pyx_L1_error;}
21637 __Pyx_GOTREF(__pyx_t_1);
21638 __pyx_v_p = __pyx_t_1;
21639 __pyx_t_1 = 0;
21640
21641 /* "xmmsapi.pyx":1032
21642 * if path:
21643 * p = from_unicode(path)
21644 * ret = xmmsc_connect(self.conn, <char *>p) # <<<<<<<<<<<<<<
21645 * else:
21646 * ret = xmmsc_connect(self.conn, NULL)
21647 */
21648 __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_5) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_5) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1032; __pyx_clineno = __LINE__21648; goto __pyx_L1_error;}
21649 __pyx_v_ret = xmmsc_connect(__pyx_v_self->conn, ((char *)__pyx_t_5));
21650 goto __pyx_L3;
21651 }
21652 /*else*/ {
21653
21654 /* "xmmsapi.pyx":1034
21655 * ret = xmmsc_connect(self.conn, <char *>p)
21656 * else:
21657 * ret = xmmsc_connect(self.conn, NULL) # <<<<<<<<<<<<<<
21658 *
21659 * if not ret:
21660 */
21661 __pyx_v_ret = xmmsc_connect(__pyx_v_self->conn, NULL((void*)0));
21662 }
21663 __pyx_L3:;
21664
21665 /* "xmmsapi.pyx":1036
21666 * ret = xmmsc_connect(self.conn, NULL)
21667 *
21668 * if not ret: # <<<<<<<<<<<<<<
21669 * raise IOError("Couldn't connect to the server")
21670 * self.isconnected = 1
21671 */
21672 __pyx_t_4 = ((!(__pyx_v_ret != 0)) != 0);
21673 if (__pyx_t_4) {
21674
21675 /* "xmmsapi.pyx":1037
21676 *
21677 * if not ret:
21678 * raise IOError("Couldn't connect to the server") # <<<<<<<<<<<<<<
21679 * self.isconnected = 1
21680 *
21681 */
21682 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_IOError, __pyx_tuple__39, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__21682; goto __pyx_L1_error;}
21683 __Pyx_GOTREF(__pyx_t_1);
21684 __Pyx_Raise(__pyx_t_1, 0, 0, 0);
21685 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
21686 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__21686; goto __pyx_L1_error;}
21687 }
21688
21689 /* "xmmsapi.pyx":1038
21690 * if not ret:
21691 * raise IOError("Couldn't connect to the server")
21692 * self.isconnected = 1 # <<<<<<<<<<<<<<
21693 *
21694 * self.disconnect_fun = disconnect_func
21695 */
21696 __pyx_v_self->isconnected = 1;
21697
21698 /* "xmmsapi.pyx":1040
21699 * self.isconnected = 1
21700 *
21701 * self.disconnect_fun = disconnect_func # <<<<<<<<<<<<<<
21702 * xmmsc_disconnect_callback_set_full(self.conn, python_disconnect_fun, <void *>self, NULL)
21703 * xmmsc_io_need_out_callback_set_full(self.conn, python_need_out_fun, <void *> self, NULL)
21704 */
21705 __Pyx_INCREF(__pyx_v_disconnect_func)( ((PyObject*)(__pyx_v_disconnect_func))->ob_refcnt++);
21706 __Pyx_GIVEREF(__pyx_v_disconnect_func);
21707 __Pyx_GOTREF(__pyx_v_self->disconnect_fun);
21708 __Pyx_DECREF(__pyx_v_self->disconnect_fun)do { if ( --((PyObject*)(__pyx_v_self->disconnect_fun))->
ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(__pyx_v_self
->disconnect_fun)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_self->disconnect_fun)))); } while
(0)
;
21709 __pyx_v_self->disconnect_fun = __pyx_v_disconnect_func;
21710
21711 /* "xmmsapi.pyx":1041
21712 *
21713 * self.disconnect_fun = disconnect_func
21714 * xmmsc_disconnect_callback_set_full(self.conn, python_disconnect_fun, <void *>self, NULL) # <<<<<<<<<<<<<<
21715 * xmmsc_io_need_out_callback_set_full(self.conn, python_need_out_fun, <void *> self, NULL)
21716 *
21717 */
21718 xmmsc_disconnect_callback_set_full(__pyx_v_self->conn, __pyx_f_7xmmsapi_python_disconnect_fun, ((void *)__pyx_v_self), NULL((void*)0));
21719
21720 /* "xmmsapi.pyx":1042
21721 * self.disconnect_fun = disconnect_func
21722 * xmmsc_disconnect_callback_set_full(self.conn, python_disconnect_fun, <void *>self, NULL)
21723 * xmmsc_io_need_out_callback_set_full(self.conn, python_need_out_fun, <void *> self, NULL) # <<<<<<<<<<<<<<
21724 *
21725 * def is_connected(self):
21726 */
21727 xmmsc_io_need_out_callback_set_full(__pyx_v_self->conn, __pyx_f_7xmmsapi_python_need_out_fun, ((void *)__pyx_v_self), NULL((void*)0));
21728
21729 /* "xmmsapi.pyx":1010
21730 * return xmmsc_io_fd_get(self.conn)
21731 *
21732 * cpdef connect(self, path = None, disconnect_func = None): # <<<<<<<<<<<<<<
21733 * """
21734 * Connect to the appropriate IPC path, for communication with the
21735 */
21736
21737 /* function exit code */
21738 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
21739 goto __pyx_L0;
21740 __pyx_L1_error:;
21741 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
21742 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
21743 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
21744 __Pyx_AddTraceback("xmmsapi.XmmsCore.connect", __pyx_clineno, __pyx_lineno, __pyx_filename);
21745 __pyx_r = 0;
21746 __pyx_L0:;
21747 __Pyx_XDECREF(__pyx_v_p)do { if ((__pyx_v_p) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_p))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_p)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_p)))); } while (0); } while (0)
;
21748 __Pyx_XGIVEREF(__pyx_r);
21749 __Pyx_RefNannyFinishContext();
21750 return __pyx_r;
21751}
21752
21753/* Python wrapper */
21754static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_29connect(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
21755static char __pyx_doc_7xmmsapi_8XmmsCore_28connect[] = "XmmsCore.connect(self, path=None, disconnect_func=None)\n\n\t\tConnect to the appropriate IPC path, for communication with the\n\t\tXMMS2 daemon. This path defaults to /tmp/xmms-ipc-<username> if\n\t\tnot specified. Call this once you have instantiated the object:\n\n\t\tC{import xmmsclient}\n\n\t\tC{xmms = xmmsclient.XMMS()}\n\n\t\tC{xmms.connect()}\n\n\t\t...\n\n\t\tYou can provide a disconnect callback function to be activated\n\t\twhen the daemon disconnects.(e.g. daemon quit) This function\n\t\ttypically has to exit the main loop used by your application.\n\t\tFor example, if using L{loop}, your callback should call\n\t\tL{exit_loop} at some point.\n\t\t";
21756static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_29connect(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
21757 PyObject *__pyx_v_path = 0;
21758 PyObject *__pyx_v_disconnect_func = 0;
21759 int __pyx_lineno = 0;
21760 const char *__pyx_filename = NULL((void*)0);
21761 int __pyx_clineno = 0;
21762 PyObject *__pyx_r = 0;
21763 __Pyx_RefNannyDeclarations
21764 __Pyx_RefNannySetupContext("connect (wrapper)", 0);
21765 {
21766 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_path,&__pyx_n_s_disconnect_func,0};
21767 PyObject* values[2] = {0,0};
21768 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
21769 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
21770 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
21771 Py_ssize_t kw_args;
21772 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
21773 switch (pos_args) {
21774 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
21775 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
21776 case 0: break;
21777 default: goto __pyx_L5_argtuple_error;
21778 }
21779 kw_args = PyDict_Size(__pyx_kwds);
21780 switch (pos_args) {
21781 case 0:
21782 if (kw_args > 0) {
21783 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path);
21784 if (value) { values[0] = value; kw_args--; }
21785 }
21786 case 1:
21787 if (kw_args > 0) {
21788 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_disconnect_func);
21789 if (value) { values[1] = value; kw_args--; }
21790 }
21791 }
21792 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
21793 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "connect") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "connect") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__21793; goto __pyx_L3_error;}
21794 }
21795 } else {
21796 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
21797 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
21798 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
21799 case 0: break;
21800 default: goto __pyx_L5_argtuple_error;
21801 }
21802 }
21803 __pyx_v_path = values[0];
21804 __pyx_v_disconnect_func = values[1];
21805 }
21806 goto __pyx_L4_argument_unpacking_done;
21807 __pyx_L5_argtuple_error:;
21808 __Pyx_RaiseArgtupleInvalid("connect", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__21808; goto __pyx_L3_error;}
21809 __pyx_L3_error:;
21810 __Pyx_AddTraceback("xmmsapi.XmmsCore.connect", __pyx_clineno, __pyx_lineno, __pyx_filename);
21811 __Pyx_RefNannyFinishContext();
21812 return NULL((void*)0);
21813 __pyx_L4_argument_unpacking_done:;
21814 __pyx_r = __pyx_pf_7xmmsapi_8XmmsCore_28connect(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_path, __pyx_v_disconnect_func);
21815
21816 /* function exit code */
21817 __Pyx_RefNannyFinishContext();
21818 return __pyx_r;
21819}
21820
21821static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_28connect(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self, PyObject *__pyx_v_path, PyObject *__pyx_v_disconnect_func) {
21822 PyObject *__pyx_r = NULL((void*)0);
21823 __Pyx_RefNannyDeclarations
21824 PyObject *__pyx_t_1 = NULL((void*)0);
21825 struct __pyx_opt_args_7xmmsapi_8XmmsCore_connect __pyx_t_2;
21826 int __pyx_lineno = 0;
21827 const char *__pyx_filename = NULL((void*)0);
21828 int __pyx_clineno = 0;
21829 __Pyx_RefNannySetupContext("connect", 0);
21830 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
21831 __pyx_t_2.__pyx_n = 2;
21832 __pyx_t_2.path = __pyx_v_path;
21833 __pyx_t_2.disconnect_func = __pyx_v_disconnect_func;
21834 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsCore *)__pyx_v_self->__pyx_vtab)->connect(__pyx_v_self, 1, &__pyx_t_2); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__21834; goto __pyx_L1_error;}
21835 __Pyx_GOTREF(__pyx_t_1);
21836 __pyx_r = __pyx_t_1;
21837 __pyx_t_1 = 0;
21838 goto __pyx_L0;
21839
21840 /* function exit code */
21841 __pyx_L1_error:;
21842 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
21843 __Pyx_AddTraceback("xmmsapi.XmmsCore.connect", __pyx_clineno, __pyx_lineno, __pyx_filename);
21844 __pyx_r = NULL((void*)0);
21845 __pyx_L0:;
21846 __Pyx_XGIVEREF(__pyx_r);
21847 __Pyx_RefNannyFinishContext();
21848 return __pyx_r;
21849}
21850
21851/* "xmmsapi.pyx":1044
21852 * xmmsc_io_need_out_callback_set_full(self.conn, python_need_out_fun, <void *> self, NULL)
21853 *
21854 * def is_connected(self): # <<<<<<<<<<<<<<
21855 * return self.isconnected != 0
21856 *
21857 */
21858
21859/* Python wrapper */
21860static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_31is_connected(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
21861static char __pyx_doc_7xmmsapi_8XmmsCore_30is_connected[] = "XmmsCore.is_connected(self)";
21862static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_31is_connected(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
21863 PyObject *__pyx_r = 0;
21864 __Pyx_RefNannyDeclarations
21865 __Pyx_RefNannySetupContext("is_connected (wrapper)", 0);
21866 __pyx_r = __pyx_pf_7xmmsapi_8XmmsCore_30is_connected(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self));
21867
21868 /* function exit code */
21869 __Pyx_RefNannyFinishContext();
21870 return __pyx_r;
21871}
21872
21873static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_30is_connected(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self) {
21874 PyObject *__pyx_r = NULL((void*)0);
21875 __Pyx_RefNannyDeclarations
21876 PyObject *__pyx_t_1 = NULL((void*)0);
21877 int __pyx_lineno = 0;
21878 const char *__pyx_filename = NULL((void*)0);
21879 int __pyx_clineno = 0;
21880 __Pyx_RefNannySetupContext("is_connected", 0);
21881
21882 /* "xmmsapi.pyx":1045
21883 *
21884 * def is_connected(self):
21885 * return self.isconnected != 0 # <<<<<<<<<<<<<<
21886 *
21887 * cdef XmmsResult _create_result(self, cb, xmmsc_result_t *res, Cls):
21888 */
21889 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
21890 __pyx_t_1 = __Pyx_PyBool_FromLong((__pyx_v_self->isconnected != 0))(((__pyx_v_self->isconnected != 0)) ? (( ((PyObject*)(((PyObject
*) &_Py_TrueStruct)))->ob_refcnt++), ((PyObject *) &
_Py_TrueStruct)) : (( ((PyObject*)(((PyObject *) &_Py_ZeroStruct
)))->ob_refcnt++), ((PyObject *) &_Py_ZeroStruct)))
; if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__21890; goto __pyx_L1_error;}
21891 __Pyx_GOTREF(__pyx_t_1);
21892 __pyx_r = __pyx_t_1;
21893 __pyx_t_1 = 0;
21894 goto __pyx_L0;
21895
21896 /* "xmmsapi.pyx":1044
21897 * xmmsc_io_need_out_callback_set_full(self.conn, python_need_out_fun, <void *> self, NULL)
21898 *
21899 * def is_connected(self): # <<<<<<<<<<<<<<
21900 * return self.isconnected != 0
21901 *
21902 */
21903
21904 /* function exit code */
21905 __pyx_L1_error:;
21906 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
21907 __Pyx_AddTraceback("xmmsapi.XmmsCore.is_connected", __pyx_clineno, __pyx_lineno, __pyx_filename);
21908 __pyx_r = NULL((void*)0);
21909 __pyx_L0:;
21910 __Pyx_XGIVEREF(__pyx_r);
21911 __Pyx_RefNannyFinishContext();
21912 return __pyx_r;
21913}
21914
21915/* "xmmsapi.pyx":1047
21916 * return self.isconnected != 0
21917 *
21918 * cdef XmmsResult _create_result(self, cb, xmmsc_result_t *res, Cls): # <<<<<<<<<<<<<<
21919 * cdef XmmsResult ret
21920 * if res == NULL:
21921 */
21922
21923static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_8XmmsCore__create_result(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self, PyObject *__pyx_v_cb, xmmsc_result_t *__pyx_v_res, PyObject *__pyx_v_Cls) {
21924 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_ret = 0;
21925 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
21926 __Pyx_RefNannyDeclarations
21927 int __pyx_t_1;
21928 PyObject *__pyx_t_2 = NULL((void*)0);
21929 PyObject *__pyx_t_3 = NULL((void*)0);
21930 int __pyx_t_4;
21931 int __pyx_lineno = 0;
21932 const char *__pyx_filename = NULL((void*)0);
21933 int __pyx_clineno = 0;
21934 __Pyx_RefNannySetupContext("_create_result", 0);
21935
21936 /* "xmmsapi.pyx":1049
21937 * cdef XmmsResult _create_result(self, cb, xmmsc_result_t *res, Cls):
21938 * cdef XmmsResult ret
21939 * if res == NULL: # <<<<<<<<<<<<<<
21940 * raise RuntimeError("xmmsc_result_t couldn't be allocated")
21941 * ret = Cls()
21942 */
21943 __pyx_t_1 = ((__pyx_v_res == NULL((void*)0)) != 0);
21944 if (__pyx_t_1) {
21945
21946 /* "xmmsapi.pyx":1050
21947 * cdef XmmsResult ret
21948 * if res == NULL:
21949 * raise RuntimeError("xmmsc_result_t couldn't be allocated") # <<<<<<<<<<<<<<
21950 * ret = Cls()
21951 * ret.set_sourcepref(self.source_preference)
21952 */
21953 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__40, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__21953; goto __pyx_L1_error;}
21954 __Pyx_GOTREF(__pyx_t_2);
21955 __Pyx_Raise(__pyx_t_2, 0, 0, 0);
21956 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
21957 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__21957; goto __pyx_L1_error;}
21958 }
21959
21960 /* "xmmsapi.pyx":1051
21961 * if res == NULL:
21962 * raise RuntimeError("xmmsc_result_t couldn't be allocated")
21963 * ret = Cls() # <<<<<<<<<<<<<<
21964 * ret.set_sourcepref(self.source_preference)
21965 * ret.set_result(res)
21966 */
21967 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_v_Cls, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__21967; goto __pyx_L1_error;}
21968 __Pyx_GOTREF(__pyx_t_2);
21969 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_2) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__21969; goto __pyx_L1_error;}
21970 __pyx_v_ret = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_2);
21971 __pyx_t_2 = 0;
21972
21973 /* "xmmsapi.pyx":1052
21974 * raise RuntimeError("xmmsc_result_t couldn't be allocated")
21975 * ret = Cls()
21976 * ret.set_sourcepref(self.source_preference) # <<<<<<<<<<<<<<
21977 * ret.set_result(res)
21978 * if cb is not None:
21979 */
21980 __pyx_t_2 = ((PyObject *)__pyx_v_self->source_preference);
21981 __Pyx_INCREF(__pyx_t_2)( ((PyObject*)(__pyx_t_2))->ob_refcnt++);
21982 __pyx_t_3 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsResult *)__pyx_v_ret->__pyx_vtab)->set_sourcepref(__pyx_v_ret, ((struct __pyx_obj_7xmmsapi_XmmsSourcePreference *)__pyx_t_2)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1052; __pyx_clineno = __LINE__21982; goto __pyx_L1_error;}
21983 __Pyx_GOTREF(__pyx_t_3);
21984 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
21985 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
21986
21987 /* "xmmsapi.pyx":1053
21988 * ret = Cls()
21989 * ret.set_sourcepref(self.source_preference)
21990 * ret.set_result(res) # <<<<<<<<<<<<<<
21991 * if cb is not None:
21992 * ret.set_callback(self.result_tracker, cb) # property that setup all.
21993 */
21994 __pyx_t_3 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsResult *)__pyx_v_ret->__pyx_vtab)->set_result(__pyx_v_ret, __pyx_v_res); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1053; __pyx_clineno = __LINE__21994; goto __pyx_L1_error;}
21995 __Pyx_GOTREF(__pyx_t_3);
21996 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
21997
21998 /* "xmmsapi.pyx":1054
21999 * ret.set_sourcepref(self.source_preference)
22000 * ret.set_result(res)
22001 * if cb is not None: # <<<<<<<<<<<<<<
22002 * ret.set_callback(self.result_tracker, cb) # property that setup all.
22003 * return ret
22004 */
22005 __pyx_t_1 = (__pyx_v_cb != Py_None(&_Py_NoneStruct));
22006 __pyx_t_4 = (__pyx_t_1 != 0);
22007 if (__pyx_t_4) {
22008
22009 /* "xmmsapi.pyx":1055
22010 * ret.set_result(res)
22011 * if cb is not None:
22012 * ret.set_callback(self.result_tracker, cb) # property that setup all. # <<<<<<<<<<<<<<
22013 * return ret
22014 *
22015 */
22016 __pyx_t_3 = ((PyObject *)__pyx_v_self->result_tracker);
22017 __Pyx_INCREF(__pyx_t_3)( ((PyObject*)(__pyx_t_3))->ob_refcnt++);
22018 __pyx_t_2 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsResult *)__pyx_v_ret->__pyx_vtab)->set_callback(__pyx_v_ret, ((struct __pyx_obj_7xmmsapi_XmmsResultTracker *)__pyx_t_3), __pyx_v_cb); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1055; __pyx_clineno = __LINE__22018; goto __pyx_L1_error;}
22019 __Pyx_GOTREF(__pyx_t_2);
22020 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
22021 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
22022 goto __pyx_L4;
22023 }
22024 __pyx_L4:;
22025
22026 /* "xmmsapi.pyx":1056
22027 * if cb is not None:
22028 * ret.set_callback(self.result_tracker, cb) # property that setup all.
22029 * return ret # <<<<<<<<<<<<<<
22030 *
22031 * cdef XmmsResult create_result(self, cb, xmmsc_result_t *res):
22032 */
22033 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
22034 __Pyx_INCREF(((PyObject *)__pyx_v_ret))( ((PyObject*)(((PyObject *)__pyx_v_ret)))->ob_refcnt++);
22035 __pyx_r = __pyx_v_ret;
22036 goto __pyx_L0;
22037
22038 /* "xmmsapi.pyx":1047
22039 * return self.isconnected != 0
22040 *
22041 * cdef XmmsResult _create_result(self, cb, xmmsc_result_t *res, Cls): # <<<<<<<<<<<<<<
22042 * cdef XmmsResult ret
22043 * if res == NULL:
22044 */
22045
22046 /* function exit code */
22047 __pyx_L1_error:;
22048 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
22049 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
22050 __Pyx_AddTraceback("xmmsapi.XmmsCore._create_result", __pyx_clineno, __pyx_lineno, __pyx_filename);
22051 __pyx_r = 0;
22052 __pyx_L0:;
22053 __Pyx_XDECREF((PyObject *)__pyx_v_ret)do { if (((PyObject *)__pyx_v_ret) == ((void*)0)) ; else do {
if ( --((PyObject*)((PyObject *)__pyx_v_ret))->ob_refcnt !=
0) ; else ( (*(((PyObject*)((PyObject *)((PyObject *)__pyx_v_ret
)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)((PyObject
*)__pyx_v_ret)))); } while (0); } while (0)
;
22054 __Pyx_XGIVEREF((PyObject *)__pyx_r);
22055 __Pyx_RefNannyFinishContext();
22056 return __pyx_r;
22057}
22058
22059/* "xmmsapi.pyx":1058
22060 * return ret
22061 *
22062 * cdef XmmsResult create_result(self, cb, xmmsc_result_t *res): # <<<<<<<<<<<<<<
22063 * return self._create_result(cb, res, XmmsResult)
22064 *
22065 */
22066
22067static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_8XmmsCore_create_result(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self, PyObject *__pyx_v_cb, xmmsc_result_t *__pyx_v_res) {
22068 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
22069 __Pyx_RefNannyDeclarations
22070 PyObject *__pyx_t_1 = NULL((void*)0);
22071 int __pyx_lineno = 0;
22072 const char *__pyx_filename = NULL((void*)0);
22073 int __pyx_clineno = 0;
22074 __Pyx_RefNannySetupContext("create_result", 0);
22075
22076 /* "xmmsapi.pyx":1059
22077 *
22078 * cdef XmmsResult create_result(self, cb, xmmsc_result_t *res):
22079 * return self._create_result(cb, res, XmmsResult) # <<<<<<<<<<<<<<
22080 *
22081 * cdef XmmsResult create_vis_result(self, cb, xmmsc_result_t *res, VisResultCommand cmd):
22082 */
22083 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
22084 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsCore *)__pyx_v_self->__pyx_vtab)->_create_result(__pyx_v_self, __pyx_v_cb, __pyx_v_res, ((PyObject *)((PyObject*)__pyx_ptype_7xmmsapi_XmmsResult)))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__22084; goto __pyx_L1_error;}
22085 __Pyx_GOTREF(__pyx_t_1);
22086 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
22087 __pyx_t_1 = 0;
22088 goto __pyx_L0;
22089
22090 /* "xmmsapi.pyx":1058
22091 * return ret
22092 *
22093 * cdef XmmsResult create_result(self, cb, xmmsc_result_t *res): # <<<<<<<<<<<<<<
22094 * return self._create_result(cb, res, XmmsResult)
22095 *
22096 */
22097
22098 /* function exit code */
22099 __pyx_L1_error:;
22100 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
22101 __Pyx_AddTraceback("xmmsapi.XmmsCore.create_result", __pyx_clineno, __pyx_lineno, __pyx_filename);
22102 __pyx_r = 0;
22103 __pyx_L0:;
22104 __Pyx_XGIVEREF((PyObject *)__pyx_r);
22105 __Pyx_RefNannyFinishContext();
22106 return __pyx_r;
22107}
22108
22109/* "xmmsapi.pyx":1061
22110 * return self._create_result(cb, res, XmmsResult)
22111 *
22112 * cdef XmmsResult create_vis_result(self, cb, xmmsc_result_t *res, VisResultCommand cmd): # <<<<<<<<<<<<<<
22113 * cdef XmmsVisResult vres = self._create_result(cb, res, XmmsVisResult)
22114 * vres.set_command(cmd, self.conn)
22115 */
22116
22117static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_8XmmsCore_create_vis_result(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self, PyObject *__pyx_v_cb, xmmsc_result_t *__pyx_v_res, __pyx_t_7xmmsapi_VisResultCommand __pyx_v_cmd) {
22118 struct __pyx_obj_7xmmsapi_XmmsVisResult *__pyx_v_vres = 0;
22119 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
22120 __Pyx_RefNannyDeclarations
22121 PyObject *__pyx_t_1 = NULL((void*)0);
22122 int __pyx_lineno = 0;
22123 const char *__pyx_filename = NULL((void*)0);
22124 int __pyx_clineno = 0;
22125 __Pyx_RefNannySetupContext("create_vis_result", 0);
22126
22127 /* "xmmsapi.pyx":1062
22128 *
22129 * cdef XmmsResult create_vis_result(self, cb, xmmsc_result_t *res, VisResultCommand cmd):
22130 * cdef XmmsVisResult vres = self._create_result(cb, res, XmmsVisResult) # <<<<<<<<<<<<<<
22131 * vres.set_command(cmd, self.conn)
22132 * return vres
22133 */
22134 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsCore *)__pyx_v_self->__pyx_vtab)->_create_result(__pyx_v_self, __pyx_v_cb, __pyx_v_res, ((PyObject *)((PyObject*)__pyx_ptype_7xmmsapi_XmmsVisResult)))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__22134; goto __pyx_L1_error;}
22135 __Pyx_GOTREF(__pyx_t_1);
22136 if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_7xmmsapi_XmmsVisResult)))__builtin_expect(!!(((__pyx_t_1) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_7xmmsapi_XmmsVisResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__22136; goto __pyx_L1_error;}
22137 __pyx_v_vres = ((struct __pyx_obj_7xmmsapi_XmmsVisResult *)__pyx_t_1);
22138 __pyx_t_1 = 0;
22139
22140 /* "xmmsapi.pyx":1063
22141 * cdef XmmsResult create_vis_result(self, cb, xmmsc_result_t *res, VisResultCommand cmd):
22142 * cdef XmmsVisResult vres = self._create_result(cb, res, XmmsVisResult)
22143 * vres.set_command(cmd, self.conn) # <<<<<<<<<<<<<<
22144 * return vres
22145 *
22146 */
22147 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsVisResult *)__pyx_v_vres->__pyx_base.__pyx_vtab)->set_command(__pyx_v_vres, __pyx_v_cmd, __pyx_v_self->conn); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; __pyx_clineno = __LINE__22147; goto __pyx_L1_error;}
22148 __Pyx_GOTREF(__pyx_t_1);
22149 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
22150
22151 /* "xmmsapi.pyx":1064
22152 * cdef XmmsVisResult vres = self._create_result(cb, res, XmmsVisResult)
22153 * vres.set_command(cmd, self.conn)
22154 * return vres # <<<<<<<<<<<<<<
22155 *
22156 *
22157 */
22158 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
22159 __Pyx_INCREF(((PyObject *)__pyx_v_vres))( ((PyObject*)(((PyObject *)__pyx_v_vres)))->ob_refcnt++);
22160 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_v_vres);
22161 goto __pyx_L0;
22162
22163 /* "xmmsapi.pyx":1061
22164 * return self._create_result(cb, res, XmmsResult)
22165 *
22166 * cdef XmmsResult create_vis_result(self, cb, xmmsc_result_t *res, VisResultCommand cmd): # <<<<<<<<<<<<<<
22167 * cdef XmmsVisResult vres = self._create_result(cb, res, XmmsVisResult)
22168 * vres.set_command(cmd, self.conn)
22169 */
22170
22171 /* function exit code */
22172 __pyx_L1_error:;
22173 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
22174 __Pyx_AddTraceback("xmmsapi.XmmsCore.create_vis_result", __pyx_clineno, __pyx_lineno, __pyx_filename);
22175 __pyx_r = 0;
22176 __pyx_L0:;
22177 __Pyx_XDECREF((PyObject *)__pyx_v_vres)do { if (((PyObject *)__pyx_v_vres) == ((void*)0)) ; else do {
if ( --((PyObject*)((PyObject *)__pyx_v_vres))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)((PyObject *)__pyx_v_vres
)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)((PyObject
*)__pyx_v_vres)))); } while (0); } while (0)
;
22178 __Pyx_XGIVEREF((PyObject *)__pyx_r);
22179 __Pyx_RefNannyFinishContext();
22180 return __pyx_r;
22181}
22182
22183/* "xmmsapi.pxd":118
22184 * cdef object disconnect_fun
22185 * cdef object needout_fun
22186 * cdef readonly XmmsSourcePreference source_preference # <<<<<<<<<<<<<<
22187 * cdef XmmsResultTracker result_tracker
22188 * cdef readonly object clientname
22189 */
22190
22191/* Python wrapper */
22192static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_17source_preference_1__get__(PyObject *__pyx_v_self); /*proto*/
22193static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_17source_preference_1__get__(PyObject *__pyx_v_self) {
22194 PyObject *__pyx_r = 0;
22195 __Pyx_RefNannyDeclarations
22196 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
22197 __pyx_r = __pyx_pf_7xmmsapi_8XmmsCore_17source_preference___get__(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self));
22198
22199 /* function exit code */
22200 __Pyx_RefNannyFinishContext();
22201 return __pyx_r;
22202}
22203
22204static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_17source_preference___get__(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self) {
22205 PyObject *__pyx_r = NULL((void*)0);
22206 __Pyx_RefNannyDeclarations
22207 __Pyx_RefNannySetupContext("__get__", 0);
22208 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
22209 __Pyx_INCREF(((PyObject *)__pyx_v_self->source_preference))( ((PyObject*)(((PyObject *)__pyx_v_self->source_preference
)))->ob_refcnt++)
;
22210 __pyx_r = ((PyObject *)__pyx_v_self->source_preference);
22211 goto __pyx_L0;
22212
22213 /* function exit code */
22214 __pyx_L0:;
22215 __Pyx_XGIVEREF(__pyx_r);
22216 __Pyx_RefNannyFinishContext();
22217 return __pyx_r;
22218}
22219
22220/* "xmmsapi.pxd":120
22221 * cdef readonly XmmsSourcePreference source_preference
22222 * cdef XmmsResultTracker result_tracker
22223 * cdef readonly object clientname # <<<<<<<<<<<<<<
22224 *
22225 * cdef new_connection(self)
22226 */
22227
22228/* Python wrapper */
22229static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_10clientname_1__get__(PyObject *__pyx_v_self); /*proto*/
22230static PyObject *__pyx_pw_7xmmsapi_8XmmsCore_10clientname_1__get__(PyObject *__pyx_v_self) {
22231 PyObject *__pyx_r = 0;
22232 __Pyx_RefNannyDeclarations
22233 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
22234 __pyx_r = __pyx_pf_7xmmsapi_8XmmsCore_10clientname___get__(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self));
22235
22236 /* function exit code */
22237 __Pyx_RefNannyFinishContext();
22238 return __pyx_r;
22239}
22240
22241static PyObject *__pyx_pf_7xmmsapi_8XmmsCore_10clientname___get__(struct __pyx_obj_7xmmsapi_XmmsCore *__pyx_v_self) {
22242 PyObject *__pyx_r = NULL((void*)0);
22243 __Pyx_RefNannyDeclarations
22244 __Pyx_RefNannySetupContext("__get__", 0);
22245 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
22246 __Pyx_INCREF(__pyx_v_self->clientname)( ((PyObject*)(__pyx_v_self->clientname))->ob_refcnt++);
22247 __pyx_r = __pyx_v_self->clientname;
22248 goto __pyx_L0;
22249
22250 /* function exit code */
22251 __pyx_L0:;
22252 __Pyx_XGIVEREF(__pyx_r);
22253 __Pyx_RefNannyFinishContext();
22254 return __pyx_r;
22255}
22256
22257/* "xmmsapi.pyx":1069
22258 * cdef class XmmsApi(XmmsCore):
22259 * property client_id:
22260 * def __get__(self): # <<<<<<<<<<<<<<
22261 * return self.c2c_get_own_id()
22262 *
22263 */
22264
22265/* Python wrapper */
22266static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_9client_id_1__get__(PyObject *__pyx_v_self); /*proto*/
22267static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_9client_id_1__get__(PyObject *__pyx_v_self) {
22268 PyObject *__pyx_r = 0;
22269 __Pyx_RefNannyDeclarations
22270 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
22271 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_9client_id___get__(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self));
22272
22273 /* function exit code */
22274 __Pyx_RefNannyFinishContext();
22275 return __pyx_r;
22276}
22277
22278static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_9client_id___get__(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self) {
22279 PyObject *__pyx_r = NULL((void*)0);
22280 __Pyx_RefNannyDeclarations
22281 PyObject *__pyx_t_1 = NULL((void*)0);
22282 int __pyx_lineno = 0;
22283 const char *__pyx_filename = NULL((void*)0);
22284 int __pyx_clineno = 0;
22285 __Pyx_RefNannySetupContext("__get__", 0);
22286
22287 /* "xmmsapi.pyx":1070
22288 * property client_id:
22289 * def __get__(self):
22290 * return self.c2c_get_own_id() # <<<<<<<<<<<<<<
22291 *
22292 * cpdef int c2c_get_own_id(self):
22293 */
22294 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
22295 __pyx_t_1 = __Pyx_PyInt_From_int(((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->c2c_get_own_id(__pyx_v_self, 0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1070; __pyx_clineno = __LINE__22295; goto __pyx_L1_error;}
22296 __Pyx_GOTREF(__pyx_t_1);
22297 __pyx_r = __pyx_t_1;
22298 __pyx_t_1 = 0;
22299 goto __pyx_L0;
22300
22301 /* "xmmsapi.pyx":1069
22302 * cdef class XmmsApi(XmmsCore):
22303 * property client_id:
22304 * def __get__(self): # <<<<<<<<<<<<<<
22305 * return self.c2c_get_own_id()
22306 *
22307 */
22308
22309 /* function exit code */
22310 __pyx_L1_error:;
22311 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
22312 __Pyx_AddTraceback("xmmsapi.XmmsApi.client_id.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
22313 __pyx_r = NULL((void*)0);
22314 __pyx_L0:;
22315 __Pyx_XGIVEREF(__pyx_r);
22316 __Pyx_RefNannyFinishContext();
22317 return __pyx_r;
22318}
22319
22320/* "xmmsapi.pyx":1072
22321 * return self.c2c_get_own_id()
22322 *
22323 * cpdef int c2c_get_own_id(self): # <<<<<<<<<<<<<<
22324 * return xmmsc_c2c_get_own_id(self.conn)
22325 *
22326 */
22327
22328static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_1c2c_get_own_id(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
22329static int __pyx_f_7xmmsapi_7XmmsApi_c2c_get_own_id(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch) {
22330 int __pyx_r;
22331 __Pyx_RefNannyDeclarations
22332 PyObject *__pyx_t_1 = NULL((void*)0);
22333 PyObject *__pyx_t_2 = NULL((void*)0);
22334 int __pyx_t_3;
22335 int __pyx_lineno = 0;
22336 const char *__pyx_filename = NULL((void*)0);
22337 int __pyx_clineno = 0;
22338 __Pyx_RefNannySetupContext("c2c_get_own_id", 0);
22339 /* Check if called by wrapper */
22340 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
22341 /* Check if overridden in Python */
22342 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
22343 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_c2c_get_own_id); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__22343; goto __pyx_L1_error;}
22344 __Pyx_GOTREF(__pyx_t_1);
22345 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_1c2c_get_own_id)) {
22346 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__22346; goto __pyx_L1_error;}
22347 __Pyx_GOTREF(__pyx_t_2);
22348 __pyx_t_3 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_t_3 == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__22348; goto __pyx_L1_error;}
22349 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
22350 __pyx_r = __pyx_t_3;
22351 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
22352 goto __pyx_L0;
22353 }
22354 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
22355 }
22356
22357 /* "xmmsapi.pyx":1073
22358 *
22359 * cpdef int c2c_get_own_id(self):
22360 * return xmmsc_c2c_get_own_id(self.conn) # <<<<<<<<<<<<<<
22361 *
22362 * cpdef XmmsResult quit(self, cb = None):
22363 */
22364 __pyx_r = xmmsc_c2c_get_own_id(__pyx_v_self->__pyx_base.conn);
22365 goto __pyx_L0;
22366
22367 /* "xmmsapi.pyx":1072
22368 * return self.c2c_get_own_id()
22369 *
22370 * cpdef int c2c_get_own_id(self): # <<<<<<<<<<<<<<
22371 * return xmmsc_c2c_get_own_id(self.conn)
22372 *
22373 */
22374
22375 /* function exit code */
22376 __pyx_L1_error:;
22377 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
22378 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
22379 __Pyx_WriteUnraisable("xmmsapi.XmmsApi.c2c_get_own_id", __pyx_clineno, __pyx_lineno, __pyx_filename, 0);
22380 __pyx_r = 0;
22381 __pyx_L0:;
22382 __Pyx_RefNannyFinishContext();
22383 return __pyx_r;
22384}
22385
22386/* Python wrapper */
22387static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_1c2c_get_own_id(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
22388static char __pyx_doc_7xmmsapi_7XmmsApi_c2c_get_own_id[] = "XmmsApi.c2c_get_own_id(self) -> int";
22389static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_1c2c_get_own_id(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
22390 PyObject *__pyx_r = 0;
22391 __Pyx_RefNannyDeclarations
22392 __Pyx_RefNannySetupContext("c2c_get_own_id (wrapper)", 0);
22393 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_c2c_get_own_id(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self));
22394
22395 /* function exit code */
22396 __Pyx_RefNannyFinishContext();
22397 return __pyx_r;
22398}
22399
22400static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_c2c_get_own_id(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self) {
22401 PyObject *__pyx_r = NULL((void*)0);
22402 __Pyx_RefNannyDeclarations
22403 PyObject *__pyx_t_1 = NULL((void*)0);
22404 int __pyx_lineno = 0;
22405 const char *__pyx_filename = NULL((void*)0);
22406 int __pyx_clineno = 0;
22407 __Pyx_RefNannySetupContext("c2c_get_own_id", 0);
22408 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
22409 __pyx_t_1 = __Pyx_PyInt_From_int(((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->c2c_get_own_id(__pyx_v_self, 1)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__22409; goto __pyx_L1_error;}
22410 __Pyx_GOTREF(__pyx_t_1);
22411 __pyx_r = __pyx_t_1;
22412 __pyx_t_1 = 0;
22413 goto __pyx_L0;
22414
22415 /* function exit code */
22416 __pyx_L1_error:;
22417 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
22418 __Pyx_AddTraceback("xmmsapi.XmmsApi.c2c_get_own_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
22419 __pyx_r = NULL((void*)0);
22420 __pyx_L0:;
22421 __Pyx_XGIVEREF(__pyx_r);
22422 __Pyx_RefNannyFinishContext();
22423 return __pyx_r;
22424}
22425
22426/* "xmmsapi.pyx":1075
22427 * return xmmsc_c2c_get_own_id(self.conn)
22428 *
22429 * cpdef XmmsResult quit(self, cb = None): # <<<<<<<<<<<<<<
22430 * """
22431 * Tell the XMMS2 daemon to quit.
22432 */
22433
22434static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_3quit(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
22435static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_quit(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_quit *__pyx_optional_args) {
22436 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
22437 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
22438 __Pyx_RefNannyDeclarations
22439 PyObject *__pyx_t_1 = NULL((void*)0);
22440 PyObject *__pyx_t_2 = NULL((void*)0);
22441 PyObject *__pyx_t_3 = NULL((void*)0);
22442 int __pyx_lineno = 0;
22443 const char *__pyx_filename = NULL((void*)0);
22444 int __pyx_clineno = 0;
22445 __Pyx_RefNannySetupContext("quit", 0);
22446 if (__pyx_optional_args) {
22447 if (__pyx_optional_args->__pyx_n > 0) {
22448 __pyx_v_cb = __pyx_optional_args->cb;
22449 }
22450 }
22451 /* Check if called by wrapper */
22452 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
22453 /* Check if overridden in Python */
22454 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
22455 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_quit); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__22455; goto __pyx_L1_error;}
22456 __Pyx_GOTREF(__pyx_t_1);
22457 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_3quit)) {
22458 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
22459 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__22459; goto __pyx_L1_error;}
22460 __Pyx_GOTREF(__pyx_t_2);
22461 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
22462 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
22463 __Pyx_GIVEREF(__pyx_v_cb);
22464 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__22464; goto __pyx_L1_error;}
22465 __Pyx_GOTREF(__pyx_t_3);
22466 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
22467 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__22467; goto __pyx_L1_error;}
22468 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
22469 __pyx_t_3 = 0;
22470 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
22471 goto __pyx_L0;
22472 }
22473 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
22474 }
22475
22476 /* "xmmsapi.pyx":1081
22477 * @return: The result of the operation.
22478 * """
22479 * return self.create_result(cb, xmmsc_quit(self.conn)) # <<<<<<<<<<<<<<
22480 *
22481 * cpdef XmmsResult plugin_list(self, typ, cb = None):
22482 */
22483 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
22484 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_quit(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__22484; goto __pyx_L1_error;}
22485 __Pyx_GOTREF(__pyx_t_1);
22486 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
22487 __pyx_t_1 = 0;
22488 goto __pyx_L0;
22489
22490 /* "xmmsapi.pyx":1075
22491 * return xmmsc_c2c_get_own_id(self.conn)
22492 *
22493 * cpdef XmmsResult quit(self, cb = None): # <<<<<<<<<<<<<<
22494 * """
22495 * Tell the XMMS2 daemon to quit.
22496 */
22497
22498 /* function exit code */
22499 __pyx_L1_error:;
22500 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
22501 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
22502 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
22503 __Pyx_AddTraceback("xmmsapi.XmmsApi.quit", __pyx_clineno, __pyx_lineno, __pyx_filename);
22504 __pyx_r = 0;
22505 __pyx_L0:;
22506 __Pyx_XGIVEREF((PyObject *)__pyx_r);
22507 __Pyx_RefNannyFinishContext();
22508 return __pyx_r;
22509}
22510
22511/* Python wrapper */
22512static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_3quit(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
22513static char __pyx_doc_7xmmsapi_7XmmsApi_2quit[] = "XmmsApi.quit(self, cb=None) -> XmmsResult\n\n\t\tTell the XMMS2 daemon to quit.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
22514static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_3quit(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
22515 PyObject *__pyx_v_cb = 0;
22516 int __pyx_lineno = 0;
22517 const char *__pyx_filename = NULL((void*)0);
22518 int __pyx_clineno = 0;
22519 PyObject *__pyx_r = 0;
22520 __Pyx_RefNannyDeclarations
22521 __Pyx_RefNannySetupContext("quit (wrapper)", 0);
22522 {
22523 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
22524 PyObject* values[1] = {0};
22525 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
22526 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
22527 Py_ssize_t kw_args;
22528 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
22529 switch (pos_args) {
22530 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
22531 case 0: break;
22532 default: goto __pyx_L5_argtuple_error;
22533 }
22534 kw_args = PyDict_Size(__pyx_kwds);
22535 switch (pos_args) {
22536 case 0:
22537 if (kw_args > 0) {
22538 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
22539 if (value) { values[0] = value; kw_args--; }
22540 }
22541 }
22542 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
22543 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "quit") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "quit") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__22543; goto __pyx_L3_error;}
22544 }
22545 } else {
22546 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
22547 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
22548 case 0: break;
22549 default: goto __pyx_L5_argtuple_error;
22550 }
22551 }
22552 __pyx_v_cb = values[0];
22553 }
22554 goto __pyx_L4_argument_unpacking_done;
22555 __pyx_L5_argtuple_error:;
22556 __Pyx_RaiseArgtupleInvalid("quit", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__22556; goto __pyx_L3_error;}
22557 __pyx_L3_error:;
22558 __Pyx_AddTraceback("xmmsapi.XmmsApi.quit", __pyx_clineno, __pyx_lineno, __pyx_filename);
22559 __Pyx_RefNannyFinishContext();
22560 return NULL((void*)0);
22561 __pyx_L4_argument_unpacking_done:;
22562 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_2quit(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
22563
22564 /* function exit code */
22565 __Pyx_RefNannyFinishContext();
22566 return __pyx_r;
22567}
22568
22569static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_2quit(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
22570 PyObject *__pyx_r = NULL((void*)0);
22571 __Pyx_RefNannyDeclarations
22572 PyObject *__pyx_t_1 = NULL((void*)0);
22573 struct __pyx_opt_args_7xmmsapi_7XmmsApi_quit __pyx_t_2;
22574 int __pyx_lineno = 0;
22575 const char *__pyx_filename = NULL((void*)0);
22576 int __pyx_clineno = 0;
22577 __Pyx_RefNannySetupContext("quit", 0);
22578 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
22579 __pyx_t_2.__pyx_n = 1;
22580 __pyx_t_2.cb = __pyx_v_cb;
22581 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->quit(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__22581; goto __pyx_L1_error;}
22582 __Pyx_GOTREF(__pyx_t_1);
22583 __pyx_r = __pyx_t_1;
22584 __pyx_t_1 = 0;
22585 goto __pyx_L0;
22586
22587 /* function exit code */
22588 __pyx_L1_error:;
22589 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
22590 __Pyx_AddTraceback("xmmsapi.XmmsApi.quit", __pyx_clineno, __pyx_lineno, __pyx_filename);
22591 __pyx_r = NULL((void*)0);
22592 __pyx_L0:;
22593 __Pyx_XGIVEREF(__pyx_r);
22594 __Pyx_RefNannyFinishContext();
22595 return __pyx_r;
22596}
22597
22598/* "xmmsapi.pyx":1083
22599 * return self.create_result(cb, xmmsc_quit(self.conn))
22600 *
22601 * cpdef XmmsResult plugin_list(self, typ, cb = None): # <<<<<<<<<<<<<<
22602 * """
22603 * Get a list of loaded plugins from the server
22604 */
22605
22606static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_5plugin_list(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
22607static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_plugin_list(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_typ, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_plugin_list *__pyx_optional_args) {
22608 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
22609 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
22610 __Pyx_RefNannyDeclarations
22611 PyObject *__pyx_t_1 = NULL((void*)0);
22612 PyObject *__pyx_t_2 = NULL((void*)0);
22613 PyObject *__pyx_t_3 = NULL((void*)0);
22614 xmms_plugin_type_t __pyx_t_4;
22615 int __pyx_lineno = 0;
22616 const char *__pyx_filename = NULL((void*)0);
22617 int __pyx_clineno = 0;
22618 __Pyx_RefNannySetupContext("plugin_list", 0);
22619 if (__pyx_optional_args) {
22620 if (__pyx_optional_args->__pyx_n > 0) {
22621 __pyx_v_cb = __pyx_optional_args->cb;
22622 }
22623 }
22624 /* Check if called by wrapper */
22625 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
22626 /* Check if overridden in Python */
22627 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
22628 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_plugin_list); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__22628; goto __pyx_L1_error;}
22629 __Pyx_GOTREF(__pyx_t_1);
22630 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_5plugin_list)) {
22631 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
22632 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__22632; goto __pyx_L1_error;}
22633 __Pyx_GOTREF(__pyx_t_2);
22634 __Pyx_INCREF(__pyx_v_typ)( ((PyObject*)(__pyx_v_typ))->ob_refcnt++);
22635 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_typ)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_typ);
22636 __Pyx_GIVEREF(__pyx_v_typ);
22637 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
22638 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_cb);
22639 __Pyx_GIVEREF(__pyx_v_cb);
22640 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__22640; goto __pyx_L1_error;}
22641 __Pyx_GOTREF(__pyx_t_3);
22642 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
22643 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__22643; goto __pyx_L1_error;}
22644 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
22645 __pyx_t_3 = 0;
22646 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
22647 goto __pyx_L0;
22648 }
22649 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
22650 }
22651
22652 /* "xmmsapi.pyx":1089
22653 * @return: The result of the operation.
22654 * """
22655 * return self.create_result(cb, xmmsc_main_list_plugins(self.conn, typ)) # <<<<<<<<<<<<<<
22656 *
22657 * cpdef XmmsResult playback_start(self, cb = None):
22658 */
22659 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
22660 __pyx_t_4 = ((xmms_plugin_type_t)PyInt_AsLong(__pyx_v_typ)); if (unlikely(PyErr_Occurred())__builtin_expect(!!(PyErr_Occurred()), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__22660; goto __pyx_L1_error;}
22661 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_main_list_plugins(__pyx_v_self->__pyx_base.conn, __pyx_t_4))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__22661; goto __pyx_L1_error;}
22662 __Pyx_GOTREF(__pyx_t_1);
22663 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
22664 __pyx_t_1 = 0;
22665 goto __pyx_L0;
22666
22667 /* "xmmsapi.pyx":1083
22668 * return self.create_result(cb, xmmsc_quit(self.conn))
22669 *
22670 * cpdef XmmsResult plugin_list(self, typ, cb = None): # <<<<<<<<<<<<<<
22671 * """
22672 * Get a list of loaded plugins from the server
22673 */
22674
22675 /* function exit code */
22676 __pyx_L1_error:;
22677 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
22678 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
22679 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
22680 __Pyx_AddTraceback("xmmsapi.XmmsApi.plugin_list", __pyx_clineno, __pyx_lineno, __pyx_filename);
22681 __pyx_r = 0;
22682 __pyx_L0:;
22683 __Pyx_XGIVEREF((PyObject *)__pyx_r);
22684 __Pyx_RefNannyFinishContext();
22685 return __pyx_r;
22686}
22687
22688/* Python wrapper */
22689static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_5plugin_list(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
22690static char __pyx_doc_7xmmsapi_7XmmsApi_4plugin_list[] = "XmmsApi.plugin_list(self, typ, cb=None) -> XmmsResult\n\n\t\tGet a list of loaded plugins from the server\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
22691static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_5plugin_list(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
22692 PyObject *__pyx_v_typ = 0;
22693 PyObject *__pyx_v_cb = 0;
22694 int __pyx_lineno = 0;
22695 const char *__pyx_filename = NULL((void*)0);
22696 int __pyx_clineno = 0;
22697 PyObject *__pyx_r = 0;
22698 __Pyx_RefNannyDeclarations
22699 __Pyx_RefNannySetupContext("plugin_list (wrapper)", 0);
22700 {
22701 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_typ,&__pyx_n_s_cb,0};
22702 PyObject* values[2] = {0,0};
22703 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
22704 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
22705 Py_ssize_t kw_args;
22706 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
22707 switch (pos_args) {
22708 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
22709 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
22710 case 0: break;
22711 default: goto __pyx_L5_argtuple_error;
22712 }
22713 kw_args = PyDict_Size(__pyx_kwds);
22714 switch (pos_args) {
22715 case 0:
22716 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_typ)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_typ
)) != 0), 1)
) kw_args--;
22717 else goto __pyx_L5_argtuple_error;
22718 case 1:
22719 if (kw_args > 0) {
22720 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
22721 if (value) { values[1] = value; kw_args--; }
22722 }
22723 }
22724 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
22725 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "plugin_list") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "plugin_list") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__22725; goto __pyx_L3_error;}
22726 }
22727 } else {
22728 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
22729 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
22730 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
22731 break;
22732 default: goto __pyx_L5_argtuple_error;
22733 }
22734 }
22735 __pyx_v_typ = values[0];
22736 __pyx_v_cb = values[1];
22737 }
22738 goto __pyx_L4_argument_unpacking_done;
22739 __pyx_L5_argtuple_error:;
22740 __Pyx_RaiseArgtupleInvalid("plugin_list", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__22740; goto __pyx_L3_error;}
22741 __pyx_L3_error:;
22742 __Pyx_AddTraceback("xmmsapi.XmmsApi.plugin_list", __pyx_clineno, __pyx_lineno, __pyx_filename);
22743 __Pyx_RefNannyFinishContext();
22744 return NULL((void*)0);
22745 __pyx_L4_argument_unpacking_done:;
22746 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_4plugin_list(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_typ, __pyx_v_cb);
22747
22748 /* function exit code */
22749 __Pyx_RefNannyFinishContext();
22750 return __pyx_r;
22751}
22752
22753static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_4plugin_list(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_typ, PyObject *__pyx_v_cb) {
22754 PyObject *__pyx_r = NULL((void*)0);
22755 __Pyx_RefNannyDeclarations
22756 PyObject *__pyx_t_1 = NULL((void*)0);
22757 struct __pyx_opt_args_7xmmsapi_7XmmsApi_plugin_list __pyx_t_2;
22758 int __pyx_lineno = 0;
22759 const char *__pyx_filename = NULL((void*)0);
22760 int __pyx_clineno = 0;
22761 __Pyx_RefNannySetupContext("plugin_list", 0);
22762 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
22763 __pyx_t_2.__pyx_n = 1;
22764 __pyx_t_2.cb = __pyx_v_cb;
22765 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->plugin_list(__pyx_v_self, __pyx_v_typ, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1083; __pyx_clineno = __LINE__22765; goto __pyx_L1_error;}
22766 __Pyx_GOTREF(__pyx_t_1);
22767 __pyx_r = __pyx_t_1;
22768 __pyx_t_1 = 0;
22769 goto __pyx_L0;
22770
22771 /* function exit code */
22772 __pyx_L1_error:;
22773 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
22774 __Pyx_AddTraceback("xmmsapi.XmmsApi.plugin_list", __pyx_clineno, __pyx_lineno, __pyx_filename);
22775 __pyx_r = NULL((void*)0);
22776 __pyx_L0:;
22777 __Pyx_XGIVEREF(__pyx_r);
22778 __Pyx_RefNannyFinishContext();
22779 return __pyx_r;
22780}
22781
22782/* "xmmsapi.pyx":1091
22783 * return self.create_result(cb, xmmsc_main_list_plugins(self.conn, typ))
22784 *
22785 * cpdef XmmsResult playback_start(self, cb = None): # <<<<<<<<<<<<<<
22786 * """
22787 * Instruct the XMMS2 daemon to start playing the currently
22788 */
22789
22790static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_7playback_start(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
22791static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playback_start(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_start *__pyx_optional_args) {
22792 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
22793 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
22794 __Pyx_RefNannyDeclarations
22795 PyObject *__pyx_t_1 = NULL((void*)0);
22796 PyObject *__pyx_t_2 = NULL((void*)0);
22797 PyObject *__pyx_t_3 = NULL((void*)0);
22798 int __pyx_lineno = 0;
22799 const char *__pyx_filename = NULL((void*)0);
22800 int __pyx_clineno = 0;
22801 __Pyx_RefNannySetupContext("playback_start", 0);
22802 if (__pyx_optional_args) {
22803 if (__pyx_optional_args->__pyx_n > 0) {
22804 __pyx_v_cb = __pyx_optional_args->cb;
22805 }
22806 }
22807 /* Check if called by wrapper */
22808 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
22809 /* Check if overridden in Python */
22810 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
22811 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playback_start); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__22811; goto __pyx_L1_error;}
22812 __Pyx_GOTREF(__pyx_t_1);
22813 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_7playback_start)) {
22814 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
22815 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__22815; goto __pyx_L1_error;}
22816 __Pyx_GOTREF(__pyx_t_2);
22817 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
22818 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
22819 __Pyx_GIVEREF(__pyx_v_cb);
22820 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__22820; goto __pyx_L1_error;}
22821 __Pyx_GOTREF(__pyx_t_3);
22822 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
22823 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__22823; goto __pyx_L1_error;}
22824 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
22825 __pyx_t_3 = 0;
22826 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
22827 goto __pyx_L0;
22828 }
22829 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
22830 }
22831
22832 /* "xmmsapi.pyx":1098
22833 * @return: The result of the operation.
22834 * """
22835 * return self.create_result(cb, xmmsc_playback_start(self.conn)) # <<<<<<<<<<<<<<
22836 *
22837 * cpdef XmmsResult playback_stop(self, cb = None):
22838 */
22839 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
22840 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_playback_start(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__22840; goto __pyx_L1_error;}
22841 __Pyx_GOTREF(__pyx_t_1);
22842 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
22843 __pyx_t_1 = 0;
22844 goto __pyx_L0;
22845
22846 /* "xmmsapi.pyx":1091
22847 * return self.create_result(cb, xmmsc_main_list_plugins(self.conn, typ))
22848 *
22849 * cpdef XmmsResult playback_start(self, cb = None): # <<<<<<<<<<<<<<
22850 * """
22851 * Instruct the XMMS2 daemon to start playing the currently
22852 */
22853
22854 /* function exit code */
22855 __pyx_L1_error:;
22856 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
22857 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
22858 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
22859 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_start", __pyx_clineno, __pyx_lineno, __pyx_filename);
22860 __pyx_r = 0;
22861 __pyx_L0:;
22862 __Pyx_XGIVEREF((PyObject *)__pyx_r);
22863 __Pyx_RefNannyFinishContext();
22864 return __pyx_r;
22865}
22866
22867/* Python wrapper */
22868static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_7playback_start(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
22869static char __pyx_doc_7xmmsapi_7XmmsApi_6playback_start[] = "XmmsApi.playback_start(self, cb=None) -> XmmsResult\n\n\t\tInstruct the XMMS2 daemon to start playing the currently\n\t\tselected file from the playlist.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
22870static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_7playback_start(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
22871 PyObject *__pyx_v_cb = 0;
22872 int __pyx_lineno = 0;
22873 const char *__pyx_filename = NULL((void*)0);
22874 int __pyx_clineno = 0;
22875 PyObject *__pyx_r = 0;
22876 __Pyx_RefNannyDeclarations
22877 __Pyx_RefNannySetupContext("playback_start (wrapper)", 0);
22878 {
22879 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
22880 PyObject* values[1] = {0};
22881 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
22882 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
22883 Py_ssize_t kw_args;
22884 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
22885 switch (pos_args) {
22886 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
22887 case 0: break;
22888 default: goto __pyx_L5_argtuple_error;
22889 }
22890 kw_args = PyDict_Size(__pyx_kwds);
22891 switch (pos_args) {
22892 case 0:
22893 if (kw_args > 0) {
22894 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
22895 if (value) { values[0] = value; kw_args--; }
22896 }
22897 }
22898 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
22899 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playback_start") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playback_start") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__22899; goto __pyx_L3_error;}
22900 }
22901 } else {
22902 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
22903 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
22904 case 0: break;
22905 default: goto __pyx_L5_argtuple_error;
22906 }
22907 }
22908 __pyx_v_cb = values[0];
22909 }
22910 goto __pyx_L4_argument_unpacking_done;
22911 __pyx_L5_argtuple_error:;
22912 __Pyx_RaiseArgtupleInvalid("playback_start", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__22912; goto __pyx_L3_error;}
22913 __pyx_L3_error:;
22914 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_start", __pyx_clineno, __pyx_lineno, __pyx_filename);
22915 __Pyx_RefNannyFinishContext();
22916 return NULL((void*)0);
22917 __pyx_L4_argument_unpacking_done:;
22918 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_6playback_start(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
22919
22920 /* function exit code */
22921 __Pyx_RefNannyFinishContext();
22922 return __pyx_r;
22923}
22924
22925static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_6playback_start(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
22926 PyObject *__pyx_r = NULL((void*)0);
22927 __Pyx_RefNannyDeclarations
22928 PyObject *__pyx_t_1 = NULL((void*)0);
22929 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_start __pyx_t_2;
22930 int __pyx_lineno = 0;
22931 const char *__pyx_filename = NULL((void*)0);
22932 int __pyx_clineno = 0;
22933 __Pyx_RefNannySetupContext("playback_start", 0);
22934 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
22935 __pyx_t_2.__pyx_n = 1;
22936 __pyx_t_2.cb = __pyx_v_cb;
22937 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playback_start(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__22937; goto __pyx_L1_error;}
22938 __Pyx_GOTREF(__pyx_t_1);
22939 __pyx_r = __pyx_t_1;
22940 __pyx_t_1 = 0;
22941 goto __pyx_L0;
22942
22943 /* function exit code */
22944 __pyx_L1_error:;
22945 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
22946 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_start", __pyx_clineno, __pyx_lineno, __pyx_filename);
22947 __pyx_r = NULL((void*)0);
22948 __pyx_L0:;
22949 __Pyx_XGIVEREF(__pyx_r);
22950 __Pyx_RefNannyFinishContext();
22951 return __pyx_r;
22952}
22953
22954/* "xmmsapi.pyx":1100
22955 * return self.create_result(cb, xmmsc_playback_start(self.conn))
22956 *
22957 * cpdef XmmsResult playback_stop(self, cb = None): # <<<<<<<<<<<<<<
22958 * """
22959 * Instruct the XMMS2 daemon to stop playing the file
22960 */
22961
22962static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_9playback_stop(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
22963static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playback_stop(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_stop *__pyx_optional_args) {
22964 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
22965 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
22966 __Pyx_RefNannyDeclarations
22967 PyObject *__pyx_t_1 = NULL((void*)0);
22968 PyObject *__pyx_t_2 = NULL((void*)0);
22969 PyObject *__pyx_t_3 = NULL((void*)0);
22970 int __pyx_lineno = 0;
22971 const char *__pyx_filename = NULL((void*)0);
22972 int __pyx_clineno = 0;
22973 __Pyx_RefNannySetupContext("playback_stop", 0);
22974 if (__pyx_optional_args) {
22975 if (__pyx_optional_args->__pyx_n > 0) {
22976 __pyx_v_cb = __pyx_optional_args->cb;
22977 }
22978 }
22979 /* Check if called by wrapper */
22980 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
22981 /* Check if overridden in Python */
22982 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
22983 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playback_stop); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__22983; goto __pyx_L1_error;}
22984 __Pyx_GOTREF(__pyx_t_1);
22985 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_9playback_stop)) {
22986 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
22987 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__22987; goto __pyx_L1_error;}
22988 __Pyx_GOTREF(__pyx_t_2);
22989 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
22990 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
22991 __Pyx_GIVEREF(__pyx_v_cb);
22992 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__22992; goto __pyx_L1_error;}
22993 __Pyx_GOTREF(__pyx_t_3);
22994 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
22995 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__22995; goto __pyx_L1_error;}
22996 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
22997 __pyx_t_3 = 0;
22998 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
22999 goto __pyx_L0;
23000 }
23001 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
23002 }
23003
23004 /* "xmmsapi.pyx":1107
23005 * @return: The result of the operation.
23006 * """
23007 * return self.create_result(cb, xmmsc_playback_stop(self.conn)) # <<<<<<<<<<<<<<
23008 *
23009 * cpdef XmmsResult playback_tickle(self, cb = None):
23010 */
23011 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
23012 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_playback_stop(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1107; __pyx_clineno = __LINE__23012; goto __pyx_L1_error;}
23013 __Pyx_GOTREF(__pyx_t_1);
23014 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
23015 __pyx_t_1 = 0;
23016 goto __pyx_L0;
23017
23018 /* "xmmsapi.pyx":1100
23019 * return self.create_result(cb, xmmsc_playback_start(self.conn))
23020 *
23021 * cpdef XmmsResult playback_stop(self, cb = None): # <<<<<<<<<<<<<<
23022 * """
23023 * Instruct the XMMS2 daemon to stop playing the file
23024 */
23025
23026 /* function exit code */
23027 __pyx_L1_error:;
23028 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
23029 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
23030 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
23031 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_stop", __pyx_clineno, __pyx_lineno, __pyx_filename);
23032 __pyx_r = 0;
23033 __pyx_L0:;
23034 __Pyx_XGIVEREF((PyObject *)__pyx_r);
23035 __Pyx_RefNannyFinishContext();
23036 return __pyx_r;
23037}
23038
23039/* Python wrapper */
23040static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_9playback_stop(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
23041static char __pyx_doc_7xmmsapi_7XmmsApi_8playback_stop[] = "XmmsApi.playback_stop(self, cb=None) -> XmmsResult\n\n\t\tInstruct the XMMS2 daemon to stop playing the file\n\t\tcurrently being played.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
23042static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_9playback_stop(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
23043 PyObject *__pyx_v_cb = 0;
23044 int __pyx_lineno = 0;
23045 const char *__pyx_filename = NULL((void*)0);
23046 int __pyx_clineno = 0;
23047 PyObject *__pyx_r = 0;
23048 __Pyx_RefNannyDeclarations
23049 __Pyx_RefNannySetupContext("playback_stop (wrapper)", 0);
23050 {
23051 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
23052 PyObject* values[1] = {0};
23053 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
23054 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
23055 Py_ssize_t kw_args;
23056 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
23057 switch (pos_args) {
23058 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
23059 case 0: break;
23060 default: goto __pyx_L5_argtuple_error;
23061 }
23062 kw_args = PyDict_Size(__pyx_kwds);
23063 switch (pos_args) {
23064 case 0:
23065 if (kw_args > 0) {
23066 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
23067 if (value) { values[0] = value; kw_args--; }
23068 }
23069 }
23070 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
23071 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playback_stop") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playback_stop") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__23071; goto __pyx_L3_error;}
23072 }
23073 } else {
23074 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
23075 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
23076 case 0: break;
23077 default: goto __pyx_L5_argtuple_error;
23078 }
23079 }
23080 __pyx_v_cb = values[0];
23081 }
23082 goto __pyx_L4_argument_unpacking_done;
23083 __pyx_L5_argtuple_error:;
23084 __Pyx_RaiseArgtupleInvalid("playback_stop", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__23084; goto __pyx_L3_error;}
23085 __pyx_L3_error:;
23086 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_stop", __pyx_clineno, __pyx_lineno, __pyx_filename);
23087 __Pyx_RefNannyFinishContext();
23088 return NULL((void*)0);
23089 __pyx_L4_argument_unpacking_done:;
23090 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_8playback_stop(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
23091
23092 /* function exit code */
23093 __Pyx_RefNannyFinishContext();
23094 return __pyx_r;
23095}
23096
23097static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_8playback_stop(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
23098 PyObject *__pyx_r = NULL((void*)0);
23099 __Pyx_RefNannyDeclarations
23100 PyObject *__pyx_t_1 = NULL((void*)0);
23101 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_stop __pyx_t_2;
23102 int __pyx_lineno = 0;
23103 const char *__pyx_filename = NULL((void*)0);
23104 int __pyx_clineno = 0;
23105 __Pyx_RefNannySetupContext("playback_stop", 0);
23106 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
23107 __pyx_t_2.__pyx_n = 1;
23108 __pyx_t_2.cb = __pyx_v_cb;
23109 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playback_stop(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__23109; goto __pyx_L1_error;}
23110 __Pyx_GOTREF(__pyx_t_1);
23111 __pyx_r = __pyx_t_1;
23112 __pyx_t_1 = 0;
23113 goto __pyx_L0;
23114
23115 /* function exit code */
23116 __pyx_L1_error:;
23117 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
23118 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_stop", __pyx_clineno, __pyx_lineno, __pyx_filename);
23119 __pyx_r = NULL((void*)0);
23120 __pyx_L0:;
23121 __Pyx_XGIVEREF(__pyx_r);
23122 __Pyx_RefNannyFinishContext();
23123 return __pyx_r;
23124}
23125
23126/* "xmmsapi.pyx":1109
23127 * return self.create_result(cb, xmmsc_playback_stop(self.conn))
23128 *
23129 * cpdef XmmsResult playback_tickle(self, cb = None): # <<<<<<<<<<<<<<
23130 * """
23131 * Instruct the XMMS2 daemon to move on to the next playlist item.
23132 */
23133
23134static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_11playback_tickle(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
23135static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playback_tickle(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_tickle *__pyx_optional_args) {
23136 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
23137 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
23138 __Pyx_RefNannyDeclarations
23139 PyObject *__pyx_t_1 = NULL((void*)0);
23140 PyObject *__pyx_t_2 = NULL((void*)0);
23141 PyObject *__pyx_t_3 = NULL((void*)0);
23142 int __pyx_lineno = 0;
23143 const char *__pyx_filename = NULL((void*)0);
23144 int __pyx_clineno = 0;
23145 __Pyx_RefNannySetupContext("playback_tickle", 0);
23146 if (__pyx_optional_args) {
23147 if (__pyx_optional_args->__pyx_n > 0) {
23148 __pyx_v_cb = __pyx_optional_args->cb;
23149 }
23150 }
23151 /* Check if called by wrapper */
23152 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
23153 /* Check if overridden in Python */
23154 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
23155 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playback_tickle); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__23155; goto __pyx_L1_error;}
23156 __Pyx_GOTREF(__pyx_t_1);
23157 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_11playback_tickle)) {
23158 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
23159 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__23159; goto __pyx_L1_error;}
23160 __Pyx_GOTREF(__pyx_t_2);
23161 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
23162 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
23163 __Pyx_GIVEREF(__pyx_v_cb);
23164 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__23164; goto __pyx_L1_error;}
23165 __Pyx_GOTREF(__pyx_t_3);
23166 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
23167 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__23167; goto __pyx_L1_error;}
23168 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
23169 __pyx_t_3 = 0;
23170 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
23171 goto __pyx_L0;
23172 }
23173 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
23174 }
23175
23176 /* "xmmsapi.pyx":1115
23177 * @return: The result of the operation.
23178 * """
23179 * return self.create_result(cb, xmmsc_playback_tickle(self.conn)) # <<<<<<<<<<<<<<
23180 *
23181 * cpdef XmmsResult playback_pause(self, cb = None):
23182 */
23183 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
23184 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_playback_tickle(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1115; __pyx_clineno = __LINE__23184; goto __pyx_L1_error;}
23185 __Pyx_GOTREF(__pyx_t_1);
23186 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
23187 __pyx_t_1 = 0;
23188 goto __pyx_L0;
23189
23190 /* "xmmsapi.pyx":1109
23191 * return self.create_result(cb, xmmsc_playback_stop(self.conn))
23192 *
23193 * cpdef XmmsResult playback_tickle(self, cb = None): # <<<<<<<<<<<<<<
23194 * """
23195 * Instruct the XMMS2 daemon to move on to the next playlist item.
23196 */
23197
23198 /* function exit code */
23199 __pyx_L1_error:;
23200 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
23201 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
23202 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
23203 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_tickle", __pyx_clineno, __pyx_lineno, __pyx_filename);
23204 __pyx_r = 0;
23205 __pyx_L0:;
23206 __Pyx_XGIVEREF((PyObject *)__pyx_r);
23207 __Pyx_RefNannyFinishContext();
23208 return __pyx_r;
23209}
23210
23211/* Python wrapper */
23212static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_11playback_tickle(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
23213static char __pyx_doc_7xmmsapi_7XmmsApi_10playback_tickle[] = "XmmsApi.playback_tickle(self, cb=None) -> XmmsResult\n\n\t\tInstruct the XMMS2 daemon to move on to the next playlist item.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
23214static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_11playback_tickle(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
23215 PyObject *__pyx_v_cb = 0;
23216 int __pyx_lineno = 0;
23217 const char *__pyx_filename = NULL((void*)0);
23218 int __pyx_clineno = 0;
23219 PyObject *__pyx_r = 0;
23220 __Pyx_RefNannyDeclarations
23221 __Pyx_RefNannySetupContext("playback_tickle (wrapper)", 0);
23222 {
23223 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
23224 PyObject* values[1] = {0};
23225 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
23226 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
23227 Py_ssize_t kw_args;
23228 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
23229 switch (pos_args) {
23230 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
23231 case 0: break;
23232 default: goto __pyx_L5_argtuple_error;
23233 }
23234 kw_args = PyDict_Size(__pyx_kwds);
23235 switch (pos_args) {
23236 case 0:
23237 if (kw_args > 0) {
23238 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
23239 if (value) { values[0] = value; kw_args--; }
23240 }
23241 }
23242 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
23243 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playback_tickle") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playback_tickle") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__23243; goto __pyx_L3_error;}
23244 }
23245 } else {
23246 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
23247 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
23248 case 0: break;
23249 default: goto __pyx_L5_argtuple_error;
23250 }
23251 }
23252 __pyx_v_cb = values[0];
23253 }
23254 goto __pyx_L4_argument_unpacking_done;
23255 __pyx_L5_argtuple_error:;
23256 __Pyx_RaiseArgtupleInvalid("playback_tickle", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__23256; goto __pyx_L3_error;}
23257 __pyx_L3_error:;
23258 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_tickle", __pyx_clineno, __pyx_lineno, __pyx_filename);
23259 __Pyx_RefNannyFinishContext();
23260 return NULL((void*)0);
23261 __pyx_L4_argument_unpacking_done:;
23262 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_10playback_tickle(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
23263
23264 /* function exit code */
23265 __Pyx_RefNannyFinishContext();
23266 return __pyx_r;
23267}
23268
23269static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_10playback_tickle(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
23270 PyObject *__pyx_r = NULL((void*)0);
23271 __Pyx_RefNannyDeclarations
23272 PyObject *__pyx_t_1 = NULL((void*)0);
23273 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_tickle __pyx_t_2;
23274 int __pyx_lineno = 0;
23275 const char *__pyx_filename = NULL((void*)0);
23276 int __pyx_clineno = 0;
23277 __Pyx_RefNannySetupContext("playback_tickle", 0);
23278 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
23279 __pyx_t_2.__pyx_n = 1;
23280 __pyx_t_2.cb = __pyx_v_cb;
23281 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playback_tickle(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__23281; goto __pyx_L1_error;}
23282 __Pyx_GOTREF(__pyx_t_1);
23283 __pyx_r = __pyx_t_1;
23284 __pyx_t_1 = 0;
23285 goto __pyx_L0;
23286
23287 /* function exit code */
23288 __pyx_L1_error:;
23289 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
23290 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_tickle", __pyx_clineno, __pyx_lineno, __pyx_filename);
23291 __pyx_r = NULL((void*)0);
23292 __pyx_L0:;
23293 __Pyx_XGIVEREF(__pyx_r);
23294 __Pyx_RefNannyFinishContext();
23295 return __pyx_r;
23296}
23297
23298/* "xmmsapi.pyx":1117
23299 * return self.create_result(cb, xmmsc_playback_tickle(self.conn))
23300 *
23301 * cpdef XmmsResult playback_pause(self, cb = None): # <<<<<<<<<<<<<<
23302 * """
23303 * Instruct the XMMS2 daemon to pause playback.
23304 */
23305
23306static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_13playback_pause(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
23307static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playback_pause(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_pause *__pyx_optional_args) {
23308 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
23309 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
23310 __Pyx_RefNannyDeclarations
23311 PyObject *__pyx_t_1 = NULL((void*)0);
23312 PyObject *__pyx_t_2 = NULL((void*)0);
23313 PyObject *__pyx_t_3 = NULL((void*)0);
23314 int __pyx_lineno = 0;
23315 const char *__pyx_filename = NULL((void*)0);
23316 int __pyx_clineno = 0;
23317 __Pyx_RefNannySetupContext("playback_pause", 0);
23318 if (__pyx_optional_args) {
23319 if (__pyx_optional_args->__pyx_n > 0) {
23320 __pyx_v_cb = __pyx_optional_args->cb;
23321 }
23322 }
23323 /* Check if called by wrapper */
23324 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
23325 /* Check if overridden in Python */
23326 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
23327 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playback_pause); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1117; __pyx_clineno = __LINE__23327; goto __pyx_L1_error;}
23328 __Pyx_GOTREF(__pyx_t_1);
23329 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_13playback_pause)) {
23330 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
23331 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1117; __pyx_clineno = __LINE__23331; goto __pyx_L1_error;}
23332 __Pyx_GOTREF(__pyx_t_2);
23333 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
23334 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
23335 __Pyx_GIVEREF(__pyx_v_cb);
23336 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1117; __pyx_clineno = __LINE__23336; goto __pyx_L1_error;}
23337 __Pyx_GOTREF(__pyx_t_3);
23338 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
23339 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1117; __pyx_clineno = __LINE__23339; goto __pyx_L1_error;}
23340 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
23341 __pyx_t_3 = 0;
23342 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
23343 goto __pyx_L0;
23344 }
23345 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
23346 }
23347
23348 /* "xmmsapi.pyx":1123
23349 * @return: The result of the operation.
23350 * """
23351 * return self.create_result(cb, xmmsc_playback_pause(self.conn)) # <<<<<<<<<<<<<<
23352 *
23353 * cpdef XmmsResult playback_current_id(self, cb = None):
23354 */
23355 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
23356 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_playback_pause(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__23356; goto __pyx_L1_error;}
23357 __Pyx_GOTREF(__pyx_t_1);
23358 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
23359 __pyx_t_1 = 0;
23360 goto __pyx_L0;
23361
23362 /* "xmmsapi.pyx":1117
23363 * return self.create_result(cb, xmmsc_playback_tickle(self.conn))
23364 *
23365 * cpdef XmmsResult playback_pause(self, cb = None): # <<<<<<<<<<<<<<
23366 * """
23367 * Instruct the XMMS2 daemon to pause playback.
23368 */
23369
23370 /* function exit code */
23371 __pyx_L1_error:;
23372 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
23373 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
23374 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
23375 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_pause", __pyx_clineno, __pyx_lineno, __pyx_filename);
23376 __pyx_r = 0;
23377 __pyx_L0:;
23378 __Pyx_XGIVEREF((PyObject *)__pyx_r);
23379 __Pyx_RefNannyFinishContext();
23380 return __pyx_r;
23381}
23382
23383/* Python wrapper */
23384static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_13playback_pause(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
23385static char __pyx_doc_7xmmsapi_7XmmsApi_12playback_pause[] = "XmmsApi.playback_pause(self, cb=None) -> XmmsResult\n\n\t\tInstruct the XMMS2 daemon to pause playback.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
23386static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_13playback_pause(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
23387 PyObject *__pyx_v_cb = 0;
23388 int __pyx_lineno = 0;
23389 const char *__pyx_filename = NULL((void*)0);
23390 int __pyx_clineno = 0;
23391 PyObject *__pyx_r = 0;
23392 __Pyx_RefNannyDeclarations
23393 __Pyx_RefNannySetupContext("playback_pause (wrapper)", 0);
23394 {
23395 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
23396 PyObject* values[1] = {0};
23397 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
23398 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
23399 Py_ssize_t kw_args;
23400 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
23401 switch (pos_args) {
23402 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
23403 case 0: break;
23404 default: goto __pyx_L5_argtuple_error;
23405 }
23406 kw_args = PyDict_Size(__pyx_kwds);
23407 switch (pos_args) {
23408 case 0:
23409 if (kw_args > 0) {
23410 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
23411 if (value) { values[0] = value; kw_args--; }
23412 }
23413 }
23414 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
23415 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playback_pause") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playback_pause") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1117; __pyx_clineno = __LINE__23415; goto __pyx_L3_error;}
23416 }
23417 } else {
23418 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
23419 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
23420 case 0: break;
23421 default: goto __pyx_L5_argtuple_error;
23422 }
23423 }
23424 __pyx_v_cb = values[0];
23425 }
23426 goto __pyx_L4_argument_unpacking_done;
23427 __pyx_L5_argtuple_error:;
23428 __Pyx_RaiseArgtupleInvalid("playback_pause", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1117; __pyx_clineno = __LINE__23428; goto __pyx_L3_error;}
23429 __pyx_L3_error:;
23430 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_pause", __pyx_clineno, __pyx_lineno, __pyx_filename);
23431 __Pyx_RefNannyFinishContext();
23432 return NULL((void*)0);
23433 __pyx_L4_argument_unpacking_done:;
23434 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_12playback_pause(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
23435
23436 /* function exit code */
23437 __Pyx_RefNannyFinishContext();
23438 return __pyx_r;
23439}
23440
23441static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_12playback_pause(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
23442 PyObject *__pyx_r = NULL((void*)0);
23443 __Pyx_RefNannyDeclarations
23444 PyObject *__pyx_t_1 = NULL((void*)0);
23445 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_pause __pyx_t_2;
23446 int __pyx_lineno = 0;
23447 const char *__pyx_filename = NULL((void*)0);
23448 int __pyx_clineno = 0;
23449 __Pyx_RefNannySetupContext("playback_pause", 0);
23450 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
23451 __pyx_t_2.__pyx_n = 1;
23452 __pyx_t_2.cb = __pyx_v_cb;
23453 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playback_pause(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1117; __pyx_clineno = __LINE__23453; goto __pyx_L1_error;}
23454 __Pyx_GOTREF(__pyx_t_1);
23455 __pyx_r = __pyx_t_1;
23456 __pyx_t_1 = 0;
23457 goto __pyx_L0;
23458
23459 /* function exit code */
23460 __pyx_L1_error:;
23461 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
23462 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_pause", __pyx_clineno, __pyx_lineno, __pyx_filename);
23463 __pyx_r = NULL((void*)0);
23464 __pyx_L0:;
23465 __Pyx_XGIVEREF(__pyx_r);
23466 __Pyx_RefNannyFinishContext();
23467 return __pyx_r;
23468}
23469
23470/* "xmmsapi.pyx":1125
23471 * return self.create_result(cb, xmmsc_playback_pause(self.conn))
23472 *
23473 * cpdef XmmsResult playback_current_id(self, cb = None): # <<<<<<<<<<<<<<
23474 * """
23475 * @rtype: L{XmmsResult}(UInt)
23476 */
23477
23478static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_15playback_current_id(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
23479static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playback_current_id(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_current_id *__pyx_optional_args) {
23480 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
23481 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
23482 __Pyx_RefNannyDeclarations
23483 PyObject *__pyx_t_1 = NULL((void*)0);
23484 PyObject *__pyx_t_2 = NULL((void*)0);
23485 PyObject *__pyx_t_3 = NULL((void*)0);
23486 int __pyx_lineno = 0;
23487 const char *__pyx_filename = NULL((void*)0);
23488 int __pyx_clineno = 0;
23489 __Pyx_RefNannySetupContext("playback_current_id", 0);
23490 if (__pyx_optional_args) {
23491 if (__pyx_optional_args->__pyx_n > 0) {
23492 __pyx_v_cb = __pyx_optional_args->cb;
23493 }
23494 }
23495 /* Check if called by wrapper */
23496 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
23497 /* Check if overridden in Python */
23498 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
23499 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playback_current_id); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1125; __pyx_clineno = __LINE__23499; goto __pyx_L1_error;}
23500 __Pyx_GOTREF(__pyx_t_1);
23501 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_15playback_current_id)) {
23502 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
23503 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1125; __pyx_clineno = __LINE__23503; goto __pyx_L1_error;}
23504 __Pyx_GOTREF(__pyx_t_2);
23505 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
23506 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
23507 __Pyx_GIVEREF(__pyx_v_cb);
23508 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1125; __pyx_clineno = __LINE__23508; goto __pyx_L1_error;}
23509 __Pyx_GOTREF(__pyx_t_3);
23510 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
23511 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1125; __pyx_clineno = __LINE__23511; goto __pyx_L1_error;}
23512 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
23513 __pyx_t_3 = 0;
23514 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
23515 goto __pyx_L0;
23516 }
23517 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
23518 }
23519
23520 /* "xmmsapi.pyx":1130
23521 * @return: The medialib id of the item currently selected.
23522 * """
23523 * return self.create_result(cb, xmmsc_playback_current_id(self.conn)) # <<<<<<<<<<<<<<
23524 *
23525 * cpdef XmmsResult playback_seek_ms(self, int ms, xmms_playback_seek_mode_t whence = PLAYBACK_SEEK_SET, cb = None):
23526 */
23527 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
23528 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_playback_current_id(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__23528; goto __pyx_L1_error;}
23529 __Pyx_GOTREF(__pyx_t_1);
23530 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
23531 __pyx_t_1 = 0;
23532 goto __pyx_L0;
23533
23534 /* "xmmsapi.pyx":1125
23535 * return self.create_result(cb, xmmsc_playback_pause(self.conn))
23536 *
23537 * cpdef XmmsResult playback_current_id(self, cb = None): # <<<<<<<<<<<<<<
23538 * """
23539 * @rtype: L{XmmsResult}(UInt)
23540 */
23541
23542 /* function exit code */
23543 __pyx_L1_error:;
23544 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
23545 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
23546 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
23547 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_current_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
23548 __pyx_r = 0;
23549 __pyx_L0:;
23550 __Pyx_XGIVEREF((PyObject *)__pyx_r);
23551 __Pyx_RefNannyFinishContext();
23552 return __pyx_r;
23553}
23554
23555/* Python wrapper */
23556static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_15playback_current_id(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
23557static char __pyx_doc_7xmmsapi_7XmmsApi_14playback_current_id[] = "XmmsApi.playback_current_id(self, cb=None) -> XmmsResult\n\n\t\t@rtype: L{XmmsResult}(UInt)\n\t\t@return: The medialib id of the item currently selected.\n\t\t";
23558static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_15playback_current_id(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
23559 PyObject *__pyx_v_cb = 0;
23560 int __pyx_lineno = 0;
23561 const char *__pyx_filename = NULL((void*)0);
23562 int __pyx_clineno = 0;
23563 PyObject *__pyx_r = 0;
23564 __Pyx_RefNannyDeclarations
23565 __Pyx_RefNannySetupContext("playback_current_id (wrapper)", 0);
23566 {
23567 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
23568 PyObject* values[1] = {0};
23569 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
23570 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
23571 Py_ssize_t kw_args;
23572 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
23573 switch (pos_args) {
23574 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
23575 case 0: break;
23576 default: goto __pyx_L5_argtuple_error;
23577 }
23578 kw_args = PyDict_Size(__pyx_kwds);
23579 switch (pos_args) {
23580 case 0:
23581 if (kw_args > 0) {
23582 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
23583 if (value) { values[0] = value; kw_args--; }
23584 }
23585 }
23586 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
23587 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playback_current_id") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playback_current_id") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1125; __pyx_clineno = __LINE__23587; goto __pyx_L3_error;}
23588 }
23589 } else {
23590 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
23591 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
23592 case 0: break;
23593 default: goto __pyx_L5_argtuple_error;
23594 }
23595 }
23596 __pyx_v_cb = values[0];
23597 }
23598 goto __pyx_L4_argument_unpacking_done;
23599 __pyx_L5_argtuple_error:;
23600 __Pyx_RaiseArgtupleInvalid("playback_current_id", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1125; __pyx_clineno = __LINE__23600; goto __pyx_L3_error;}
23601 __pyx_L3_error:;
23602 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_current_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
23603 __Pyx_RefNannyFinishContext();
23604 return NULL((void*)0);
23605 __pyx_L4_argument_unpacking_done:;
23606 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_14playback_current_id(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
23607
23608 /* function exit code */
23609 __Pyx_RefNannyFinishContext();
23610 return __pyx_r;
23611}
23612
23613static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_14playback_current_id(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
23614 PyObject *__pyx_r = NULL((void*)0);
23615 __Pyx_RefNannyDeclarations
23616 PyObject *__pyx_t_1 = NULL((void*)0);
23617 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_current_id __pyx_t_2;
23618 int __pyx_lineno = 0;
23619 const char *__pyx_filename = NULL((void*)0);
23620 int __pyx_clineno = 0;
23621 __Pyx_RefNannySetupContext("playback_current_id", 0);
23622 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
23623 __pyx_t_2.__pyx_n = 1;
23624 __pyx_t_2.cb = __pyx_v_cb;
23625 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playback_current_id(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1125; __pyx_clineno = __LINE__23625; goto __pyx_L1_error;}
23626 __Pyx_GOTREF(__pyx_t_1);
23627 __pyx_r = __pyx_t_1;
23628 __pyx_t_1 = 0;
23629 goto __pyx_L0;
23630
23631 /* function exit code */
23632 __pyx_L1_error:;
23633 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
23634 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_current_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
23635 __pyx_r = NULL((void*)0);
23636 __pyx_L0:;
23637 __Pyx_XGIVEREF(__pyx_r);
23638 __Pyx_RefNannyFinishContext();
23639 return __pyx_r;
23640}
23641
23642/* "xmmsapi.pyx":1132
23643 * return self.create_result(cb, xmmsc_playback_current_id(self.conn))
23644 *
23645 * cpdef XmmsResult playback_seek_ms(self, int ms, xmms_playback_seek_mode_t whence = PLAYBACK_SEEK_SET, cb = None): # <<<<<<<<<<<<<<
23646 * """
23647 * Seek to a time position in the current file or stream in playback.
23648 */
23649
23650static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_17playback_seek_ms(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
23651static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playback_seek_ms(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_ms, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_seek_ms *__pyx_optional_args) {
23652 xmms_playback_seek_mode_t __pyx_v_whence = __pyx_k__41;
23653 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
23654 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
23655 __Pyx_RefNannyDeclarations
23656 PyObject *__pyx_t_1 = NULL((void*)0);
23657 PyObject *__pyx_t_2 = NULL((void*)0);
23658 PyObject *__pyx_t_3 = NULL((void*)0);
23659 PyObject *__pyx_t_4 = NULL((void*)0);
23660 int __pyx_t_5;
23661 int __pyx_t_6;
23662 int __pyx_t_7;
23663 int __pyx_lineno = 0;
23664 const char *__pyx_filename = NULL((void*)0);
23665 int __pyx_clineno = 0;
23666 __Pyx_RefNannySetupContext("playback_seek_ms", 0);
23667 if (__pyx_optional_args) {
23668 if (__pyx_optional_args->__pyx_n > 0) {
23669 __pyx_v_whence = __pyx_optional_args->whence;
23670 if (__pyx_optional_args->__pyx_n > 1) {
23671 __pyx_v_cb = __pyx_optional_args->cb;
23672 }
23673 }
23674 }
23675 /* Check if called by wrapper */
23676 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
23677 /* Check if overridden in Python */
23678 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
23679 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playback_seek_ms); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__23679; goto __pyx_L1_error;}
23680 __Pyx_GOTREF(__pyx_t_1);
23681 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_17playback_seek_ms)) {
23682 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
23683 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_ms); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__23683; goto __pyx_L1_error;}
23684 __Pyx_GOTREF(__pyx_t_2);
23685 __pyx_t_3 = PyInt_FromLong(__pyx_v_whence); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__23685; goto __pyx_L1_error;}
23686 __Pyx_GOTREF(__pyx_t_3);
23687 __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__23687; goto __pyx_L1_error;}
23688 __Pyx_GOTREF(__pyx_t_4);
23689 PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_4))->ob_item[0] = __pyx_t_2);
23690 __Pyx_GIVEREF(__pyx_t_2);
23691 PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3)(((PyTupleObject *)(__pyx_t_4))->ob_item[1] = __pyx_t_3);
23692 __Pyx_GIVEREF(__pyx_t_3);
23693 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
23694 PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_4))->ob_item[2] = __pyx_v_cb);
23695 __Pyx_GIVEREF(__pyx_v_cb);
23696 __pyx_t_2 = 0;
23697 __pyx_t_3 = 0;
23698 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__23698; goto __pyx_L1_error;}
23699 __Pyx_GOTREF(__pyx_t_3);
23700 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
23701 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__23701; goto __pyx_L1_error;}
23702 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
23703 __pyx_t_3 = 0;
23704 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
23705 goto __pyx_L0;
23706 }
23707 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
23708 }
23709
23710 /* "xmmsapi.pyx":1138
23711 * @return: The result of the operation.
23712 * """
23713 * if whence == PLAYBACK_SEEK_SET or whence == PLAYBACK_SEEK_CUR: # <<<<<<<<<<<<<<
23714 * return self.create_result(cb, xmmsc_playback_seek_ms(self.conn, ms, whence))
23715 * else:
23716 */
23717 __pyx_t_1 = PyInt_FromLong(__pyx_v_whence); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__23717; goto __pyx_L1_error;}
23718 __Pyx_GOTREF(__pyx_t_1);
23719 __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_PLAYBACK_SEEK_SET); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__23719; goto __pyx_L1_error;}
23720 __Pyx_GOTREF(__pyx_t_3);
23721 __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_3, Py_EQ2); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__23721; goto __pyx_L1_error;}
23722 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
23723 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
23724 __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_5 < 0)__builtin_expect(!!(__pyx_t_5 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__23724; goto __pyx_L1_error;}
23725 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
23726 if (!__pyx_t_5) {
23727 __pyx_t_4 = PyInt_FromLong(__pyx_v_whence); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__23727; goto __pyx_L1_error;}
23728 __Pyx_GOTREF(__pyx_t_4);
23729 __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_PLAYBACK_SEEK_CUR); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__23729; goto __pyx_L1_error;}
23730 __Pyx_GOTREF(__pyx_t_3);
23731 __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_t_3, Py_EQ2); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__23731; goto __pyx_L1_error;}
23732 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
23733 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
23734 __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)__builtin_expect(!!(__pyx_t_6 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__23734; goto __pyx_L1_error;}
23735 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
23736 __pyx_t_7 = __pyx_t_6;
23737 } else {
23738 __pyx_t_7 = __pyx_t_5;
23739 }
23740 if (__pyx_t_7) {
23741
23742 /* "xmmsapi.pyx":1139
23743 * """
23744 * if whence == PLAYBACK_SEEK_SET or whence == PLAYBACK_SEEK_CUR:
23745 * return self.create_result(cb, xmmsc_playback_seek_ms(self.conn, ms, whence)) # <<<<<<<<<<<<<<
23746 * else:
23747 * raise ValueError("Bad whence parameter")
23748 */
23749 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
23750 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_playback_seek_ms(__pyx_v_self->__pyx_base.conn, __pyx_v_ms, __pyx_v_whence))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1139; __pyx_clineno = __LINE__23750; goto __pyx_L1_error;}
23751 __Pyx_GOTREF(__pyx_t_1);
23752 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
23753 __pyx_t_1 = 0;
23754 goto __pyx_L0;
23755 }
23756 /*else*/ {
23757
23758 /* "xmmsapi.pyx":1141
23759 * return self.create_result(cb, xmmsc_playback_seek_ms(self.conn, ms, whence))
23760 * else:
23761 * raise ValueError("Bad whence parameter") # <<<<<<<<<<<<<<
23762 *
23763 * cpdef XmmsResult playback_seek_samples(self, int samples, xmms_playback_seek_mode_t whence = PLAYBACK_SEEK_SET, cb = None):
23764 */
23765 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__42, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1141; __pyx_clineno = __LINE__23765; goto __pyx_L1_error;}
23766 __Pyx_GOTREF(__pyx_t_1);
23767 __Pyx_Raise(__pyx_t_1, 0, 0, 0);
23768 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
23769 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1141; __pyx_clineno = __LINE__23769; goto __pyx_L1_error;}
23770 }
23771
23772 /* "xmmsapi.pyx":1132
23773 * return self.create_result(cb, xmmsc_playback_current_id(self.conn))
23774 *
23775 * cpdef XmmsResult playback_seek_ms(self, int ms, xmms_playback_seek_mode_t whence = PLAYBACK_SEEK_SET, cb = None): # <<<<<<<<<<<<<<
23776 * """
23777 * Seek to a time position in the current file or stream in playback.
23778 */
23779
23780 /* function exit code */
23781 __pyx_L1_error:;
23782 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
23783 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
23784 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
23785 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
;
23786 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_seek_ms", __pyx_clineno, __pyx_lineno, __pyx_filename);
23787 __pyx_r = 0;
23788 __pyx_L0:;
23789 __Pyx_XGIVEREF((PyObject *)__pyx_r);
23790 __Pyx_RefNannyFinishContext();
23791 return __pyx_r;
23792}
23793
23794/* Python wrapper */
23795static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_17playback_seek_ms(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
23796static char __pyx_doc_7xmmsapi_7XmmsApi_16playback_seek_ms[] = "XmmsApi.playback_seek_ms(self, int ms, xmms_playback_seek_mode_t whence=PLAYBACK_SEEK_SET, cb=None) -> XmmsResult\n\n\t\tSeek to a time position in the current file or stream in playback.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
23797static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_17playback_seek_ms(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
23798 int __pyx_v_ms;
23799 xmms_playback_seek_mode_t __pyx_v_whence;
23800 PyObject *__pyx_v_cb = 0;
23801 int __pyx_lineno = 0;
23802 const char *__pyx_filename = NULL((void*)0);
23803 int __pyx_clineno = 0;
23804 PyObject *__pyx_r = 0;
23805 __Pyx_RefNannyDeclarations
23806 __Pyx_RefNannySetupContext("playback_seek_ms (wrapper)", 0);
23807 {
23808 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ms,&__pyx_n_s_whence,&__pyx_n_s_cb,0};
23809 PyObject* values[3] = {0,0,0};
23810 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
23811 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
23812 Py_ssize_t kw_args;
23813 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
23814 switch (pos_args) {
23815 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
23816 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
23817 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
23818 case 0: break;
23819 default: goto __pyx_L5_argtuple_error;
23820 }
23821 kw_args = PyDict_Size(__pyx_kwds);
23822 switch (pos_args) {
23823 case 0:
23824 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ms)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ms
)) != 0), 1)
) kw_args--;
23825 else goto __pyx_L5_argtuple_error;
23826 case 1:
23827 if (kw_args > 0) {
23828 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_whence);
23829 if (value) { values[1] = value; kw_args--; }
23830 }
23831 case 2:
23832 if (kw_args > 0) {
23833 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
23834 if (value) { values[2] = value; kw_args--; }
23835 }
23836 }
23837 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
23838 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playback_seek_ms") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playback_seek_ms") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__23838; goto __pyx_L3_error;}
23839 }
23840 } else {
23841 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
23842 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
23843 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
23844 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
23845 break;
23846 default: goto __pyx_L5_argtuple_error;
23847 }
23848 }
23849 __pyx_v_ms = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_ms == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_ms == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__23849; goto __pyx_L3_error;}
23850 if (values[1]) {
23851 __pyx_v_whence = ((xmms_playback_seek_mode_t)PyInt_AsLong(values[1])); if (unlikely(PyErr_Occurred())__builtin_expect(!!(PyErr_Occurred()), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__23851; goto __pyx_L3_error;}
23852 } else {
23853 __pyx_v_whence = __pyx_k__41;
23854 }
23855 __pyx_v_cb = values[2];
23856 }
23857 goto __pyx_L4_argument_unpacking_done;
23858 __pyx_L5_argtuple_error:;
23859 __Pyx_RaiseArgtupleInvalid("playback_seek_ms", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__23859; goto __pyx_L3_error;}
23860 __pyx_L3_error:;
23861 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_seek_ms", __pyx_clineno, __pyx_lineno, __pyx_filename);
23862 __Pyx_RefNannyFinishContext();
23863 return NULL((void*)0);
23864 __pyx_L4_argument_unpacking_done:;
23865 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_16playback_seek_ms(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_ms, __pyx_v_whence, __pyx_v_cb);
23866
23867 /* function exit code */
23868 __Pyx_RefNannyFinishContext();
23869 return __pyx_r;
23870}
23871
23872static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_16playback_seek_ms(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_ms, xmms_playback_seek_mode_t __pyx_v_whence, PyObject *__pyx_v_cb) {
23873 PyObject *__pyx_r = NULL((void*)0);
23874 __Pyx_RefNannyDeclarations
23875 PyObject *__pyx_t_1 = NULL((void*)0);
23876 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_seek_ms __pyx_t_2;
23877 int __pyx_lineno = 0;
23878 const char *__pyx_filename = NULL((void*)0);
23879 int __pyx_clineno = 0;
23880 __Pyx_RefNannySetupContext("playback_seek_ms", 0);
23881 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
23882 __pyx_t_2.__pyx_n = 2;
23883 __pyx_t_2.whence = __pyx_v_whence;
23884 __pyx_t_2.cb = __pyx_v_cb;
23885 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playback_seek_ms(__pyx_v_self, __pyx_v_ms, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__23885; goto __pyx_L1_error;}
23886 __Pyx_GOTREF(__pyx_t_1);
23887 __pyx_r = __pyx_t_1;
23888 __pyx_t_1 = 0;
23889 goto __pyx_L0;
23890
23891 /* function exit code */
23892 __pyx_L1_error:;
23893 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
23894 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_seek_ms", __pyx_clineno, __pyx_lineno, __pyx_filename);
23895 __pyx_r = NULL((void*)0);
23896 __pyx_L0:;
23897 __Pyx_XGIVEREF(__pyx_r);
23898 __Pyx_RefNannyFinishContext();
23899 return __pyx_r;
23900}
23901
23902/* "xmmsapi.pyx":1143
23903 * raise ValueError("Bad whence parameter")
23904 *
23905 * cpdef XmmsResult playback_seek_samples(self, int samples, xmms_playback_seek_mode_t whence = PLAYBACK_SEEK_SET, cb = None): # <<<<<<<<<<<<<<
23906 * """
23907 * Seek to a number of samples in the current file or stream in playback.
23908 */
23909
23910static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_19playback_seek_samples(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
23911static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playback_seek_samples(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_samples, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_seek_samples *__pyx_optional_args) {
23912 xmms_playback_seek_mode_t __pyx_v_whence = __pyx_k__43;
23913 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
23914 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
23915 __Pyx_RefNannyDeclarations
23916 PyObject *__pyx_t_1 = NULL((void*)0);
23917 PyObject *__pyx_t_2 = NULL((void*)0);
23918 PyObject *__pyx_t_3 = NULL((void*)0);
23919 PyObject *__pyx_t_4 = NULL((void*)0);
23920 int __pyx_t_5;
23921 int __pyx_t_6;
23922 int __pyx_t_7;
23923 int __pyx_lineno = 0;
23924 const char *__pyx_filename = NULL((void*)0);
23925 int __pyx_clineno = 0;
23926 __Pyx_RefNannySetupContext("playback_seek_samples", 0);
23927 if (__pyx_optional_args) {
23928 if (__pyx_optional_args->__pyx_n > 0) {
23929 __pyx_v_whence = __pyx_optional_args->whence;
23930 if (__pyx_optional_args->__pyx_n > 1) {
23931 __pyx_v_cb = __pyx_optional_args->cb;
23932 }
23933 }
23934 }
23935 /* Check if called by wrapper */
23936 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
23937 /* Check if overridden in Python */
23938 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
23939 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playback_seek_samples); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__23939; goto __pyx_L1_error;}
23940 __Pyx_GOTREF(__pyx_t_1);
23941 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_19playback_seek_samples)) {
23942 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
23943 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_samples); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__23943; goto __pyx_L1_error;}
23944 __Pyx_GOTREF(__pyx_t_2);
23945 __pyx_t_3 = PyInt_FromLong(__pyx_v_whence); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__23945; goto __pyx_L1_error;}
23946 __Pyx_GOTREF(__pyx_t_3);
23947 __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__23947; goto __pyx_L1_error;}
23948 __Pyx_GOTREF(__pyx_t_4);
23949 PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_4))->ob_item[0] = __pyx_t_2);
23950 __Pyx_GIVEREF(__pyx_t_2);
23951 PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3)(((PyTupleObject *)(__pyx_t_4))->ob_item[1] = __pyx_t_3);
23952 __Pyx_GIVEREF(__pyx_t_3);
23953 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
23954 PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_4))->ob_item[2] = __pyx_v_cb);
23955 __Pyx_GIVEREF(__pyx_v_cb);
23956 __pyx_t_2 = 0;
23957 __pyx_t_3 = 0;
23958 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__23958; goto __pyx_L1_error;}
23959 __Pyx_GOTREF(__pyx_t_3);
23960 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
23961 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__23961; goto __pyx_L1_error;}
23962 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
23963 __pyx_t_3 = 0;
23964 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
23965 goto __pyx_L0;
23966 }
23967 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
23968 }
23969
23970 /* "xmmsapi.pyx":1149
23971 * @return: The result of the operation.
23972 * """
23973 * if whence == PLAYBACK_SEEK_SET or whence == PLAYBACK_SEEK_CUR: # <<<<<<<<<<<<<<
23974 * return self.create_result(cb, xmmsc_playback_seek_samples(self.conn, samples, whence))
23975 * else:
23976 */
23977 __pyx_t_1 = PyInt_FromLong(__pyx_v_whence); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__23977; goto __pyx_L1_error;}
23978 __Pyx_GOTREF(__pyx_t_1);
23979 __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_PLAYBACK_SEEK_SET); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__23979; goto __pyx_L1_error;}
23980 __Pyx_GOTREF(__pyx_t_3);
23981 __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_3, Py_EQ2); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__23981; goto __pyx_L1_error;}
23982 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
23983 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
23984 __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_5 < 0)__builtin_expect(!!(__pyx_t_5 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__23984; goto __pyx_L1_error;}
23985 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
23986 if (!__pyx_t_5) {
23987 __pyx_t_4 = PyInt_FromLong(__pyx_v_whence); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__23987; goto __pyx_L1_error;}
23988 __Pyx_GOTREF(__pyx_t_4);
23989 __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_PLAYBACK_SEEK_CUR); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__23989; goto __pyx_L1_error;}
23990 __Pyx_GOTREF(__pyx_t_3);
23991 __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_t_3, Py_EQ2); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__23991; goto __pyx_L1_error;}
23992 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
23993 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
23994 __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)__builtin_expect(!!(__pyx_t_6 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__23994; goto __pyx_L1_error;}
23995 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
23996 __pyx_t_7 = __pyx_t_6;
23997 } else {
23998 __pyx_t_7 = __pyx_t_5;
23999 }
24000 if (__pyx_t_7) {
24001
24002 /* "xmmsapi.pyx":1150
24003 * """
24004 * if whence == PLAYBACK_SEEK_SET or whence == PLAYBACK_SEEK_CUR:
24005 * return self.create_result(cb, xmmsc_playback_seek_samples(self.conn, samples, whence)) # <<<<<<<<<<<<<<
24006 * else:
24007 * raise ValueError("Bad whence parameter")
24008 */
24009 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
24010 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_playback_seek_samples(__pyx_v_self->__pyx_base.conn, __pyx_v_samples, __pyx_v_whence))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__24010; goto __pyx_L1_error;}
24011 __Pyx_GOTREF(__pyx_t_1);
24012 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
24013 __pyx_t_1 = 0;
24014 goto __pyx_L0;
24015 }
24016 /*else*/ {
24017
24018 /* "xmmsapi.pyx":1152
24019 * return self.create_result(cb, xmmsc_playback_seek_samples(self.conn, samples, whence))
24020 * else:
24021 * raise ValueError("Bad whence parameter") # <<<<<<<<<<<<<<
24022 *
24023 * cpdef XmmsResult playback_status(self, cb = None):
24024 */
24025 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__44, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1152; __pyx_clineno = __LINE__24025; goto __pyx_L1_error;}
24026 __Pyx_GOTREF(__pyx_t_1);
24027 __Pyx_Raise(__pyx_t_1, 0, 0, 0);
24028 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
24029 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1152; __pyx_clineno = __LINE__24029; goto __pyx_L1_error;}
24030 }
24031
24032 /* "xmmsapi.pyx":1143
24033 * raise ValueError("Bad whence parameter")
24034 *
24035 * cpdef XmmsResult playback_seek_samples(self, int samples, xmms_playback_seek_mode_t whence = PLAYBACK_SEEK_SET, cb = None): # <<<<<<<<<<<<<<
24036 * """
24037 * Seek to a number of samples in the current file or stream in playback.
24038 */
24039
24040 /* function exit code */
24041 __pyx_L1_error:;
24042 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
24043 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
24044 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
24045 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
;
24046 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_seek_samples", __pyx_clineno, __pyx_lineno, __pyx_filename);
24047 __pyx_r = 0;
24048 __pyx_L0:;
24049 __Pyx_XGIVEREF((PyObject *)__pyx_r);
24050 __Pyx_RefNannyFinishContext();
24051 return __pyx_r;
24052}
24053
24054/* Python wrapper */
24055static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_19playback_seek_samples(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
24056static char __pyx_doc_7xmmsapi_7XmmsApi_18playback_seek_samples[] = "XmmsApi.playback_seek_samples(self, int samples, xmms_playback_seek_mode_t whence=PLAYBACK_SEEK_SET, cb=None) -> XmmsResult\n\n\t\tSeek to a number of samples in the current file or stream in playback.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
24057static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_19playback_seek_samples(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
24058 int __pyx_v_samples;
24059 xmms_playback_seek_mode_t __pyx_v_whence;
24060 PyObject *__pyx_v_cb = 0;
24061 int __pyx_lineno = 0;
24062 const char *__pyx_filename = NULL((void*)0);
24063 int __pyx_clineno = 0;
24064 PyObject *__pyx_r = 0;
24065 __Pyx_RefNannyDeclarations
24066 __Pyx_RefNannySetupContext("playback_seek_samples (wrapper)", 0);
24067 {
24068 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_samples,&__pyx_n_s_whence,&__pyx_n_s_cb,0};
24069 PyObject* values[3] = {0,0,0};
24070 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
24071 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
24072 Py_ssize_t kw_args;
24073 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
24074 switch (pos_args) {
24075 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
24076 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
24077 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
24078 case 0: break;
24079 default: goto __pyx_L5_argtuple_error;
24080 }
24081 kw_args = PyDict_Size(__pyx_kwds);
24082 switch (pos_args) {
24083 case 0:
24084 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_samples)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_samples
)) != 0), 1)
) kw_args--;
24085 else goto __pyx_L5_argtuple_error;
24086 case 1:
24087 if (kw_args > 0) {
24088 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_whence);
24089 if (value) { values[1] = value; kw_args--; }
24090 }
24091 case 2:
24092 if (kw_args > 0) {
24093 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
24094 if (value) { values[2] = value; kw_args--; }
24095 }
24096 }
24097 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
24098 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playback_seek_samples") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playback_seek_samples") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__24098; goto __pyx_L3_error;}
24099 }
24100 } else {
24101 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
24102 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
24103 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
24104 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
24105 break;
24106 default: goto __pyx_L5_argtuple_error;
24107 }
24108 }
24109 __pyx_v_samples = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_samples == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_samples == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__24109; goto __pyx_L3_error;}
24110 if (values[1]) {
24111 __pyx_v_whence = ((xmms_playback_seek_mode_t)PyInt_AsLong(values[1])); if (unlikely(PyErr_Occurred())__builtin_expect(!!(PyErr_Occurred()), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__24111; goto __pyx_L3_error;}
24112 } else {
24113 __pyx_v_whence = __pyx_k__43;
24114 }
24115 __pyx_v_cb = values[2];
24116 }
24117 goto __pyx_L4_argument_unpacking_done;
24118 __pyx_L5_argtuple_error:;
24119 __Pyx_RaiseArgtupleInvalid("playback_seek_samples", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__24119; goto __pyx_L3_error;}
24120 __pyx_L3_error:;
24121 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_seek_samples", __pyx_clineno, __pyx_lineno, __pyx_filename);
24122 __Pyx_RefNannyFinishContext();
24123 return NULL((void*)0);
24124 __pyx_L4_argument_unpacking_done:;
24125 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_18playback_seek_samples(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_samples, __pyx_v_whence, __pyx_v_cb);
24126
24127 /* function exit code */
24128 __Pyx_RefNannyFinishContext();
24129 return __pyx_r;
24130}
24131
24132static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_18playback_seek_samples(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_samples, xmms_playback_seek_mode_t __pyx_v_whence, PyObject *__pyx_v_cb) {
24133 PyObject *__pyx_r = NULL((void*)0);
24134 __Pyx_RefNannyDeclarations
24135 PyObject *__pyx_t_1 = NULL((void*)0);
24136 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_seek_samples __pyx_t_2;
24137 int __pyx_lineno = 0;
24138 const char *__pyx_filename = NULL((void*)0);
24139 int __pyx_clineno = 0;
24140 __Pyx_RefNannySetupContext("playback_seek_samples", 0);
24141 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
24142 __pyx_t_2.__pyx_n = 2;
24143 __pyx_t_2.whence = __pyx_v_whence;
24144 __pyx_t_2.cb = __pyx_v_cb;
24145 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playback_seek_samples(__pyx_v_self, __pyx_v_samples, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__24145; goto __pyx_L1_error;}
24146 __Pyx_GOTREF(__pyx_t_1);
24147 __pyx_r = __pyx_t_1;
24148 __pyx_t_1 = 0;
24149 goto __pyx_L0;
24150
24151 /* function exit code */
24152 __pyx_L1_error:;
24153 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
24154 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_seek_samples", __pyx_clineno, __pyx_lineno, __pyx_filename);
24155 __pyx_r = NULL((void*)0);
24156 __pyx_L0:;
24157 __Pyx_XGIVEREF(__pyx_r);
24158 __Pyx_RefNannyFinishContext();
24159 return __pyx_r;
24160}
24161
24162/* "xmmsapi.pyx":1154
24163 * raise ValueError("Bad whence parameter")
24164 *
24165 * cpdef XmmsResult playback_status(self, cb = None): # <<<<<<<<<<<<<<
24166 * """
24167 * Get current playback status from XMMS2 daemon. This is
24168 */
24169
24170static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_21playback_status(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
24171static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playback_status(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_status *__pyx_optional_args) {
24172 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
24173 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
24174 __Pyx_RefNannyDeclarations
24175 PyObject *__pyx_t_1 = NULL((void*)0);
24176 PyObject *__pyx_t_2 = NULL((void*)0);
24177 PyObject *__pyx_t_3 = NULL((void*)0);
24178 int __pyx_lineno = 0;
24179 const char *__pyx_filename = NULL((void*)0);
24180 int __pyx_clineno = 0;
24181 __Pyx_RefNannySetupContext("playback_status", 0);
24182 if (__pyx_optional_args) {
24183 if (__pyx_optional_args->__pyx_n > 0) {
24184 __pyx_v_cb = __pyx_optional_args->cb;
24185 }
24186 }
24187 /* Check if called by wrapper */
24188 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
24189 /* Check if overridden in Python */
24190 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
24191 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playback_status); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__24191; goto __pyx_L1_error;}
24192 __Pyx_GOTREF(__pyx_t_1);
24193 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_21playback_status)) {
24194 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
24195 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__24195; goto __pyx_L1_error;}
24196 __Pyx_GOTREF(__pyx_t_2);
24197 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
24198 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
24199 __Pyx_GIVEREF(__pyx_v_cb);
24200 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__24200; goto __pyx_L1_error;}
24201 __Pyx_GOTREF(__pyx_t_3);
24202 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
24203 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__24203; goto __pyx_L1_error;}
24204 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
24205 __pyx_t_3 = 0;
24206 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
24207 goto __pyx_L0;
24208 }
24209 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
24210 }
24211
24212 /* "xmmsapi.pyx":1164
24213 * @return: Current playback status(UInt)
24214 * """
24215 * return self.create_result(cb, xmmsc_playback_status(self.conn)) # <<<<<<<<<<<<<<
24216 *
24217 * cpdef XmmsResult broadcast_playback_status(self, cb = None):
24218 */
24219 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
24220 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_playback_status(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__24220; goto __pyx_L1_error;}
24221 __Pyx_GOTREF(__pyx_t_1);
24222 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
24223 __pyx_t_1 = 0;
24224 goto __pyx_L0;
24225
24226 /* "xmmsapi.pyx":1154
24227 * raise ValueError("Bad whence parameter")
24228 *
24229 * cpdef XmmsResult playback_status(self, cb = None): # <<<<<<<<<<<<<<
24230 * """
24231 * Get current playback status from XMMS2 daemon. This is
24232 */
24233
24234 /* function exit code */
24235 __pyx_L1_error:;
24236 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
24237 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
24238 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
24239 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_status", __pyx_clineno, __pyx_lineno, __pyx_filename);
24240 __pyx_r = 0;
24241 __pyx_L0:;
24242 __Pyx_XGIVEREF((PyObject *)__pyx_r);
24243 __Pyx_RefNannyFinishContext();
24244 return __pyx_r;
24245}
24246
24247/* Python wrapper */
24248static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_21playback_status(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
24249static char __pyx_doc_7xmmsapi_7XmmsApi_20playback_status[] = "XmmsApi.playback_status(self, cb=None) -> XmmsResult\n\n\t\tGet current playback status from XMMS2 daemon. This is\n\t\tessentially the more direct version of\n\t\tL{broadcast_playback_status}. Possible return values are:\n\t\tL{PLAYBACK_STATUS_STOP}, L{PLAYBACK_STATUS_PLAY},\n\t\tL{PLAYBACK_STATUS_PAUSE}\n\t\t@rtype: L{XmmsResult}(UInt)\n\t\t@return: Current playback status(UInt)\n\t\t";
24250static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_21playback_status(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
24251 PyObject *__pyx_v_cb = 0;
24252 int __pyx_lineno = 0;
24253 const char *__pyx_filename = NULL((void*)0);
24254 int __pyx_clineno = 0;
24255 PyObject *__pyx_r = 0;
24256 __Pyx_RefNannyDeclarations
24257 __Pyx_RefNannySetupContext("playback_status (wrapper)", 0);
24258 {
24259 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
24260 PyObject* values[1] = {0};
24261 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
24262 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
24263 Py_ssize_t kw_args;
24264 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
24265 switch (pos_args) {
24266 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
24267 case 0: break;
24268 default: goto __pyx_L5_argtuple_error;
24269 }
24270 kw_args = PyDict_Size(__pyx_kwds);
24271 switch (pos_args) {
24272 case 0:
24273 if (kw_args > 0) {
24274 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
24275 if (value) { values[0] = value; kw_args--; }
24276 }
24277 }
24278 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
24279 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playback_status") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playback_status") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__24279; goto __pyx_L3_error;}
24280 }
24281 } else {
24282 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
24283 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
24284 case 0: break;
24285 default: goto __pyx_L5_argtuple_error;
24286 }
24287 }
24288 __pyx_v_cb = values[0];
24289 }
24290 goto __pyx_L4_argument_unpacking_done;
24291 __pyx_L5_argtuple_error:;
24292 __Pyx_RaiseArgtupleInvalid("playback_status", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__24292; goto __pyx_L3_error;}
24293 __pyx_L3_error:;
24294 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_status", __pyx_clineno, __pyx_lineno, __pyx_filename);
24295 __Pyx_RefNannyFinishContext();
24296 return NULL((void*)0);
24297 __pyx_L4_argument_unpacking_done:;
24298 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_20playback_status(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
24299
24300 /* function exit code */
24301 __Pyx_RefNannyFinishContext();
24302 return __pyx_r;
24303}
24304
24305static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_20playback_status(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
24306 PyObject *__pyx_r = NULL((void*)0);
24307 __Pyx_RefNannyDeclarations
24308 PyObject *__pyx_t_1 = NULL((void*)0);
24309 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_status __pyx_t_2;
24310 int __pyx_lineno = 0;
24311 const char *__pyx_filename = NULL((void*)0);
24312 int __pyx_clineno = 0;
24313 __Pyx_RefNannySetupContext("playback_status", 0);
24314 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
24315 __pyx_t_2.__pyx_n = 1;
24316 __pyx_t_2.cb = __pyx_v_cb;
24317 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playback_status(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__24317; goto __pyx_L1_error;}
24318 __Pyx_GOTREF(__pyx_t_1);
24319 __pyx_r = __pyx_t_1;
24320 __pyx_t_1 = 0;
24321 goto __pyx_L0;
24322
24323 /* function exit code */
24324 __pyx_L1_error:;
24325 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
24326 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_status", __pyx_clineno, __pyx_lineno, __pyx_filename);
24327 __pyx_r = NULL((void*)0);
24328 __pyx_L0:;
24329 __Pyx_XGIVEREF(__pyx_r);
24330 __Pyx_RefNannyFinishContext();
24331 return __pyx_r;
24332}
24333
24334/* "xmmsapi.pyx":1166
24335 * return self.create_result(cb, xmmsc_playback_status(self.conn))
24336 *
24337 * cpdef XmmsResult broadcast_playback_status(self, cb = None): # <<<<<<<<<<<<<<
24338 * """
24339 * Set a method to handle the playback status broadcast from the
24340 */
24341
24342static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_23broadcast_playback_status(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
24343static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_broadcast_playback_status(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playback_status *__pyx_optional_args) {
24344 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
24345 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
24346 __Pyx_RefNannyDeclarations
24347 PyObject *__pyx_t_1 = NULL((void*)0);
24348 PyObject *__pyx_t_2 = NULL((void*)0);
24349 PyObject *__pyx_t_3 = NULL((void*)0);
24350 int __pyx_lineno = 0;
24351 const char *__pyx_filename = NULL((void*)0);
24352 int __pyx_clineno = 0;
24353 __Pyx_RefNannySetupContext("broadcast_playback_status", 0);
24354 if (__pyx_optional_args) {
24355 if (__pyx_optional_args->__pyx_n > 0) {
24356 __pyx_v_cb = __pyx_optional_args->cb;
24357 }
24358 }
24359 /* Check if called by wrapper */
24360 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
24361 /* Check if overridden in Python */
24362 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
24363 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_broadcast_playback_status); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__24363; goto __pyx_L1_error;}
24364 __Pyx_GOTREF(__pyx_t_1);
24365 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_23broadcast_playback_status)) {
24366 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
24367 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__24367; goto __pyx_L1_error;}
24368 __Pyx_GOTREF(__pyx_t_2);
24369 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
24370 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
24371 __Pyx_GIVEREF(__pyx_v_cb);
24372 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__24372; goto __pyx_L1_error;}
24373 __Pyx_GOTREF(__pyx_t_3);
24374 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
24375 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__24375; goto __pyx_L1_error;}
24376 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
24377 __pyx_t_3 = 0;
24378 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
24379 goto __pyx_L0;
24380 }
24381 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
24382 }
24383
24384 /* "xmmsapi.pyx":1172
24385 * @rtype: L{XmmsResult}(UInt)
24386 * """
24387 * return self.create_result(cb, xmmsc_broadcast_playback_status(self.conn)) # <<<<<<<<<<<<<<
24388 *
24389 * cpdef XmmsResult broadcast_playback_current_id(self, cb = None):
24390 */
24391 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
24392 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_broadcast_playback_status(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__24392; goto __pyx_L1_error;}
24393 __Pyx_GOTREF(__pyx_t_1);
24394 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
24395 __pyx_t_1 = 0;
24396 goto __pyx_L0;
24397
24398 /* "xmmsapi.pyx":1166
24399 * return self.create_result(cb, xmmsc_playback_status(self.conn))
24400 *
24401 * cpdef XmmsResult broadcast_playback_status(self, cb = None): # <<<<<<<<<<<<<<
24402 * """
24403 * Set a method to handle the playback status broadcast from the
24404 */
24405
24406 /* function exit code */
24407 __pyx_L1_error:;
24408 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
24409 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
24410 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
24411 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_playback_status", __pyx_clineno, __pyx_lineno, __pyx_filename);
24412 __pyx_r = 0;
24413 __pyx_L0:;
24414 __Pyx_XGIVEREF((PyObject *)__pyx_r);
24415 __Pyx_RefNannyFinishContext();
24416 return __pyx_r;
24417}
24418
24419/* Python wrapper */
24420static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_23broadcast_playback_status(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
24421static char __pyx_doc_7xmmsapi_7XmmsApi_22broadcast_playback_status[] = "XmmsApi.broadcast_playback_status(self, cb=None) -> XmmsResult\n\n\t\tSet a method to handle the playback status broadcast from the\n\t\tXMMS2 daemon.\n\t\t@rtype: L{XmmsResult}(UInt)\n\t\t";
24422static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_23broadcast_playback_status(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
24423 PyObject *__pyx_v_cb = 0;
24424 int __pyx_lineno = 0;
24425 const char *__pyx_filename = NULL((void*)0);
24426 int __pyx_clineno = 0;
24427 PyObject *__pyx_r = 0;
24428 __Pyx_RefNannyDeclarations
24429 __Pyx_RefNannySetupContext("broadcast_playback_status (wrapper)", 0);
24430 {
24431 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
24432 PyObject* values[1] = {0};
24433 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
24434 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
24435 Py_ssize_t kw_args;
24436 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
24437 switch (pos_args) {
24438 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
24439 case 0: break;
24440 default: goto __pyx_L5_argtuple_error;
24441 }
24442 kw_args = PyDict_Size(__pyx_kwds);
24443 switch (pos_args) {
24444 case 0:
24445 if (kw_args > 0) {
24446 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
24447 if (value) { values[0] = value; kw_args--; }
24448 }
24449 }
24450 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
24451 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "broadcast_playback_status") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "broadcast_playback_status") < 0), 0
)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__24451; goto __pyx_L3_error;}
24452 }
24453 } else {
24454 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
24455 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
24456 case 0: break;
24457 default: goto __pyx_L5_argtuple_error;
24458 }
24459 }
24460 __pyx_v_cb = values[0];
24461 }
24462 goto __pyx_L4_argument_unpacking_done;
24463 __pyx_L5_argtuple_error:;
24464 __Pyx_RaiseArgtupleInvalid("broadcast_playback_status", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__24464; goto __pyx_L3_error;}
24465 __pyx_L3_error:;
24466 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_playback_status", __pyx_clineno, __pyx_lineno, __pyx_filename);
24467 __Pyx_RefNannyFinishContext();
24468 return NULL((void*)0);
24469 __pyx_L4_argument_unpacking_done:;
24470 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_22broadcast_playback_status(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
24471
24472 /* function exit code */
24473 __Pyx_RefNannyFinishContext();
24474 return __pyx_r;
24475}
24476
24477static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_22broadcast_playback_status(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
24478 PyObject *__pyx_r = NULL((void*)0);
24479 __Pyx_RefNannyDeclarations
24480 PyObject *__pyx_t_1 = NULL((void*)0);
24481 struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playback_status __pyx_t_2;
24482 int __pyx_lineno = 0;
24483 const char *__pyx_filename = NULL((void*)0);
24484 int __pyx_clineno = 0;
24485 __Pyx_RefNannySetupContext("broadcast_playback_status", 0);
24486 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
24487 __pyx_t_2.__pyx_n = 1;
24488 __pyx_t_2.cb = __pyx_v_cb;
24489 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->broadcast_playback_status(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__24489; goto __pyx_L1_error;}
24490 __Pyx_GOTREF(__pyx_t_1);
24491 __pyx_r = __pyx_t_1;
24492 __pyx_t_1 = 0;
24493 goto __pyx_L0;
24494
24495 /* function exit code */
24496 __pyx_L1_error:;
24497 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
24498 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_playback_status", __pyx_clineno, __pyx_lineno, __pyx_filename);
24499 __pyx_r = NULL((void*)0);
24500 __pyx_L0:;
24501 __Pyx_XGIVEREF(__pyx_r);
24502 __Pyx_RefNannyFinishContext();
24503 return __pyx_r;
24504}
24505
24506/* "xmmsapi.pyx":1174
24507 * return self.create_result(cb, xmmsc_broadcast_playback_status(self.conn))
24508 *
24509 * cpdef XmmsResult broadcast_playback_current_id(self, cb = None): # <<<<<<<<<<<<<<
24510 * """
24511 * Set a method to handle the playback id broadcast from the
24512 */
24513
24514static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_25broadcast_playback_current_id(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
24515static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_broadcast_playback_current_id(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playback_current_id *__pyx_optional_args) {
24516 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
24517 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
24518 __Pyx_RefNannyDeclarations
24519 PyObject *__pyx_t_1 = NULL((void*)0);
24520 PyObject *__pyx_t_2 = NULL((void*)0);
24521 PyObject *__pyx_t_3 = NULL((void*)0);
24522 int __pyx_lineno = 0;
24523 const char *__pyx_filename = NULL((void*)0);
24524 int __pyx_clineno = 0;
24525 __Pyx_RefNannySetupContext("broadcast_playback_current_id", 0);
24526 if (__pyx_optional_args) {
24527 if (__pyx_optional_args->__pyx_n > 0) {
24528 __pyx_v_cb = __pyx_optional_args->cb;
24529 }
24530 }
24531 /* Check if called by wrapper */
24532 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
24533 /* Check if overridden in Python */
24534 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
24535 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_broadcast_playback_current_id); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__24535; goto __pyx_L1_error;}
24536 __Pyx_GOTREF(__pyx_t_1);
24537 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_25broadcast_playback_current_id)) {
24538 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
24539 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__24539; goto __pyx_L1_error;}
24540 __Pyx_GOTREF(__pyx_t_2);
24541 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
24542 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
24543 __Pyx_GIVEREF(__pyx_v_cb);
24544 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__24544; goto __pyx_L1_error;}
24545 __Pyx_GOTREF(__pyx_t_3);
24546 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
24547 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__24547; goto __pyx_L1_error;}
24548 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
24549 __pyx_t_3 = 0;
24550 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
24551 goto __pyx_L0;
24552 }
24553 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
24554 }
24555
24556 /* "xmmsapi.pyx":1180
24557 * @rtype: L{XmmsResult}(UInt)
24558 * """
24559 * return self.create_result(cb, xmmsc_broadcast_playback_current_id(self.conn)) # <<<<<<<<<<<<<<
24560 *
24561 * cpdef XmmsResult playback_playtime(self, cb = None):
24562 */
24563 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
24564 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_broadcast_playback_current_id(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1180; __pyx_clineno = __LINE__24564; goto __pyx_L1_error;}
24565 __Pyx_GOTREF(__pyx_t_1);
24566 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
24567 __pyx_t_1 = 0;
24568 goto __pyx_L0;
24569
24570 /* "xmmsapi.pyx":1174
24571 * return self.create_result(cb, xmmsc_broadcast_playback_status(self.conn))
24572 *
24573 * cpdef XmmsResult broadcast_playback_current_id(self, cb = None): # <<<<<<<<<<<<<<
24574 * """
24575 * Set a method to handle the playback id broadcast from the
24576 */
24577
24578 /* function exit code */
24579 __pyx_L1_error:;
24580 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
24581 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
24582 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
24583 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_playback_current_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
24584 __pyx_r = 0;
24585 __pyx_L0:;
24586 __Pyx_XGIVEREF((PyObject *)__pyx_r);
24587 __Pyx_RefNannyFinishContext();
24588 return __pyx_r;
24589}
24590
24591/* Python wrapper */
24592static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_25broadcast_playback_current_id(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
24593static char __pyx_doc_7xmmsapi_7XmmsApi_24broadcast_playback_current_id[] = "XmmsApi.broadcast_playback_current_id(self, cb=None) -> XmmsResult\n\n\t\tSet a method to handle the playback id broadcast from the\n\t\tXMMS2 daemon.\n\t\t@rtype: L{XmmsResult}(UInt)\n\t\t";
24594static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_25broadcast_playback_current_id(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
24595 PyObject *__pyx_v_cb = 0;
24596 int __pyx_lineno = 0;
24597 const char *__pyx_filename = NULL((void*)0);
24598 int __pyx_clineno = 0;
24599 PyObject *__pyx_r = 0;
24600 __Pyx_RefNannyDeclarations
24601 __Pyx_RefNannySetupContext("broadcast_playback_current_id (wrapper)", 0);
24602 {
24603 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
24604 PyObject* values[1] = {0};
24605 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
24606 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
24607 Py_ssize_t kw_args;
24608 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
24609 switch (pos_args) {
24610 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
24611 case 0: break;
24612 default: goto __pyx_L5_argtuple_error;
24613 }
24614 kw_args = PyDict_Size(__pyx_kwds);
24615 switch (pos_args) {
24616 case 0:
24617 if (kw_args > 0) {
24618 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
24619 if (value) { values[0] = value; kw_args--; }
24620 }
24621 }
24622 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
24623 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "broadcast_playback_current_id") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "broadcast_playback_current_id") < 0
), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__24623; goto __pyx_L3_error;}
24624 }
24625 } else {
24626 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
24627 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
24628 case 0: break;
24629 default: goto __pyx_L5_argtuple_error;
24630 }
24631 }
24632 __pyx_v_cb = values[0];
24633 }
24634 goto __pyx_L4_argument_unpacking_done;
24635 __pyx_L5_argtuple_error:;
24636 __Pyx_RaiseArgtupleInvalid("broadcast_playback_current_id", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__24636; goto __pyx_L3_error;}
24637 __pyx_L3_error:;
24638 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_playback_current_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
24639 __Pyx_RefNannyFinishContext();
24640 return NULL((void*)0);
24641 __pyx_L4_argument_unpacking_done:;
24642 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_24broadcast_playback_current_id(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
24643
24644 /* function exit code */
24645 __Pyx_RefNannyFinishContext();
24646 return __pyx_r;
24647}
24648
24649static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_24broadcast_playback_current_id(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
24650 PyObject *__pyx_r = NULL((void*)0);
24651 __Pyx_RefNannyDeclarations
24652 PyObject *__pyx_t_1 = NULL((void*)0);
24653 struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playback_current_id __pyx_t_2;
24654 int __pyx_lineno = 0;
24655 const char *__pyx_filename = NULL((void*)0);
24656 int __pyx_clineno = 0;
24657 __Pyx_RefNannySetupContext("broadcast_playback_current_id", 0);
24658 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
24659 __pyx_t_2.__pyx_n = 1;
24660 __pyx_t_2.cb = __pyx_v_cb;
24661 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->broadcast_playback_current_id(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__24661; goto __pyx_L1_error;}
24662 __Pyx_GOTREF(__pyx_t_1);
24663 __pyx_r = __pyx_t_1;
24664 __pyx_t_1 = 0;
24665 goto __pyx_L0;
24666
24667 /* function exit code */
24668 __pyx_L1_error:;
24669 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
24670 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_playback_current_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
24671 __pyx_r = NULL((void*)0);
24672 __pyx_L0:;
24673 __Pyx_XGIVEREF(__pyx_r);
24674 __Pyx_RefNannyFinishContext();
24675 return __pyx_r;
24676}
24677
24678/* "xmmsapi.pyx":1182
24679 * return self.create_result(cb, xmmsc_broadcast_playback_current_id(self.conn))
24680 *
24681 * cpdef XmmsResult playback_playtime(self, cb = None): # <<<<<<<<<<<<<<
24682 * """
24683 * Return playtime on current file/stream. This is essentially a
24684 */
24685
24686static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_27playback_playtime(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
24687static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playback_playtime(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_playtime *__pyx_optional_args) {
24688 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
24689 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
24690 __Pyx_RefNannyDeclarations
24691 PyObject *__pyx_t_1 = NULL((void*)0);
24692 PyObject *__pyx_t_2 = NULL((void*)0);
24693 PyObject *__pyx_t_3 = NULL((void*)0);
24694 int __pyx_lineno = 0;
24695 const char *__pyx_filename = NULL((void*)0);
24696 int __pyx_clineno = 0;
24697 __Pyx_RefNannySetupContext("playback_playtime", 0);
24698 if (__pyx_optional_args) {
24699 if (__pyx_optional_args->__pyx_n > 0) {
24700 __pyx_v_cb = __pyx_optional_args->cb;
24701 }
24702 }
24703 /* Check if called by wrapper */
24704 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
24705 /* Check if overridden in Python */
24706 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
24707 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playback_playtime); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__24707; goto __pyx_L1_error;}
24708 __Pyx_GOTREF(__pyx_t_1);
24709 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_27playback_playtime)) {
24710 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
24711 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__24711; goto __pyx_L1_error;}
24712 __Pyx_GOTREF(__pyx_t_2);
24713 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
24714 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
24715 __Pyx_GIVEREF(__pyx_v_cb);
24716 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__24716; goto __pyx_L1_error;}
24717 __Pyx_GOTREF(__pyx_t_3);
24718 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
24719 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__24719; goto __pyx_L1_error;}
24720 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
24721 __pyx_t_3 = 0;
24722 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
24723 goto __pyx_L0;
24724 }
24725 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
24726 }
24727
24728 /* "xmmsapi.pyx":1189
24729 * @return: The result of the operation.(playtime in milliseconds)
24730 * """
24731 * return self.create_result(cb, xmmsc_playback_playtime(self.conn)) # <<<<<<<<<<<<<<
24732 *
24733 * cpdef XmmsResult signal_playback_playtime(self, cb = None):
24734 */
24735 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
24736 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_playback_playtime(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1189; __pyx_clineno = __LINE__24736; goto __pyx_L1_error;}
24737 __Pyx_GOTREF(__pyx_t_1);
24738 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
24739 __pyx_t_1 = 0;
24740 goto __pyx_L0;
24741
24742 /* "xmmsapi.pyx":1182
24743 * return self.create_result(cb, xmmsc_broadcast_playback_current_id(self.conn))
24744 *
24745 * cpdef XmmsResult playback_playtime(self, cb = None): # <<<<<<<<<<<<<<
24746 * """
24747 * Return playtime on current file/stream. This is essentially a
24748 */
24749
24750 /* function exit code */
24751 __pyx_L1_error:;
24752 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
24753 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
24754 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
24755 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_playtime", __pyx_clineno, __pyx_lineno, __pyx_filename);
24756 __pyx_r = 0;
24757 __pyx_L0:;
24758 __Pyx_XGIVEREF((PyObject *)__pyx_r);
24759 __Pyx_RefNannyFinishContext();
24760 return __pyx_r;
24761}
24762
24763/* Python wrapper */
24764static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_27playback_playtime(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
24765static char __pyx_doc_7xmmsapi_7XmmsApi_26playback_playtime[] = "XmmsApi.playback_playtime(self, cb=None) -> XmmsResult\n\n\t\tReturn playtime on current file/stream. This is essentially a\n\t\tmore direct version of L{signal_playback_playtime}\n\t\t@rtype: L{XmmsResult}(UInt)\n\t\t@return: The result of the operation.(playtime in milliseconds)\n\t\t";
24766static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_27playback_playtime(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
24767 PyObject *__pyx_v_cb = 0;
24768 int __pyx_lineno = 0;
24769 const char *__pyx_filename = NULL((void*)0);
24770 int __pyx_clineno = 0;
24771 PyObject *__pyx_r = 0;
24772 __Pyx_RefNannyDeclarations
24773 __Pyx_RefNannySetupContext("playback_playtime (wrapper)", 0);
24774 {
24775 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
24776 PyObject* values[1] = {0};
24777 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
24778 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
24779 Py_ssize_t kw_args;
24780 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
24781 switch (pos_args) {
24782 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
24783 case 0: break;
24784 default: goto __pyx_L5_argtuple_error;
24785 }
24786 kw_args = PyDict_Size(__pyx_kwds);
24787 switch (pos_args) {
24788 case 0:
24789 if (kw_args > 0) {
24790 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
24791 if (value) { values[0] = value; kw_args--; }
24792 }
24793 }
24794 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
24795 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playback_playtime") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playback_playtime") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__24795; goto __pyx_L3_error;}
24796 }
24797 } else {
24798 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
24799 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
24800 case 0: break;
24801 default: goto __pyx_L5_argtuple_error;
24802 }
24803 }
24804 __pyx_v_cb = values[0];
24805 }
24806 goto __pyx_L4_argument_unpacking_done;
24807 __pyx_L5_argtuple_error:;
24808 __Pyx_RaiseArgtupleInvalid("playback_playtime", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__24808; goto __pyx_L3_error;}
24809 __pyx_L3_error:;
24810 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_playtime", __pyx_clineno, __pyx_lineno, __pyx_filename);
24811 __Pyx_RefNannyFinishContext();
24812 return NULL((void*)0);
24813 __pyx_L4_argument_unpacking_done:;
24814 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_26playback_playtime(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
24815
24816 /* function exit code */
24817 __Pyx_RefNannyFinishContext();
24818 return __pyx_r;
24819}
24820
24821static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_26playback_playtime(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
24822 PyObject *__pyx_r = NULL((void*)0);
24823 __Pyx_RefNannyDeclarations
24824 PyObject *__pyx_t_1 = NULL((void*)0);
24825 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_playtime __pyx_t_2;
24826 int __pyx_lineno = 0;
24827 const char *__pyx_filename = NULL((void*)0);
24828 int __pyx_clineno = 0;
24829 __Pyx_RefNannySetupContext("playback_playtime", 0);
24830 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
24831 __pyx_t_2.__pyx_n = 1;
24832 __pyx_t_2.cb = __pyx_v_cb;
24833 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playback_playtime(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__24833; goto __pyx_L1_error;}
24834 __Pyx_GOTREF(__pyx_t_1);
24835 __pyx_r = __pyx_t_1;
24836 __pyx_t_1 = 0;
24837 goto __pyx_L0;
24838
24839 /* function exit code */
24840 __pyx_L1_error:;
24841 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
24842 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_playtime", __pyx_clineno, __pyx_lineno, __pyx_filename);
24843 __pyx_r = NULL((void*)0);
24844 __pyx_L0:;
24845 __Pyx_XGIVEREF(__pyx_r);
24846 __Pyx_RefNannyFinishContext();
24847 return __pyx_r;
24848}
24849
24850/* "xmmsapi.pyx":1191
24851 * return self.create_result(cb, xmmsc_playback_playtime(self.conn))
24852 *
24853 * cpdef XmmsResult signal_playback_playtime(self, cb = None): # <<<<<<<<<<<<<<
24854 * """
24855 * Set a method to handle the playback playtime signal from the
24856 */
24857
24858static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_29signal_playback_playtime(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
24859static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_signal_playback_playtime(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_signal_playback_playtime *__pyx_optional_args) {
24860 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
24861 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
24862 __Pyx_RefNannyDeclarations
24863 PyObject *__pyx_t_1 = NULL((void*)0);
24864 PyObject *__pyx_t_2 = NULL((void*)0);
24865 PyObject *__pyx_t_3 = NULL((void*)0);
24866 int __pyx_lineno = 0;
24867 const char *__pyx_filename = NULL((void*)0);
24868 int __pyx_clineno = 0;
24869 __Pyx_RefNannySetupContext("signal_playback_playtime", 0);
24870 if (__pyx_optional_args) {
24871 if (__pyx_optional_args->__pyx_n > 0) {
24872 __pyx_v_cb = __pyx_optional_args->cb;
24873 }
24874 }
24875 /* Check if called by wrapper */
24876 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
24877 /* Check if overridden in Python */
24878 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
24879 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_signal_playback_playtime); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__24879; goto __pyx_L1_error;}
24880 __Pyx_GOTREF(__pyx_t_1);
24881 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_29signal_playback_playtime)) {
24882 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
24883 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__24883; goto __pyx_L1_error;}
24884 __Pyx_GOTREF(__pyx_t_2);
24885 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
24886 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
24887 __Pyx_GIVEREF(__pyx_v_cb);
24888 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__24888; goto __pyx_L1_error;}
24889 __Pyx_GOTREF(__pyx_t_3);
24890 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
24891 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__24891; goto __pyx_L1_error;}
24892 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
24893 __pyx_t_3 = 0;
24894 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
24895 goto __pyx_L0;
24896 }
24897 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
24898 }
24899
24900 /* "xmmsapi.pyx":1197
24901 * @rtype: L{XmmsResult}(UInt)
24902 * """
24903 * return self.create_result(cb, xmmsc_signal_playback_playtime(self.conn)) # <<<<<<<<<<<<<<
24904 *
24905 * cpdef XmmsResult playback_volume_set(self, channel, int volume, cb = None):
24906 */
24907 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
24908 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_signal_playback_playtime(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1197; __pyx_clineno = __LINE__24908; goto __pyx_L1_error;}
24909 __Pyx_GOTREF(__pyx_t_1);
24910 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
24911 __pyx_t_1 = 0;
24912 goto __pyx_L0;
24913
24914 /* "xmmsapi.pyx":1191
24915 * return self.create_result(cb, xmmsc_playback_playtime(self.conn))
24916 *
24917 * cpdef XmmsResult signal_playback_playtime(self, cb = None): # <<<<<<<<<<<<<<
24918 * """
24919 * Set a method to handle the playback playtime signal from the
24920 */
24921
24922 /* function exit code */
24923 __pyx_L1_error:;
24924 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
24925 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
24926 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
24927 __Pyx_AddTraceback("xmmsapi.XmmsApi.signal_playback_playtime", __pyx_clineno, __pyx_lineno, __pyx_filename);
24928 __pyx_r = 0;
24929 __pyx_L0:;
24930 __Pyx_XGIVEREF((PyObject *)__pyx_r);
24931 __Pyx_RefNannyFinishContext();
24932 return __pyx_r;
24933}
24934
24935/* Python wrapper */
24936static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_29signal_playback_playtime(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
24937static char __pyx_doc_7xmmsapi_7XmmsApi_28signal_playback_playtime[] = "XmmsApi.signal_playback_playtime(self, cb=None) -> XmmsResult\n\n\t\tSet a method to handle the playback playtime signal from the\n\t\tXMMS2 daemon.\n\t\t@rtype: L{XmmsResult}(UInt)\n\t\t";
24938static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_29signal_playback_playtime(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
24939 PyObject *__pyx_v_cb = 0;
24940 int __pyx_lineno = 0;
24941 const char *__pyx_filename = NULL((void*)0);
24942 int __pyx_clineno = 0;
24943 PyObject *__pyx_r = 0;
24944 __Pyx_RefNannyDeclarations
24945 __Pyx_RefNannySetupContext("signal_playback_playtime (wrapper)", 0);
24946 {
24947 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
24948 PyObject* values[1] = {0};
24949 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
24950 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
24951 Py_ssize_t kw_args;
24952 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
24953 switch (pos_args) {
24954 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
24955 case 0: break;
24956 default: goto __pyx_L5_argtuple_error;
24957 }
24958 kw_args = PyDict_Size(__pyx_kwds);
24959 switch (pos_args) {
24960 case 0:
24961 if (kw_args > 0) {
24962 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
24963 if (value) { values[0] = value; kw_args--; }
24964 }
24965 }
24966 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
24967 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "signal_playback_playtime") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "signal_playback_playtime") < 0), 0
)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__24967; goto __pyx_L3_error;}
24968 }
24969 } else {
24970 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
24971 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
24972 case 0: break;
24973 default: goto __pyx_L5_argtuple_error;
24974 }
24975 }
24976 __pyx_v_cb = values[0];
24977 }
24978 goto __pyx_L4_argument_unpacking_done;
24979 __pyx_L5_argtuple_error:;
24980 __Pyx_RaiseArgtupleInvalid("signal_playback_playtime", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__24980; goto __pyx_L3_error;}
24981 __pyx_L3_error:;
24982 __Pyx_AddTraceback("xmmsapi.XmmsApi.signal_playback_playtime", __pyx_clineno, __pyx_lineno, __pyx_filename);
24983 __Pyx_RefNannyFinishContext();
24984 return NULL((void*)0);
24985 __pyx_L4_argument_unpacking_done:;
24986 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_28signal_playback_playtime(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
24987
24988 /* function exit code */
24989 __Pyx_RefNannyFinishContext();
24990 return __pyx_r;
24991}
24992
24993static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_28signal_playback_playtime(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
24994 PyObject *__pyx_r = NULL((void*)0);
24995 __Pyx_RefNannyDeclarations
24996 PyObject *__pyx_t_1 = NULL((void*)0);
24997 struct __pyx_opt_args_7xmmsapi_7XmmsApi_signal_playback_playtime __pyx_t_2;
24998 int __pyx_lineno = 0;
24999 const char *__pyx_filename = NULL((void*)0);
25000 int __pyx_clineno = 0;
25001 __Pyx_RefNannySetupContext("signal_playback_playtime", 0);
25002 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
25003 __pyx_t_2.__pyx_n = 1;
25004 __pyx_t_2.cb = __pyx_v_cb;
25005 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->signal_playback_playtime(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__25005; goto __pyx_L1_error;}
25006 __Pyx_GOTREF(__pyx_t_1);
25007 __pyx_r = __pyx_t_1;
25008 __pyx_t_1 = 0;
25009 goto __pyx_L0;
25010
25011 /* function exit code */
25012 __pyx_L1_error:;
25013 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
25014 __Pyx_AddTraceback("xmmsapi.XmmsApi.signal_playback_playtime", __pyx_clineno, __pyx_lineno, __pyx_filename);
25015 __pyx_r = NULL((void*)0);
25016 __pyx_L0:;
25017 __Pyx_XGIVEREF(__pyx_r);
25018 __Pyx_RefNannyFinishContext();
25019 return __pyx_r;
25020}
25021
25022/* "xmmsapi.pyx":1199
25023 * return self.create_result(cb, xmmsc_signal_playback_playtime(self.conn))
25024 *
25025 * cpdef XmmsResult playback_volume_set(self, channel, int volume, cb = None): # <<<<<<<<<<<<<<
25026 * """
25027 * Set the playback volume for specified channel
25028 */
25029
25030static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_31playback_volume_set(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
25031static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playback_volume_set(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_channel, int __pyx_v_volume, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_volume_set *__pyx_optional_args) {
25032 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
25033 PyObject *__pyx_v_c = NULL((void*)0);
25034 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
25035 __Pyx_RefNannyDeclarations
25036 PyObject *__pyx_t_1 = NULL((void*)0);
25037 PyObject *__pyx_t_2 = NULL((void*)0);
25038 PyObject *__pyx_t_3 = NULL((void*)0);
25039 char *__pyx_t_4;
25040 int __pyx_lineno = 0;
25041 const char *__pyx_filename = NULL((void*)0);
25042 int __pyx_clineno = 0;
25043 __Pyx_RefNannySetupContext("playback_volume_set", 0);
25044 if (__pyx_optional_args) {
25045 if (__pyx_optional_args->__pyx_n > 0) {
25046 __pyx_v_cb = __pyx_optional_args->cb;
25047 }
25048 }
25049 /* Check if called by wrapper */
25050 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
25051 /* Check if overridden in Python */
25052 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
25053 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playback_volume_set); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__25053; goto __pyx_L1_error;}
25054 __Pyx_GOTREF(__pyx_t_1);
25055 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_31playback_volume_set)) {
25056 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
25057 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_volume); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__25057; goto __pyx_L1_error;}
25058 __Pyx_GOTREF(__pyx_t_2);
25059 __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__25059; goto __pyx_L1_error;}
25060 __Pyx_GOTREF(__pyx_t_3);
25061 __Pyx_INCREF(__pyx_v_channel)( ((PyObject*)(__pyx_v_channel))->ob_refcnt++);
25062 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_channel)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_v_channel
)
;
25063 __Pyx_GIVEREF(__pyx_v_channel);
25064 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_t_2);
25065 __Pyx_GIVEREF(__pyx_t_2);
25066 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
25067 PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_3))->ob_item[2] = __pyx_v_cb);
25068 __Pyx_GIVEREF(__pyx_v_cb);
25069 __pyx_t_2 = 0;
25070 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__25070; goto __pyx_L1_error;}
25071 __Pyx_GOTREF(__pyx_t_2);
25072 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
25073 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_2) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__25073; goto __pyx_L1_error;}
25074 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_2);
25075 __pyx_t_2 = 0;
25076 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
25077 goto __pyx_L0;
25078 }
25079 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
25080 }
25081
25082 /* "xmmsapi.pyx":1204
25083 * @rtype: L{XmmsResult}(UInt)
25084 * """
25085 * c = from_unicode(channel) # <<<<<<<<<<<<<<
25086 * return self.create_result(cb, xmmsc_playback_volume_set(self.conn, c, volume))
25087 *
25088 */
25089 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_channel); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__25089; goto __pyx_L1_error;}
25090 __Pyx_GOTREF(__pyx_t_1);
25091 __pyx_v_c = __pyx_t_1;
25092 __pyx_t_1 = 0;
25093
25094 /* "xmmsapi.pyx":1205
25095 * """
25096 * c = from_unicode(channel)
25097 * return self.create_result(cb, xmmsc_playback_volume_set(self.conn, c, volume)) # <<<<<<<<<<<<<<
25098 *
25099 * cpdef XmmsResult playback_volume_get(self, cb = None):
25100 */
25101 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
25102 __pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_c); if (unlikely((!__pyx_t_4) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_4) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__25102; goto __pyx_L1_error;}
25103 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_playback_volume_set(__pyx_v_self->__pyx_base.conn, __pyx_t_4, __pyx_v_volume))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__25103; goto __pyx_L1_error;}
25104 __Pyx_GOTREF(__pyx_t_1);
25105 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
25106 __pyx_t_1 = 0;
25107 goto __pyx_L0;
25108
25109 /* "xmmsapi.pyx":1199
25110 * return self.create_result(cb, xmmsc_signal_playback_playtime(self.conn))
25111 *
25112 * cpdef XmmsResult playback_volume_set(self, channel, int volume, cb = None): # <<<<<<<<<<<<<<
25113 * """
25114 * Set the playback volume for specified channel
25115 */
25116
25117 /* function exit code */
25118 __pyx_L1_error:;
25119 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
25120 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
25121 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
25122 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_volume_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
25123 __pyx_r = 0;
25124 __pyx_L0:;
25125 __Pyx_XDECREF(__pyx_v_c)do { if ((__pyx_v_c) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_c))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_c)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_c)))); } while (0); } while (0)
;
25126 __Pyx_XGIVEREF((PyObject *)__pyx_r);
25127 __Pyx_RefNannyFinishContext();
25128 return __pyx_r;
25129}
25130
25131/* Python wrapper */
25132static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_31playback_volume_set(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
25133static char __pyx_doc_7xmmsapi_7XmmsApi_30playback_volume_set[] = "XmmsApi.playback_volume_set(self, channel, int volume, cb=None) -> XmmsResult\n\n\t\tSet the playback volume for specified channel\n\t\t@rtype: L{XmmsResult}(UInt)\n\t\t";
25134static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_31playback_volume_set(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
25135 PyObject *__pyx_v_channel = 0;
25136 int __pyx_v_volume;
25137 PyObject *__pyx_v_cb = 0;
25138 int __pyx_lineno = 0;
25139 const char *__pyx_filename = NULL((void*)0);
25140 int __pyx_clineno = 0;
25141 PyObject *__pyx_r = 0;
25142 __Pyx_RefNannyDeclarations
25143 __Pyx_RefNannySetupContext("playback_volume_set (wrapper)", 0);
25144 {
25145 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_channel,&__pyx_n_s_volume,&__pyx_n_s_cb,0};
25146 PyObject* values[3] = {0,0,0};
25147 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
25148 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
25149 Py_ssize_t kw_args;
25150 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
25151 switch (pos_args) {
25152 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
25153 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
25154 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
25155 case 0: break;
25156 default: goto __pyx_L5_argtuple_error;
25157 }
25158 kw_args = PyDict_Size(__pyx_kwds);
25159 switch (pos_args) {
25160 case 0:
25161 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_channel)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_channel
)) != 0), 1)
) kw_args--;
25162 else goto __pyx_L5_argtuple_error;
25163 case 1:
25164 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_volume)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_volume
)) != 0), 1)
) kw_args--;
25165 else {
25166 __Pyx_RaiseArgtupleInvalid("playback_volume_set", 0, 2, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__25166; goto __pyx_L3_error;}
25167 }
25168 case 2:
25169 if (kw_args > 0) {
25170 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
25171 if (value) { values[2] = value; kw_args--; }
25172 }
25173 }
25174 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
25175 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playback_volume_set") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playback_volume_set") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__25175; goto __pyx_L3_error;}
25176 }
25177 } else {
25178 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
25179 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
25180 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
25181 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
25182 break;
25183 default: goto __pyx_L5_argtuple_error;
25184 }
25185 }
25186 __pyx_v_channel = values[0];
25187 __pyx_v_volume = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_volume == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_volume == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__25187; goto __pyx_L3_error;}
25188 __pyx_v_cb = values[2];
25189 }
25190 goto __pyx_L4_argument_unpacking_done;
25191 __pyx_L5_argtuple_error:;
25192 __Pyx_RaiseArgtupleInvalid("playback_volume_set", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__25192; goto __pyx_L3_error;}
25193 __pyx_L3_error:;
25194 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_volume_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
25195 __Pyx_RefNannyFinishContext();
25196 return NULL((void*)0);
25197 __pyx_L4_argument_unpacking_done:;
25198 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_30playback_volume_set(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_channel, __pyx_v_volume, __pyx_v_cb);
25199
25200 /* function exit code */
25201 __Pyx_RefNannyFinishContext();
25202 return __pyx_r;
25203}
25204
25205static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_30playback_volume_set(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_channel, int __pyx_v_volume, PyObject *__pyx_v_cb) {
25206 PyObject *__pyx_r = NULL((void*)0);
25207 __Pyx_RefNannyDeclarations
25208 PyObject *__pyx_t_1 = NULL((void*)0);
25209 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_volume_set __pyx_t_2;
25210 int __pyx_lineno = 0;
25211 const char *__pyx_filename = NULL((void*)0);
25212 int __pyx_clineno = 0;
25213 __Pyx_RefNannySetupContext("playback_volume_set", 0);
25214 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
25215 __pyx_t_2.__pyx_n = 1;
25216 __pyx_t_2.cb = __pyx_v_cb;
25217 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playback_volume_set(__pyx_v_self, __pyx_v_channel, __pyx_v_volume, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__25217; goto __pyx_L1_error;}
25218 __Pyx_GOTREF(__pyx_t_1);
25219 __pyx_r = __pyx_t_1;
25220 __pyx_t_1 = 0;
25221 goto __pyx_L0;
25222
25223 /* function exit code */
25224 __pyx_L1_error:;
25225 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
25226 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_volume_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
25227 __pyx_r = NULL((void*)0);
25228 __pyx_L0:;
25229 __Pyx_XGIVEREF(__pyx_r);
25230 __Pyx_RefNannyFinishContext();
25231 return __pyx_r;
25232}
25233
25234/* "xmmsapi.pyx":1207
25235 * return self.create_result(cb, xmmsc_playback_volume_set(self.conn, c, volume))
25236 *
25237 * cpdef XmmsResult playback_volume_get(self, cb = None): # <<<<<<<<<<<<<<
25238 * """
25239 * Get the playback for all channels
25240 */
25241
25242static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_33playback_volume_get(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
25243static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playback_volume_get(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_volume_get *__pyx_optional_args) {
25244 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
25245 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
25246 __Pyx_RefNannyDeclarations
25247 PyObject *__pyx_t_1 = NULL((void*)0);
25248 PyObject *__pyx_t_2 = NULL((void*)0);
25249 PyObject *__pyx_t_3 = NULL((void*)0);
25250 int __pyx_lineno = 0;
25251 const char *__pyx_filename = NULL((void*)0);
25252 int __pyx_clineno = 0;
25253 __Pyx_RefNannySetupContext("playback_volume_get", 0);
25254 if (__pyx_optional_args) {
25255 if (__pyx_optional_args->__pyx_n > 0) {
25256 __pyx_v_cb = __pyx_optional_args->cb;
25257 }
25258 }
25259 /* Check if called by wrapper */
25260 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
25261 /* Check if overridden in Python */
25262 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
25263 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playback_volume_get); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1207; __pyx_clineno = __LINE__25263; goto __pyx_L1_error;}
25264 __Pyx_GOTREF(__pyx_t_1);
25265 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_33playback_volume_get)) {
25266 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
25267 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1207; __pyx_clineno = __LINE__25267; goto __pyx_L1_error;}
25268 __Pyx_GOTREF(__pyx_t_2);
25269 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
25270 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
25271 __Pyx_GIVEREF(__pyx_v_cb);
25272 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1207; __pyx_clineno = __LINE__25272; goto __pyx_L1_error;}
25273 __Pyx_GOTREF(__pyx_t_3);
25274 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
25275 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1207; __pyx_clineno = __LINE__25275; goto __pyx_L1_error;}
25276 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
25277 __pyx_t_3 = 0;
25278 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
25279 goto __pyx_L0;
25280 }
25281 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
25282 }
25283
25284 /* "xmmsapi.pyx":1212
25285 * @rtype: L{XmmsResult}(UInt)
25286 * """
25287 * return self.create_result(cb, xmmsc_playback_volume_get(self.conn)) # <<<<<<<<<<<<<<
25288 *
25289 * cpdef XmmsResult broadcast_playback_volume_changed(self, cb = None):
25290 */
25291 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
25292 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_playback_volume_get(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__25292; goto __pyx_L1_error;}
25293 __Pyx_GOTREF(__pyx_t_1);
25294 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
25295 __pyx_t_1 = 0;
25296 goto __pyx_L0;
25297
25298 /* "xmmsapi.pyx":1207
25299 * return self.create_result(cb, xmmsc_playback_volume_set(self.conn, c, volume))
25300 *
25301 * cpdef XmmsResult playback_volume_get(self, cb = None): # <<<<<<<<<<<<<<
25302 * """
25303 * Get the playback for all channels
25304 */
25305
25306 /* function exit code */
25307 __pyx_L1_error:;
25308 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
25309 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
25310 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
25311 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_volume_get", __pyx_clineno, __pyx_lineno, __pyx_filename);
25312 __pyx_r = 0;
25313 __pyx_L0:;
25314 __Pyx_XGIVEREF((PyObject *)__pyx_r);
25315 __Pyx_RefNannyFinishContext();
25316 return __pyx_r;
25317}
25318
25319/* Python wrapper */
25320static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_33playback_volume_get(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
25321static char __pyx_doc_7xmmsapi_7XmmsApi_32playback_volume_get[] = "XmmsApi.playback_volume_get(self, cb=None) -> XmmsResult\n\n\t\tGet the playback for all channels\n\t\t@rtype: L{XmmsResult}(UInt)\n\t\t";
25322static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_33playback_volume_get(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
25323 PyObject *__pyx_v_cb = 0;
25324 int __pyx_lineno = 0;
25325 const char *__pyx_filename = NULL((void*)0);
25326 int __pyx_clineno = 0;
25327 PyObject *__pyx_r = 0;
25328 __Pyx_RefNannyDeclarations
25329 __Pyx_RefNannySetupContext("playback_volume_get (wrapper)", 0);
25330 {
25331 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
25332 PyObject* values[1] = {0};
25333 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
25334 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
25335 Py_ssize_t kw_args;
25336 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
25337 switch (pos_args) {
25338 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
25339 case 0: break;
25340 default: goto __pyx_L5_argtuple_error;
25341 }
25342 kw_args = PyDict_Size(__pyx_kwds);
25343 switch (pos_args) {
25344 case 0:
25345 if (kw_args > 0) {
25346 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
25347 if (value) { values[0] = value; kw_args--; }
25348 }
25349 }
25350 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
25351 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playback_volume_get") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playback_volume_get") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1207; __pyx_clineno = __LINE__25351; goto __pyx_L3_error;}
25352 }
25353 } else {
25354 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
25355 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
25356 case 0: break;
25357 default: goto __pyx_L5_argtuple_error;
25358 }
25359 }
25360 __pyx_v_cb = values[0];
25361 }
25362 goto __pyx_L4_argument_unpacking_done;
25363 __pyx_L5_argtuple_error:;
25364 __Pyx_RaiseArgtupleInvalid("playback_volume_get", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1207; __pyx_clineno = __LINE__25364; goto __pyx_L3_error;}
25365 __pyx_L3_error:;
25366 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_volume_get", __pyx_clineno, __pyx_lineno, __pyx_filename);
25367 __Pyx_RefNannyFinishContext();
25368 return NULL((void*)0);
25369 __pyx_L4_argument_unpacking_done:;
25370 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_32playback_volume_get(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
25371
25372 /* function exit code */
25373 __Pyx_RefNannyFinishContext();
25374 return __pyx_r;
25375}
25376
25377static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_32playback_volume_get(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
25378 PyObject *__pyx_r = NULL((void*)0);
25379 __Pyx_RefNannyDeclarations
25380 PyObject *__pyx_t_1 = NULL((void*)0);
25381 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_volume_get __pyx_t_2;
25382 int __pyx_lineno = 0;
25383 const char *__pyx_filename = NULL((void*)0);
25384 int __pyx_clineno = 0;
25385 __Pyx_RefNannySetupContext("playback_volume_get", 0);
25386 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
25387 __pyx_t_2.__pyx_n = 1;
25388 __pyx_t_2.cb = __pyx_v_cb;
25389 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playback_volume_get(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1207; __pyx_clineno = __LINE__25389; goto __pyx_L1_error;}
25390 __Pyx_GOTREF(__pyx_t_1);
25391 __pyx_r = __pyx_t_1;
25392 __pyx_t_1 = 0;
25393 goto __pyx_L0;
25394
25395 /* function exit code */
25396 __pyx_L1_error:;
25397 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
25398 __Pyx_AddTraceback("xmmsapi.XmmsApi.playback_volume_get", __pyx_clineno, __pyx_lineno, __pyx_filename);
25399 __pyx_r = NULL((void*)0);
25400 __pyx_L0:;
25401 __Pyx_XGIVEREF(__pyx_r);
25402 __Pyx_RefNannyFinishContext();
25403 return __pyx_r;
25404}
25405
25406/* "xmmsapi.pyx":1214
25407 * return self.create_result(cb, xmmsc_playback_volume_get(self.conn))
25408 *
25409 * cpdef XmmsResult broadcast_playback_volume_changed(self, cb = None): # <<<<<<<<<<<<<<
25410 * """
25411 * Set a broadcast callback for volume updates
25412 */
25413
25414static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_35broadcast_playback_volume_changed(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
25415static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_broadcast_playback_volume_changed(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playback_volume_changed *__pyx_optional_args) {
25416 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
25417 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
25418 __Pyx_RefNannyDeclarations
25419 PyObject *__pyx_t_1 = NULL((void*)0);
25420 PyObject *__pyx_t_2 = NULL((void*)0);
25421 PyObject *__pyx_t_3 = NULL((void*)0);
25422 int __pyx_lineno = 0;
25423 const char *__pyx_filename = NULL((void*)0);
25424 int __pyx_clineno = 0;
25425 __Pyx_RefNannySetupContext("broadcast_playback_volume_changed", 0);
25426 if (__pyx_optional_args) {
25427 if (__pyx_optional_args->__pyx_n > 0) {
25428 __pyx_v_cb = __pyx_optional_args->cb;
25429 }
25430 }
25431 /* Check if called by wrapper */
25432 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
25433 /* Check if overridden in Python */
25434 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
25435 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_broadcast_playback_volume_change); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__25435; goto __pyx_L1_error;}
25436 __Pyx_GOTREF(__pyx_t_1);
25437 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_35broadcast_playback_volume_changed)) {
25438 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
25439 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__25439; goto __pyx_L1_error;}
25440 __Pyx_GOTREF(__pyx_t_2);
25441 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
25442 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
25443 __Pyx_GIVEREF(__pyx_v_cb);
25444 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__25444; goto __pyx_L1_error;}
25445 __Pyx_GOTREF(__pyx_t_3);
25446 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
25447 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__25447; goto __pyx_L1_error;}
25448 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
25449 __pyx_t_3 = 0;
25450 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
25451 goto __pyx_L0;
25452 }
25453 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
25454 }
25455
25456 /* "xmmsapi.pyx":1219
25457 * @rtype: L{XmmsResult}(UInt)
25458 * """
25459 * return self.create_result(cb, xmmsc_broadcast_playback_volume_changed(self.conn)) # <<<<<<<<<<<<<<
25460 *
25461 * cpdef XmmsResult broadcast_playlist_loaded(self, cb = None):
25462 */
25463 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
25464 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_broadcast_playback_volume_changed(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1219; __pyx_clineno = __LINE__25464; goto __pyx_L1_error;}
25465 __Pyx_GOTREF(__pyx_t_1);
25466 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
25467 __pyx_t_1 = 0;
25468 goto __pyx_L0;
25469
25470 /* "xmmsapi.pyx":1214
25471 * return self.create_result(cb, xmmsc_playback_volume_get(self.conn))
25472 *
25473 * cpdef XmmsResult broadcast_playback_volume_changed(self, cb = None): # <<<<<<<<<<<<<<
25474 * """
25475 * Set a broadcast callback for volume updates
25476 */
25477
25478 /* function exit code */
25479 __pyx_L1_error:;
25480 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
25481 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
25482 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
25483 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_playback_volume_changed", __pyx_clineno, __pyx_lineno, __pyx_filename);
25484 __pyx_r = 0;
25485 __pyx_L0:;
25486 __Pyx_XGIVEREF((PyObject *)__pyx_r);
25487 __Pyx_RefNannyFinishContext();
25488 return __pyx_r;
25489}
25490
25491/* Python wrapper */
25492static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_35broadcast_playback_volume_changed(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
25493static char __pyx_doc_7xmmsapi_7XmmsApi_34broadcast_playback_volume_changed[] = "XmmsApi.broadcast_playback_volume_changed(self, cb=None) -> XmmsResult\n\n\t\tSet a broadcast callback for volume updates\n\t\t@rtype: L{XmmsResult}(UInt)\n\t\t";
25494static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_35broadcast_playback_volume_changed(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
25495 PyObject *__pyx_v_cb = 0;
25496 int __pyx_lineno = 0;
25497 const char *__pyx_filename = NULL((void*)0);
25498 int __pyx_clineno = 0;
25499 PyObject *__pyx_r = 0;
25500 __Pyx_RefNannyDeclarations
25501 __Pyx_RefNannySetupContext("broadcast_playback_volume_changed (wrapper)", 0);
25502 {
25503 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
25504 PyObject* values[1] = {0};
25505 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
25506 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
25507 Py_ssize_t kw_args;
25508 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
25509 switch (pos_args) {
25510 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
25511 case 0: break;
25512 default: goto __pyx_L5_argtuple_error;
25513 }
25514 kw_args = PyDict_Size(__pyx_kwds);
25515 switch (pos_args) {
25516 case 0:
25517 if (kw_args > 0) {
25518 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
25519 if (value) { values[0] = value; kw_args--; }
25520 }
25521 }
25522 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
25523 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "broadcast_playback_volume_changed") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "broadcast_playback_volume_changed") <
0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__25523; goto __pyx_L3_error;}
25524 }
25525 } else {
25526 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
25527 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
25528 case 0: break;
25529 default: goto __pyx_L5_argtuple_error;
25530 }
25531 }
25532 __pyx_v_cb = values[0];
25533 }
25534 goto __pyx_L4_argument_unpacking_done;
25535 __pyx_L5_argtuple_error:;
25536 __Pyx_RaiseArgtupleInvalid("broadcast_playback_volume_changed", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__25536; goto __pyx_L3_error;}
25537 __pyx_L3_error:;
25538 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_playback_volume_changed", __pyx_clineno, __pyx_lineno, __pyx_filename);
25539 __Pyx_RefNannyFinishContext();
25540 return NULL((void*)0);
25541 __pyx_L4_argument_unpacking_done:;
25542 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_34broadcast_playback_volume_changed(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
25543
25544 /* function exit code */
25545 __Pyx_RefNannyFinishContext();
25546 return __pyx_r;
25547}
25548
25549static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_34broadcast_playback_volume_changed(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
25550 PyObject *__pyx_r = NULL((void*)0);
25551 __Pyx_RefNannyDeclarations
25552 PyObject *__pyx_t_1 = NULL((void*)0);
25553 struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playback_volume_changed __pyx_t_2;
25554 int __pyx_lineno = 0;
25555 const char *__pyx_filename = NULL((void*)0);
25556 int __pyx_clineno = 0;
25557 __Pyx_RefNannySetupContext("broadcast_playback_volume_changed", 0);
25558 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
25559 __pyx_t_2.__pyx_n = 1;
25560 __pyx_t_2.cb = __pyx_v_cb;
25561 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->broadcast_playback_volume_changed(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1214; __pyx_clineno = __LINE__25561; goto __pyx_L1_error;}
25562 __Pyx_GOTREF(__pyx_t_1);
25563 __pyx_r = __pyx_t_1;
25564 __pyx_t_1 = 0;
25565 goto __pyx_L0;
25566
25567 /* function exit code */
25568 __pyx_L1_error:;
25569 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
25570 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_playback_volume_changed", __pyx_clineno, __pyx_lineno, __pyx_filename);
25571 __pyx_r = NULL((void*)0);
25572 __pyx_L0:;
25573 __Pyx_XGIVEREF(__pyx_r);
25574 __Pyx_RefNannyFinishContext();
25575 return __pyx_r;
25576}
25577
25578/* "xmmsapi.pyx":1221
25579 * return self.create_result(cb, xmmsc_broadcast_playback_volume_changed(self.conn))
25580 *
25581 * cpdef XmmsResult broadcast_playlist_loaded(self, cb = None): # <<<<<<<<<<<<<<
25582 * """
25583 * Set a broadcast callback for loaded playlist event
25584 */
25585
25586static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_37broadcast_playlist_loaded(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
25587static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_broadcast_playlist_loaded(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playlist_loaded *__pyx_optional_args) {
25588 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
25589 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
25590 __Pyx_RefNannyDeclarations
25591 PyObject *__pyx_t_1 = NULL((void*)0);
25592 PyObject *__pyx_t_2 = NULL((void*)0);
25593 PyObject *__pyx_t_3 = NULL((void*)0);
25594 int __pyx_lineno = 0;
25595 const char *__pyx_filename = NULL((void*)0);
25596 int __pyx_clineno = 0;
25597 __Pyx_RefNannySetupContext("broadcast_playlist_loaded", 0);
25598 if (__pyx_optional_args) {
25599 if (__pyx_optional_args->__pyx_n > 0) {
25600 __pyx_v_cb = __pyx_optional_args->cb;
25601 }
25602 }
25603 /* Check if called by wrapper */
25604 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
25605 /* Check if overridden in Python */
25606 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
25607 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_broadcast_playlist_loaded); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1221; __pyx_clineno = __LINE__25607; goto __pyx_L1_error;}
25608 __Pyx_GOTREF(__pyx_t_1);
25609 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_37broadcast_playlist_loaded)) {
25610 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
25611 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1221; __pyx_clineno = __LINE__25611; goto __pyx_L1_error;}
25612 __Pyx_GOTREF(__pyx_t_2);
25613 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
25614 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
25615 __Pyx_GIVEREF(__pyx_v_cb);
25616 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1221; __pyx_clineno = __LINE__25616; goto __pyx_L1_error;}
25617 __Pyx_GOTREF(__pyx_t_3);
25618 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
25619 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1221; __pyx_clineno = __LINE__25619; goto __pyx_L1_error;}
25620 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
25621 __pyx_t_3 = 0;
25622 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
25623 goto __pyx_L0;
25624 }
25625 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
25626 }
25627
25628 /* "xmmsapi.pyx":1226
25629 * @rtype: L{XmmsResult}(UInt)
25630 * """
25631 * return self.create_result(cb, xmmsc_broadcast_playlist_loaded(self.conn)) # <<<<<<<<<<<<<<
25632 *
25633 * cpdef XmmsResult playlist_load(self, playlist, cb = None):
25634 */
25635 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
25636 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_broadcast_playlist_loaded(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__25636; goto __pyx_L1_error;}
25637 __Pyx_GOTREF(__pyx_t_1);
25638 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
25639 __pyx_t_1 = 0;
25640 goto __pyx_L0;
25641
25642 /* "xmmsapi.pyx":1221
25643 * return self.create_result(cb, xmmsc_broadcast_playback_volume_changed(self.conn))
25644 *
25645 * cpdef XmmsResult broadcast_playlist_loaded(self, cb = None): # <<<<<<<<<<<<<<
25646 * """
25647 * Set a broadcast callback for loaded playlist event
25648 */
25649
25650 /* function exit code */
25651 __pyx_L1_error:;
25652 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
25653 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
25654 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
25655 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_playlist_loaded", __pyx_clineno, __pyx_lineno, __pyx_filename);
25656 __pyx_r = 0;
25657 __pyx_L0:;
25658 __Pyx_XGIVEREF((PyObject *)__pyx_r);
25659 __Pyx_RefNannyFinishContext();
25660 return __pyx_r;
25661}
25662
25663/* Python wrapper */
25664static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_37broadcast_playlist_loaded(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
25665static char __pyx_doc_7xmmsapi_7XmmsApi_36broadcast_playlist_loaded[] = "XmmsApi.broadcast_playlist_loaded(self, cb=None) -> XmmsResult\n\n\t\tSet a broadcast callback for loaded playlist event\n\t\t@rtype: L{XmmsResult}(UInt)\n\t\t";
25666static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_37broadcast_playlist_loaded(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
25667 PyObject *__pyx_v_cb = 0;
25668 int __pyx_lineno = 0;
25669 const char *__pyx_filename = NULL((void*)0);
25670 int __pyx_clineno = 0;
25671 PyObject *__pyx_r = 0;
25672 __Pyx_RefNannyDeclarations
25673 __Pyx_RefNannySetupContext("broadcast_playlist_loaded (wrapper)", 0);
25674 {
25675 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
25676 PyObject* values[1] = {0};
25677 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
25678 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
25679 Py_ssize_t kw_args;
25680 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
25681 switch (pos_args) {
25682 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
25683 case 0: break;
25684 default: goto __pyx_L5_argtuple_error;
25685 }
25686 kw_args = PyDict_Size(__pyx_kwds);
25687 switch (pos_args) {
25688 case 0:
25689 if (kw_args > 0) {
25690 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
25691 if (value) { values[0] = value; kw_args--; }
25692 }
25693 }
25694 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
25695 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "broadcast_playlist_loaded") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "broadcast_playlist_loaded") < 0), 0
)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1221; __pyx_clineno = __LINE__25695; goto __pyx_L3_error;}
25696 }
25697 } else {
25698 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
25699 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
25700 case 0: break;
25701 default: goto __pyx_L5_argtuple_error;
25702 }
25703 }
25704 __pyx_v_cb = values[0];
25705 }
25706 goto __pyx_L4_argument_unpacking_done;
25707 __pyx_L5_argtuple_error:;
25708 __Pyx_RaiseArgtupleInvalid("broadcast_playlist_loaded", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1221; __pyx_clineno = __LINE__25708; goto __pyx_L3_error;}
25709 __pyx_L3_error:;
25710 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_playlist_loaded", __pyx_clineno, __pyx_lineno, __pyx_filename);
25711 __Pyx_RefNannyFinishContext();
25712 return NULL((void*)0);
25713 __pyx_L4_argument_unpacking_done:;
25714 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_36broadcast_playlist_loaded(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
25715
25716 /* function exit code */
25717 __Pyx_RefNannyFinishContext();
25718 return __pyx_r;
25719}
25720
25721static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_36broadcast_playlist_loaded(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
25722 PyObject *__pyx_r = NULL((void*)0);
25723 __Pyx_RefNannyDeclarations
25724 PyObject *__pyx_t_1 = NULL((void*)0);
25725 struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playlist_loaded __pyx_t_2;
25726 int __pyx_lineno = 0;
25727 const char *__pyx_filename = NULL((void*)0);
25728 int __pyx_clineno = 0;
25729 __Pyx_RefNannySetupContext("broadcast_playlist_loaded", 0);
25730 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
25731 __pyx_t_2.__pyx_n = 1;
25732 __pyx_t_2.cb = __pyx_v_cb;
25733 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->broadcast_playlist_loaded(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1221; __pyx_clineno = __LINE__25733; goto __pyx_L1_error;}
25734 __Pyx_GOTREF(__pyx_t_1);
25735 __pyx_r = __pyx_t_1;
25736 __pyx_t_1 = 0;
25737 goto __pyx_L0;
25738
25739 /* function exit code */
25740 __pyx_L1_error:;
25741 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
25742 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_playlist_loaded", __pyx_clineno, __pyx_lineno, __pyx_filename);
25743 __pyx_r = NULL((void*)0);
25744 __pyx_L0:;
25745 __Pyx_XGIVEREF(__pyx_r);
25746 __Pyx_RefNannyFinishContext();
25747 return __pyx_r;
25748}
25749
25750/* "xmmsapi.pyx":1228
25751 * return self.create_result(cb, xmmsc_broadcast_playlist_loaded(self.conn))
25752 *
25753 * cpdef XmmsResult playlist_load(self, playlist, cb = None): # <<<<<<<<<<<<<<
25754 * """
25755 * Load the playlist as current playlist
25756 */
25757
25758static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_39playlist_load(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
25759static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playlist_load(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_playlist, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_load *__pyx_optional_args) {
25760 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
25761 PyObject *__pyx_v_p = NULL((void*)0);
25762 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
25763 __Pyx_RefNannyDeclarations
25764 PyObject *__pyx_t_1 = NULL((void*)0);
25765 PyObject *__pyx_t_2 = NULL((void*)0);
25766 PyObject *__pyx_t_3 = NULL((void*)0);
25767 char *__pyx_t_4;
25768 int __pyx_lineno = 0;
25769 const char *__pyx_filename = NULL((void*)0);
25770 int __pyx_clineno = 0;
25771 __Pyx_RefNannySetupContext("playlist_load", 0);
25772 if (__pyx_optional_args) {
25773 if (__pyx_optional_args->__pyx_n > 0) {
25774 __pyx_v_cb = __pyx_optional_args->cb;
25775 }
25776 }
25777 /* Check if called by wrapper */
25778 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
25779 /* Check if overridden in Python */
25780 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
25781 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playlist_load); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; __pyx_clineno = __LINE__25781; goto __pyx_L1_error;}
25782 __Pyx_GOTREF(__pyx_t_1);
25783 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_39playlist_load)) {
25784 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
25785 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; __pyx_clineno = __LINE__25785; goto __pyx_L1_error;}
25786 __Pyx_GOTREF(__pyx_t_2);
25787 __Pyx_INCREF(__pyx_v_playlist)( ((PyObject*)(__pyx_v_playlist))->ob_refcnt++);
25788 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_playlist)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_playlist
)
;
25789 __Pyx_GIVEREF(__pyx_v_playlist);
25790 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
25791 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_cb);
25792 __Pyx_GIVEREF(__pyx_v_cb);
25793 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; __pyx_clineno = __LINE__25793; goto __pyx_L1_error;}
25794 __Pyx_GOTREF(__pyx_t_3);
25795 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
25796 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; __pyx_clineno = __LINE__25796; goto __pyx_L1_error;}
25797 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
25798 __pyx_t_3 = 0;
25799 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
25800 goto __pyx_L0;
25801 }
25802 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
25803 }
25804
25805 /* "xmmsapi.pyx":1234
25806 * @return: The result of the operation.
25807 * """
25808 * p = check_playlist(playlist, False) # <<<<<<<<<<<<<<
25809 * return self.create_result(cb, xmmsc_playlist_load(self.conn, <char *>p))
25810 *
25811 */
25812 __pyx_t_1 = __pyx_f_7xmmsapi_check_playlist(__pyx_v_playlist, 0); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__25812; goto __pyx_L1_error;}
25813 __Pyx_GOTREF(__pyx_t_1);
25814 __pyx_v_p = __pyx_t_1;
25815 __pyx_t_1 = 0;
25816
25817 /* "xmmsapi.pyx":1235
25818 * """
25819 * p = check_playlist(playlist, False)
25820 * return self.create_result(cb, xmmsc_playlist_load(self.conn, <char *>p)) # <<<<<<<<<<<<<<
25821 *
25822 * cpdef XmmsResult playlist_list(self, cb = None):
25823 */
25824 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
25825 __pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_4) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_4) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1235; __pyx_clineno = __LINE__25825; goto __pyx_L1_error;}
25826 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_playlist_load(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_4)))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1235; __pyx_clineno = __LINE__25826; goto __pyx_L1_error;}
25827 __Pyx_GOTREF(__pyx_t_1);
25828 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
25829 __pyx_t_1 = 0;
25830 goto __pyx_L0;
25831
25832 /* "xmmsapi.pyx":1228
25833 * return self.create_result(cb, xmmsc_broadcast_playlist_loaded(self.conn))
25834 *
25835 * cpdef XmmsResult playlist_load(self, playlist, cb = None): # <<<<<<<<<<<<<<
25836 * """
25837 * Load the playlist as current playlist
25838 */
25839
25840 /* function exit code */
25841 __pyx_L1_error:;
25842 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
25843 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
25844 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
25845 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_load", __pyx_clineno, __pyx_lineno, __pyx_filename);
25846 __pyx_r = 0;
25847 __pyx_L0:;
25848 __Pyx_XDECREF(__pyx_v_p)do { if ((__pyx_v_p) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_p))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_p)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_p)))); } while (0); } while (0)
;
25849 __Pyx_XGIVEREF((PyObject *)__pyx_r);
25850 __Pyx_RefNannyFinishContext();
25851 return __pyx_r;
25852}
25853
25854/* Python wrapper */
25855static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_39playlist_load(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
25856static char __pyx_doc_7xmmsapi_7XmmsApi_38playlist_load[] = "XmmsApi.playlist_load(self, playlist, cb=None) -> XmmsResult\n\n\t\tLoad the playlist as current playlist\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
25857static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_39playlist_load(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
25858 PyObject *__pyx_v_playlist = 0;
25859 PyObject *__pyx_v_cb = 0;
25860 int __pyx_lineno = 0;
25861 const char *__pyx_filename = NULL((void*)0);
25862 int __pyx_clineno = 0;
25863 PyObject *__pyx_r = 0;
25864 __Pyx_RefNannyDeclarations
25865 __Pyx_RefNannySetupContext("playlist_load (wrapper)", 0);
25866 {
25867 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_playlist,&__pyx_n_s_cb,0};
25868 PyObject* values[2] = {0,0};
25869 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
25870 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
25871 Py_ssize_t kw_args;
25872 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
25873 switch (pos_args) {
25874 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
25875 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
25876 case 0: break;
25877 default: goto __pyx_L5_argtuple_error;
25878 }
25879 kw_args = PyDict_Size(__pyx_kwds);
25880 switch (pos_args) {
25881 case 0:
25882 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_playlist)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_playlist
)) != 0), 1)
) kw_args--;
25883 else goto __pyx_L5_argtuple_error;
25884 case 1:
25885 if (kw_args > 0) {
25886 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
25887 if (value) { values[1] = value; kw_args--; }
25888 }
25889 }
25890 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
25891 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playlist_load") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playlist_load") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; __pyx_clineno = __LINE__25891; goto __pyx_L3_error;}
25892 }
25893 } else {
25894 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
25895 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
25896 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
25897 break;
25898 default: goto __pyx_L5_argtuple_error;
25899 }
25900 }
25901 __pyx_v_playlist = values[0];
25902 __pyx_v_cb = values[1];
25903 }
25904 goto __pyx_L4_argument_unpacking_done;
25905 __pyx_L5_argtuple_error:;
25906 __Pyx_RaiseArgtupleInvalid("playlist_load", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; __pyx_clineno = __LINE__25906; goto __pyx_L3_error;}
25907 __pyx_L3_error:;
25908 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_load", __pyx_clineno, __pyx_lineno, __pyx_filename);
25909 __Pyx_RefNannyFinishContext();
25910 return NULL((void*)0);
25911 __pyx_L4_argument_unpacking_done:;
25912 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_38playlist_load(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_playlist, __pyx_v_cb);
25913
25914 /* function exit code */
25915 __Pyx_RefNannyFinishContext();
25916 return __pyx_r;
25917}
25918
25919static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_38playlist_load(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb) {
25920 PyObject *__pyx_r = NULL((void*)0);
25921 __Pyx_RefNannyDeclarations
25922 PyObject *__pyx_t_1 = NULL((void*)0);
25923 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_load __pyx_t_2;
25924 int __pyx_lineno = 0;
25925 const char *__pyx_filename = NULL((void*)0);
25926 int __pyx_clineno = 0;
25927 __Pyx_RefNannySetupContext("playlist_load", 0);
25928 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
25929 __pyx_t_2.__pyx_n = 1;
25930 __pyx_t_2.cb = __pyx_v_cb;
25931 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playlist_load(__pyx_v_self, __pyx_v_playlist, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; __pyx_clineno = __LINE__25931; goto __pyx_L1_error;}
25932 __Pyx_GOTREF(__pyx_t_1);
25933 __pyx_r = __pyx_t_1;
25934 __pyx_t_1 = 0;
25935 goto __pyx_L0;
25936
25937 /* function exit code */
25938 __pyx_L1_error:;
25939 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
25940 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_load", __pyx_clineno, __pyx_lineno, __pyx_filename);
25941 __pyx_r = NULL((void*)0);
25942 __pyx_L0:;
25943 __Pyx_XGIVEREF(__pyx_r);
25944 __Pyx_RefNannyFinishContext();
25945 return __pyx_r;
25946}
25947
25948/* "xmmsapi.pyx":1237
25949 * return self.create_result(cb, xmmsc_playlist_load(self.conn, <char *>p))
25950 *
25951 * cpdef XmmsResult playlist_list(self, cb = None): # <<<<<<<<<<<<<<
25952 * """
25953 * Lists the playlists
25954 */
25955
25956static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_41playlist_list(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
25957static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playlist_list(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_list *__pyx_optional_args) {
25958 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
25959 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
25960 __Pyx_RefNannyDeclarations
25961 PyObject *__pyx_t_1 = NULL((void*)0);
25962 PyObject *__pyx_t_2 = NULL((void*)0);
25963 PyObject *__pyx_t_3 = NULL((void*)0);
25964 int __pyx_lineno = 0;
25965 const char *__pyx_filename = NULL((void*)0);
25966 int __pyx_clineno = 0;
25967 __Pyx_RefNannySetupContext("playlist_list", 0);
25968 if (__pyx_optional_args) {
25969 if (__pyx_optional_args->__pyx_n > 0) {
25970 __pyx_v_cb = __pyx_optional_args->cb;
25971 }
25972 }
25973 /* Check if called by wrapper */
25974 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
25975 /* Check if overridden in Python */
25976 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
25977 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playlist_list); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1237; __pyx_clineno = __LINE__25977; goto __pyx_L1_error;}
25978 __Pyx_GOTREF(__pyx_t_1);
25979 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_41playlist_list)) {
25980 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
25981 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1237; __pyx_clineno = __LINE__25981; goto __pyx_L1_error;}
25982 __Pyx_GOTREF(__pyx_t_2);
25983 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
25984 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
25985 __Pyx_GIVEREF(__pyx_v_cb);
25986 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1237; __pyx_clineno = __LINE__25986; goto __pyx_L1_error;}
25987 __Pyx_GOTREF(__pyx_t_3);
25988 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
25989 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1237; __pyx_clineno = __LINE__25989; goto __pyx_L1_error;}
25990 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
25991 __pyx_t_3 = 0;
25992 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
25993 goto __pyx_L0;
25994 }
25995 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
25996 }
25997
25998 /* "xmmsapi.pyx":1243
25999 * @return: The result of the operation.
26000 * """
26001 * return self.create_result(cb, xmmsc_playlist_list(self.conn)) # <<<<<<<<<<<<<<
26002 *
26003 * cpdef XmmsResult playlist_remove(self, playlist, cb = None):
26004 */
26005 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
26006 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_playlist_list(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__26006; goto __pyx_L1_error;}
26007 __Pyx_GOTREF(__pyx_t_1);
26008 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
26009 __pyx_t_1 = 0;
26010 goto __pyx_L0;
26011
26012 /* "xmmsapi.pyx":1237
26013 * return self.create_result(cb, xmmsc_playlist_load(self.conn, <char *>p))
26014 *
26015 * cpdef XmmsResult playlist_list(self, cb = None): # <<<<<<<<<<<<<<
26016 * """
26017 * Lists the playlists
26018 */
26019
26020 /* function exit code */
26021 __pyx_L1_error:;
26022 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
26023 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
26024 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
26025 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_list", __pyx_clineno, __pyx_lineno, __pyx_filename);
26026 __pyx_r = 0;
26027 __pyx_L0:;
26028 __Pyx_XGIVEREF((PyObject *)__pyx_r);
26029 __Pyx_RefNannyFinishContext();
26030 return __pyx_r;
26031}
26032
26033/* Python wrapper */
26034static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_41playlist_list(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
26035static char __pyx_doc_7xmmsapi_7XmmsApi_40playlist_list[] = "XmmsApi.playlist_list(self, cb=None) -> XmmsResult\n\n\t\tLists the playlists\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
26036static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_41playlist_list(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
26037 PyObject *__pyx_v_cb = 0;
26038 int __pyx_lineno = 0;
26039 const char *__pyx_filename = NULL((void*)0);
26040 int __pyx_clineno = 0;
26041 PyObject *__pyx_r = 0;
26042 __Pyx_RefNannyDeclarations
26043 __Pyx_RefNannySetupContext("playlist_list (wrapper)", 0);
26044 {
26045 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
26046 PyObject* values[1] = {0};
26047 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
26048 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
26049 Py_ssize_t kw_args;
26050 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
26051 switch (pos_args) {
26052 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
26053 case 0: break;
26054 default: goto __pyx_L5_argtuple_error;
26055 }
26056 kw_args = PyDict_Size(__pyx_kwds);
26057 switch (pos_args) {
26058 case 0:
26059 if (kw_args > 0) {
26060 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
26061 if (value) { values[0] = value; kw_args--; }
26062 }
26063 }
26064 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
26065 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playlist_list") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playlist_list") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1237; __pyx_clineno = __LINE__26065; goto __pyx_L3_error;}
26066 }
26067 } else {
26068 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
26069 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
26070 case 0: break;
26071 default: goto __pyx_L5_argtuple_error;
26072 }
26073 }
26074 __pyx_v_cb = values[0];
26075 }
26076 goto __pyx_L4_argument_unpacking_done;
26077 __pyx_L5_argtuple_error:;
26078 __Pyx_RaiseArgtupleInvalid("playlist_list", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1237; __pyx_clineno = __LINE__26078; goto __pyx_L3_error;}
26079 __pyx_L3_error:;
26080 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_list", __pyx_clineno, __pyx_lineno, __pyx_filename);
26081 __Pyx_RefNannyFinishContext();
26082 return NULL((void*)0);
26083 __pyx_L4_argument_unpacking_done:;
26084 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_40playlist_list(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
26085
26086 /* function exit code */
26087 __Pyx_RefNannyFinishContext();
26088 return __pyx_r;
26089}
26090
26091static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_40playlist_list(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
26092 PyObject *__pyx_r = NULL((void*)0);
26093 __Pyx_RefNannyDeclarations
26094 PyObject *__pyx_t_1 = NULL((void*)0);
26095 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_list __pyx_t_2;
26096 int __pyx_lineno = 0;
26097 const char *__pyx_filename = NULL((void*)0);
26098 int __pyx_clineno = 0;
26099 __Pyx_RefNannySetupContext("playlist_list", 0);
26100 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
26101 __pyx_t_2.__pyx_n = 1;
26102 __pyx_t_2.cb = __pyx_v_cb;
26103 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playlist_list(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1237; __pyx_clineno = __LINE__26103; goto __pyx_L1_error;}
26104 __Pyx_GOTREF(__pyx_t_1);
26105 __pyx_r = __pyx_t_1;
26106 __pyx_t_1 = 0;
26107 goto __pyx_L0;
26108
26109 /* function exit code */
26110 __pyx_L1_error:;
26111 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
26112 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_list", __pyx_clineno, __pyx_lineno, __pyx_filename);
26113 __pyx_r = NULL((void*)0);
26114 __pyx_L0:;
26115 __Pyx_XGIVEREF(__pyx_r);
26116 __Pyx_RefNannyFinishContext();
26117 return __pyx_r;
26118}
26119
26120/* "xmmsapi.pyx":1245
26121 * return self.create_result(cb, xmmsc_playlist_list(self.conn))
26122 *
26123 * cpdef XmmsResult playlist_remove(self, playlist, cb = None): # <<<<<<<<<<<<<<
26124 * """
26125 * Remove the playlist from the server
26126 */
26127
26128static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_43playlist_remove(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
26129static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playlist_remove(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_playlist, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_remove *__pyx_optional_args) {
26130 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
26131 PyObject *__pyx_v_p = NULL((void*)0);
26132 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
26133 __Pyx_RefNannyDeclarations
26134 PyObject *__pyx_t_1 = NULL((void*)0);
26135 PyObject *__pyx_t_2 = NULL((void*)0);
26136 PyObject *__pyx_t_3 = NULL((void*)0);
26137 char *__pyx_t_4;
26138 int __pyx_lineno = 0;
26139 const char *__pyx_filename = NULL((void*)0);
26140 int __pyx_clineno = 0;
26141 __Pyx_RefNannySetupContext("playlist_remove", 0);
26142 if (__pyx_optional_args) {
26143 if (__pyx_optional_args->__pyx_n > 0) {
26144 __pyx_v_cb = __pyx_optional_args->cb;
26145 }
26146 }
26147 /* Check if called by wrapper */
26148 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
26149 /* Check if overridden in Python */
26150 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
26151 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playlist_remove); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; __pyx_clineno = __LINE__26151; goto __pyx_L1_error;}
26152 __Pyx_GOTREF(__pyx_t_1);
26153 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_43playlist_remove)) {
26154 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
26155 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; __pyx_clineno = __LINE__26155; goto __pyx_L1_error;}
26156 __Pyx_GOTREF(__pyx_t_2);
26157 __Pyx_INCREF(__pyx_v_playlist)( ((PyObject*)(__pyx_v_playlist))->ob_refcnt++);
26158 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_playlist)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_playlist
)
;
26159 __Pyx_GIVEREF(__pyx_v_playlist);
26160 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
26161 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_cb);
26162 __Pyx_GIVEREF(__pyx_v_cb);
26163 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; __pyx_clineno = __LINE__26163; goto __pyx_L1_error;}
26164 __Pyx_GOTREF(__pyx_t_3);
26165 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
26166 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; __pyx_clineno = __LINE__26166; goto __pyx_L1_error;}
26167 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
26168 __pyx_t_3 = 0;
26169 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
26170 goto __pyx_L0;
26171 }
26172 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
26173 }
26174
26175 /* "xmmsapi.pyx":1251
26176 * @return: The result of the operation.
26177 * """
26178 * p = check_playlist(playlist, False) # <<<<<<<<<<<<<<
26179 * return self.create_result(cb, xmmsc_playlist_remove(self.conn, <char *>p))
26180 *
26181 */
26182 __pyx_t_1 = __pyx_f_7xmmsapi_check_playlist(__pyx_v_playlist, 0); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__26182; goto __pyx_L1_error;}
26183 __Pyx_GOTREF(__pyx_t_1);
26184 __pyx_v_p = __pyx_t_1;
26185 __pyx_t_1 = 0;
26186
26187 /* "xmmsapi.pyx":1252
26188 * """
26189 * p = check_playlist(playlist, False)
26190 * return self.create_result(cb, xmmsc_playlist_remove(self.conn, <char *>p)) # <<<<<<<<<<<<<<
26191 *
26192 * cpdef XmmsResult playlist_shuffle(self, playlist = None, cb = None):
26193 */
26194 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
26195 __pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_4) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_4) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__26195; goto __pyx_L1_error;}
26196 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_playlist_remove(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_4)))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1252; __pyx_clineno = __LINE__26196; goto __pyx_L1_error;}
26197 __Pyx_GOTREF(__pyx_t_1);
26198 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
26199 __pyx_t_1 = 0;
26200 goto __pyx_L0;
26201
26202 /* "xmmsapi.pyx":1245
26203 * return self.create_result(cb, xmmsc_playlist_list(self.conn))
26204 *
26205 * cpdef XmmsResult playlist_remove(self, playlist, cb = None): # <<<<<<<<<<<<<<
26206 * """
26207 * Remove the playlist from the server
26208 */
26209
26210 /* function exit code */
26211 __pyx_L1_error:;
26212 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
26213 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
26214 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
26215 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_remove", __pyx_clineno, __pyx_lineno, __pyx_filename);
26216 __pyx_r = 0;
26217 __pyx_L0:;
26218 __Pyx_XDECREF(__pyx_v_p)do { if ((__pyx_v_p) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_p))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_p)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_p)))); } while (0); } while (0)
;
26219 __Pyx_XGIVEREF((PyObject *)__pyx_r);
26220 __Pyx_RefNannyFinishContext();
26221 return __pyx_r;
26222}
26223
26224/* Python wrapper */
26225static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_43playlist_remove(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
26226static char __pyx_doc_7xmmsapi_7XmmsApi_42playlist_remove[] = "XmmsApi.playlist_remove(self, playlist, cb=None) -> XmmsResult\n\n\t\tRemove the playlist from the server\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
26227static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_43playlist_remove(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
26228 PyObject *__pyx_v_playlist = 0;
26229 PyObject *__pyx_v_cb = 0;
26230 int __pyx_lineno = 0;
26231 const char *__pyx_filename = NULL((void*)0);
26232 int __pyx_clineno = 0;
26233 PyObject *__pyx_r = 0;
26234 __Pyx_RefNannyDeclarations
26235 __Pyx_RefNannySetupContext("playlist_remove (wrapper)", 0);
26236 {
26237 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_playlist,&__pyx_n_s_cb,0};
26238 PyObject* values[2] = {0,0};
26239 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
26240 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
26241 Py_ssize_t kw_args;
26242 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
26243 switch (pos_args) {
26244 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
26245 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
26246 case 0: break;
26247 default: goto __pyx_L5_argtuple_error;
26248 }
26249 kw_args = PyDict_Size(__pyx_kwds);
26250 switch (pos_args) {
26251 case 0:
26252 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_playlist)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_playlist
)) != 0), 1)
) kw_args--;
26253 else goto __pyx_L5_argtuple_error;
26254 case 1:
26255 if (kw_args > 0) {
26256 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
26257 if (value) { values[1] = value; kw_args--; }
26258 }
26259 }
26260 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
26261 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playlist_remove") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playlist_remove") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; __pyx_clineno = __LINE__26261; goto __pyx_L3_error;}
26262 }
26263 } else {
26264 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
26265 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
26266 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
26267 break;
26268 default: goto __pyx_L5_argtuple_error;
26269 }
26270 }
26271 __pyx_v_playlist = values[0];
26272 __pyx_v_cb = values[1];
26273 }
26274 goto __pyx_L4_argument_unpacking_done;
26275 __pyx_L5_argtuple_error:;
26276 __Pyx_RaiseArgtupleInvalid("playlist_remove", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; __pyx_clineno = __LINE__26276; goto __pyx_L3_error;}
26277 __pyx_L3_error:;
26278 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_remove", __pyx_clineno, __pyx_lineno, __pyx_filename);
26279 __Pyx_RefNannyFinishContext();
26280 return NULL((void*)0);
26281 __pyx_L4_argument_unpacking_done:;
26282 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_42playlist_remove(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_playlist, __pyx_v_cb);
26283
26284 /* function exit code */
26285 __Pyx_RefNannyFinishContext();
26286 return __pyx_r;
26287}
26288
26289static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_42playlist_remove(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb) {
26290 PyObject *__pyx_r = NULL((void*)0);
26291 __Pyx_RefNannyDeclarations
26292 PyObject *__pyx_t_1 = NULL((void*)0);
26293 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_remove __pyx_t_2;
26294 int __pyx_lineno = 0;
26295 const char *__pyx_filename = NULL((void*)0);
26296 int __pyx_clineno = 0;
26297 __Pyx_RefNannySetupContext("playlist_remove", 0);
26298 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
26299 __pyx_t_2.__pyx_n = 1;
26300 __pyx_t_2.cb = __pyx_v_cb;
26301 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playlist_remove(__pyx_v_self, __pyx_v_playlist, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1245; __pyx_clineno = __LINE__26301; goto __pyx_L1_error;}
26302 __Pyx_GOTREF(__pyx_t_1);
26303 __pyx_r = __pyx_t_1;
26304 __pyx_t_1 = 0;
26305 goto __pyx_L0;
26306
26307 /* function exit code */
26308 __pyx_L1_error:;
26309 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
26310 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_remove", __pyx_clineno, __pyx_lineno, __pyx_filename);
26311 __pyx_r = NULL((void*)0);
26312 __pyx_L0:;
26313 __Pyx_XGIVEREF(__pyx_r);
26314 __Pyx_RefNannyFinishContext();
26315 return __pyx_r;
26316}
26317
26318/* "xmmsapi.pyx":1254
26319 * return self.create_result(cb, xmmsc_playlist_remove(self.conn, <char *>p))
26320 *
26321 * cpdef XmmsResult playlist_shuffle(self, playlist = None, cb = None): # <<<<<<<<<<<<<<
26322 * """
26323 * Instruct the XMMS2 daemon to shuffle the playlist.
26324 */
26325
26326static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_45playlist_shuffle(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
26327static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playlist_shuffle(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_shuffle *__pyx_optional_args) {
26328 PyObject *__pyx_v_playlist = ((PyObject *)Py_None(&_Py_NoneStruct));
26329 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
26330 PyObject *__pyx_v_p = NULL((void*)0);
26331 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
26332 __Pyx_RefNannyDeclarations
26333 PyObject *__pyx_t_1 = NULL((void*)0);
26334 PyObject *__pyx_t_2 = NULL((void*)0);
26335 PyObject *__pyx_t_3 = NULL((void*)0);
26336 char *__pyx_t_4;
26337 int __pyx_lineno = 0;
26338 const char *__pyx_filename = NULL((void*)0);
26339 int __pyx_clineno = 0;
26340 __Pyx_RefNannySetupContext("playlist_shuffle", 0);
26341 if (__pyx_optional_args) {
26342 if (__pyx_optional_args->__pyx_n > 0) {
26343 __pyx_v_playlist = __pyx_optional_args->playlist;
26344 if (__pyx_optional_args->__pyx_n > 1) {
26345 __pyx_v_cb = __pyx_optional_args->cb;
26346 }
26347 }
26348 }
26349 /* Check if called by wrapper */
26350 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
26351 /* Check if overridden in Python */
26352 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
26353 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playlist_shuffle); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__26353; goto __pyx_L1_error;}
26354 __Pyx_GOTREF(__pyx_t_1);
26355 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_45playlist_shuffle)) {
26356 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
26357 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__26357; goto __pyx_L1_error;}
26358 __Pyx_GOTREF(__pyx_t_2);
26359 __Pyx_INCREF(__pyx_v_playlist)( ((PyObject*)(__pyx_v_playlist))->ob_refcnt++);
26360 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_playlist)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_playlist
)
;
26361 __Pyx_GIVEREF(__pyx_v_playlist);
26362 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
26363 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_cb);
26364 __Pyx_GIVEREF(__pyx_v_cb);
26365 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__26365; goto __pyx_L1_error;}
26366 __Pyx_GOTREF(__pyx_t_3);
26367 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
26368 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__26368; goto __pyx_L1_error;}
26369 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
26370 __pyx_t_3 = 0;
26371 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
26372 goto __pyx_L0;
26373 }
26374 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
26375 }
26376
26377 /* "xmmsapi.pyx":1260
26378 * @return: The result of the operation.
26379 * """
26380 * p = check_playlist(playlist, True) # <<<<<<<<<<<<<<
26381 * return self.create_result(cb, xmmsc_playlist_shuffle(self.conn, <char *>p))
26382 *
26383 */
26384 __pyx_t_1 = __pyx_f_7xmmsapi_check_playlist(__pyx_v_playlist, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__26384; goto __pyx_L1_error;}
26385 __Pyx_GOTREF(__pyx_t_1);
26386 __pyx_v_p = __pyx_t_1;
26387 __pyx_t_1 = 0;
26388
26389 /* "xmmsapi.pyx":1261
26390 * """
26391 * p = check_playlist(playlist, True)
26392 * return self.create_result(cb, xmmsc_playlist_shuffle(self.conn, <char *>p)) # <<<<<<<<<<<<<<
26393 *
26394 * cpdef XmmsResult playlist_rinsert(self, int pos, url, playlist = None, cb = None, encoded = False):
26395 */
26396 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
26397 __pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_4) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_4) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__26397; goto __pyx_L1_error;}
26398 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_playlist_shuffle(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_4)))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__26398; goto __pyx_L1_error;}
26399 __Pyx_GOTREF(__pyx_t_1);
26400 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
26401 __pyx_t_1 = 0;
26402 goto __pyx_L0;
26403
26404 /* "xmmsapi.pyx":1254
26405 * return self.create_result(cb, xmmsc_playlist_remove(self.conn, <char *>p))
26406 *
26407 * cpdef XmmsResult playlist_shuffle(self, playlist = None, cb = None): # <<<<<<<<<<<<<<
26408 * """
26409 * Instruct the XMMS2 daemon to shuffle the playlist.
26410 */
26411
26412 /* function exit code */
26413 __pyx_L1_error:;
26414 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
26415 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
26416 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
26417 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_shuffle", __pyx_clineno, __pyx_lineno, __pyx_filename);
26418 __pyx_r = 0;
26419 __pyx_L0:;
26420 __Pyx_XDECREF(__pyx_v_p)do { if ((__pyx_v_p) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_p))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_p)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_p)))); } while (0); } while (0)
;
26421 __Pyx_XGIVEREF((PyObject *)__pyx_r);
26422 __Pyx_RefNannyFinishContext();
26423 return __pyx_r;
26424}
26425
26426/* Python wrapper */
26427static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_45playlist_shuffle(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
26428static char __pyx_doc_7xmmsapi_7XmmsApi_44playlist_shuffle[] = "XmmsApi.playlist_shuffle(self, playlist=None, cb=None) -> XmmsResult\n\n\t\tInstruct the XMMS2 daemon to shuffle the playlist.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
26429static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_45playlist_shuffle(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
26430 PyObject *__pyx_v_playlist = 0;
26431 PyObject *__pyx_v_cb = 0;
26432 int __pyx_lineno = 0;
26433 const char *__pyx_filename = NULL((void*)0);
26434 int __pyx_clineno = 0;
26435 PyObject *__pyx_r = 0;
26436 __Pyx_RefNannyDeclarations
26437 __Pyx_RefNannySetupContext("playlist_shuffle (wrapper)", 0);
26438 {
26439 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_playlist,&__pyx_n_s_cb,0};
26440 PyObject* values[2] = {0,0};
26441 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
26442 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
26443 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
26444 Py_ssize_t kw_args;
26445 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
26446 switch (pos_args) {
26447 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
26448 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
26449 case 0: break;
26450 default: goto __pyx_L5_argtuple_error;
26451 }
26452 kw_args = PyDict_Size(__pyx_kwds);
26453 switch (pos_args) {
26454 case 0:
26455 if (kw_args > 0) {
26456 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_playlist);
26457 if (value) { values[0] = value; kw_args--; }
26458 }
26459 case 1:
26460 if (kw_args > 0) {
26461 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
26462 if (value) { values[1] = value; kw_args--; }
26463 }
26464 }
26465 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
26466 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playlist_shuffle") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playlist_shuffle") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__26466; goto __pyx_L3_error;}
26467 }
26468 } else {
26469 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
26470 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
26471 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
26472 case 0: break;
26473 default: goto __pyx_L5_argtuple_error;
26474 }
26475 }
26476 __pyx_v_playlist = values[0];
26477 __pyx_v_cb = values[1];
26478 }
26479 goto __pyx_L4_argument_unpacking_done;
26480 __pyx_L5_argtuple_error:;
26481 __Pyx_RaiseArgtupleInvalid("playlist_shuffle", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__26481; goto __pyx_L3_error;}
26482 __pyx_L3_error:;
26483 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_shuffle", __pyx_clineno, __pyx_lineno, __pyx_filename);
26484 __Pyx_RefNannyFinishContext();
26485 return NULL((void*)0);
26486 __pyx_L4_argument_unpacking_done:;
26487 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_44playlist_shuffle(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_playlist, __pyx_v_cb);
26488
26489 /* function exit code */
26490 __Pyx_RefNannyFinishContext();
26491 return __pyx_r;
26492}
26493
26494static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_44playlist_shuffle(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb) {
26495 PyObject *__pyx_r = NULL((void*)0);
26496 __Pyx_RefNannyDeclarations
26497 PyObject *__pyx_t_1 = NULL((void*)0);
26498 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_shuffle __pyx_t_2;
26499 int __pyx_lineno = 0;
26500 const char *__pyx_filename = NULL((void*)0);
26501 int __pyx_clineno = 0;
26502 __Pyx_RefNannySetupContext("playlist_shuffle", 0);
26503 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
26504 __pyx_t_2.__pyx_n = 2;
26505 __pyx_t_2.playlist = __pyx_v_playlist;
26506 __pyx_t_2.cb = __pyx_v_cb;
26507 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playlist_shuffle(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__26507; goto __pyx_L1_error;}
26508 __Pyx_GOTREF(__pyx_t_1);
26509 __pyx_r = __pyx_t_1;
26510 __pyx_t_1 = 0;
26511 goto __pyx_L0;
26512
26513 /* function exit code */
26514 __pyx_L1_error:;
26515 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
26516 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_shuffle", __pyx_clineno, __pyx_lineno, __pyx_filename);
26517 __pyx_r = NULL((void*)0);
26518 __pyx_L0:;
26519 __Pyx_XGIVEREF(__pyx_r);
26520 __Pyx_RefNannyFinishContext();
26521 return __pyx_r;
26522}
26523
26524/* "xmmsapi.pyx":1263
26525 * return self.create_result(cb, xmmsc_playlist_shuffle(self.conn, <char *>p))
26526 *
26527 * cpdef XmmsResult playlist_rinsert(self, int pos, url, playlist = None, cb = None, encoded = False): # <<<<<<<<<<<<<<
26528 * """
26529 * Insert a directory in the playlist.
26530 */
26531
26532static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_47playlist_rinsert(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
26533static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playlist_rinsert(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_pos, PyObject *__pyx_v_url, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_rinsert *__pyx_optional_args) {
26534 PyObject *__pyx_v_playlist = ((PyObject *)Py_None(&_Py_NoneStruct));
26535 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
26536 PyObject *__pyx_v_encoded = ((PyObject *)Py_False((PyObject *) &_Py_ZeroStruct));
26537 xmmsc_result_t *__pyx_v_res;
26538 PyObject *__pyx_v_c = NULL((void*)0);
26539 PyObject *__pyx_v_p = NULL((void*)0);
26540 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
26541 __Pyx_RefNannyDeclarations
26542 PyObject *__pyx_t_1 = NULL((void*)0);
26543 PyObject *__pyx_t_2 = NULL((void*)0);
26544 PyObject *__pyx_t_3 = NULL((void*)0);
26545 int __pyx_t_4;
26546 char *__pyx_t_5;
26547 char *__pyx_t_6;
26548 int __pyx_lineno = 0;
26549 const char *__pyx_filename = NULL((void*)0);
26550 int __pyx_clineno = 0;
26551 __Pyx_RefNannySetupContext("playlist_rinsert", 0);
26552 if (__pyx_optional_args) {
26553 if (__pyx_optional_args->__pyx_n > 0) {
26554 __pyx_v_playlist = __pyx_optional_args->playlist;
26555 if (__pyx_optional_args->__pyx_n > 1) {
26556 __pyx_v_cb = __pyx_optional_args->cb;
26557 if (__pyx_optional_args->__pyx_n > 2) {
26558 __pyx_v_encoded = __pyx_optional_args->encoded;
26559 }
26560 }
26561 }
26562 }
26563 /* Check if called by wrapper */
26564 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
26565 /* Check if overridden in Python */
26566 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
26567 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playlist_rinsert); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__26567; goto __pyx_L1_error;}
26568 __Pyx_GOTREF(__pyx_t_1);
26569 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_47playlist_rinsert)) {
26570 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
26571 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_pos); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__26571; goto __pyx_L1_error;}
26572 __Pyx_GOTREF(__pyx_t_2);
26573 __pyx_t_3 = PyTuple_New(5); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__26573; goto __pyx_L1_error;}
26574 __Pyx_GOTREF(__pyx_t_3);
26575 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
26576 __Pyx_GIVEREF(__pyx_t_2);
26577 __Pyx_INCREF(__pyx_v_url)( ((PyObject*)(__pyx_v_url))->ob_refcnt++);
26578 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_url)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_url);
26579 __Pyx_GIVEREF(__pyx_v_url);
26580 __Pyx_INCREF(__pyx_v_playlist)( ((PyObject*)(__pyx_v_playlist))->ob_refcnt++);
26581 PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_playlist)(((PyTupleObject *)(__pyx_t_3))->ob_item[2] = __pyx_v_playlist
)
;
26582 __Pyx_GIVEREF(__pyx_v_playlist);
26583 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
26584 PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_3))->ob_item[3] = __pyx_v_cb);
26585 __Pyx_GIVEREF(__pyx_v_cb);
26586 __Pyx_INCREF(__pyx_v_encoded)( ((PyObject*)(__pyx_v_encoded))->ob_refcnt++);
26587 PyTuple_SET_ITEM(__pyx_t_3, 4, __pyx_v_encoded)(((PyTupleObject *)(__pyx_t_3))->ob_item[4] = __pyx_v_encoded
)
;
26588 __Pyx_GIVEREF(__pyx_v_encoded);
26589 __pyx_t_2 = 0;
26590 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__26590; goto __pyx_L1_error;}
26591 __Pyx_GOTREF(__pyx_t_2);
26592 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
26593 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_2) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__26593; goto __pyx_L1_error;}
26594 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_2);
26595 __pyx_t_2 = 0;
26596 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
26597 goto __pyx_L0;
26598 }
26599 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
26600 }
26601
26602 /* "xmmsapi.pyx":1272
26603 * cdef xmmsc_result_t *res
26604 *
26605 * c = from_unicode(url) # <<<<<<<<<<<<<<
26606 * p = check_playlist(playlist, True)
26607 *
26608 */
26609 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_url); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1272; __pyx_clineno = __LINE__26609; goto __pyx_L1_error;}
26610 __Pyx_GOTREF(__pyx_t_1);
26611 __pyx_v_c = __pyx_t_1;
26612 __pyx_t_1 = 0;
26613
26614 /* "xmmsapi.pyx":1273
26615 *
26616 * c = from_unicode(url)
26617 * p = check_playlist(playlist, True) # <<<<<<<<<<<<<<
26618 *
26619 * if encoded:
26620 */
26621 __pyx_t_1 = __pyx_f_7xmmsapi_check_playlist(__pyx_v_playlist, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__26621; goto __pyx_L1_error;}
26622 __Pyx_GOTREF(__pyx_t_1);
26623 __pyx_v_p = __pyx_t_1;
26624 __pyx_t_1 = 0;
26625
26626 /* "xmmsapi.pyx":1275
26627 * p = check_playlist(playlist, True)
26628 *
26629 * if encoded: # <<<<<<<<<<<<<<
26630 * res = xmmsc_playlist_rinsert_encoded(self.conn, <char *>p, pos, <char *>c)
26631 * else:
26632 */
26633 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_encoded); if (unlikely(__pyx_t_4 < 0)__builtin_expect(!!(__pyx_t_4 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__26633; goto __pyx_L1_error;}
26634 if (__pyx_t_4) {
26635
26636 /* "xmmsapi.pyx":1276
26637 *
26638 * if encoded:
26639 * res = xmmsc_playlist_rinsert_encoded(self.conn, <char *>p, pos, <char *>c) # <<<<<<<<<<<<<<
26640 * else:
26641 * res = xmmsc_playlist_rinsert(self.conn, <char *>p, pos, <char *>c)
26642 */
26643 __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_5) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_5) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__26643; goto __pyx_L1_error;}
26644 __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_c); if (unlikely((!__pyx_t_6) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_6) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__26644; goto __pyx_L1_error;}
26645 __pyx_v_res = xmmsc_playlist_rinsert_encoded(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_5), __pyx_v_pos, ((char *)__pyx_t_6));
26646 goto __pyx_L3;
26647 }
26648 /*else*/ {
26649
26650 /* "xmmsapi.pyx":1278
26651 * res = xmmsc_playlist_rinsert_encoded(self.conn, <char *>p, pos, <char *>c)
26652 * else:
26653 * res = xmmsc_playlist_rinsert(self.conn, <char *>p, pos, <char *>c) # <<<<<<<<<<<<<<
26654 * return self.create_result(cb, res)
26655 *
26656 */
26657 __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_6) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_6) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__26657; goto __pyx_L1_error;}
26658 __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_c); if (unlikely((!__pyx_t_5) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_5) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__26658; goto __pyx_L1_error;}
26659 __pyx_v_res = xmmsc_playlist_rinsert(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_6), __pyx_v_pos, ((char *)__pyx_t_5));
26660 }
26661 __pyx_L3:;
26662
26663 /* "xmmsapi.pyx":1279
26664 * else:
26665 * res = xmmsc_playlist_rinsert(self.conn, <char *>p, pos, <char *>c)
26666 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
26667 *
26668 * @deprecated
26669 */
26670 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
26671 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__26671; goto __pyx_L1_error;}
26672 __Pyx_GOTREF(__pyx_t_1);
26673 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
26674 __pyx_t_1 = 0;
26675 goto __pyx_L0;
26676
26677 /* "xmmsapi.pyx":1263
26678 * return self.create_result(cb, xmmsc_playlist_shuffle(self.conn, <char *>p))
26679 *
26680 * cpdef XmmsResult playlist_rinsert(self, int pos, url, playlist = None, cb = None, encoded = False): # <<<<<<<<<<<<<<
26681 * """
26682 * Insert a directory in the playlist.
26683 */
26684
26685 /* function exit code */
26686 __pyx_L1_error:;
26687 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
26688 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
26689 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
26690 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_rinsert", __pyx_clineno, __pyx_lineno, __pyx_filename);
26691 __pyx_r = 0;
26692 __pyx_L0:;
26693 __Pyx_XDECREF(__pyx_v_c)do { if ((__pyx_v_c) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_c))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_c)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_c)))); } while (0); } while (0)
;
26694 __Pyx_XDECREF(__pyx_v_p)do { if ((__pyx_v_p) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_p))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_p)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_p)))); } while (0); } while (0)
;
26695 __Pyx_XGIVEREF((PyObject *)__pyx_r);
26696 __Pyx_RefNannyFinishContext();
26697 return __pyx_r;
26698}
26699
26700/* Python wrapper */
26701static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_47playlist_rinsert(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
26702static char __pyx_doc_7xmmsapi_7XmmsApi_46playlist_rinsert[] = "XmmsApi.playlist_rinsert(self, int pos, url, playlist=None, cb=None, encoded=False) -> XmmsResult\n\n\t\tInsert a directory in the playlist.\n\t\tRequires an int 'pos' and a string 'url' as argument.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
26703static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_47playlist_rinsert(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
26704 int __pyx_v_pos;
26705 PyObject *__pyx_v_url = 0;
26706 PyObject *__pyx_v_playlist = 0;
26707 PyObject *__pyx_v_cb = 0;
26708 PyObject *__pyx_v_encoded = 0;
26709 int __pyx_lineno = 0;
26710 const char *__pyx_filename = NULL((void*)0);
26711 int __pyx_clineno = 0;
26712 PyObject *__pyx_r = 0;
26713 __Pyx_RefNannyDeclarations
26714 __Pyx_RefNannySetupContext("playlist_rinsert (wrapper)", 0);
26715 {
26716 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pos,&__pyx_n_s_url,&__pyx_n_s_playlist,&__pyx_n_s_cb,&__pyx_n_s_encoded,0};
26717 PyObject* values[5] = {0,0,0,0,0};
26718 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
26719 values[3] = ((PyObject *)Py_None(&_Py_NoneStruct));
26720 values[4] = ((PyObject *)Py_False((PyObject *) &_Py_ZeroStruct));
26721 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
26722 Py_ssize_t kw_args;
26723 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
26724 switch (pos_args) {
26725 case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4)(((PyTupleObject *)(__pyx_args))->ob_item[4]);
26726 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
26727 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
26728 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
26729 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
26730 case 0: break;
26731 default: goto __pyx_L5_argtuple_error;
26732 }
26733 kw_args = PyDict_Size(__pyx_kwds);
26734 switch (pos_args) {
26735 case 0:
26736 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pos)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pos
)) != 0), 1)
) kw_args--;
26737 else goto __pyx_L5_argtuple_error;
26738 case 1:
26739 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_url)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_url
)) != 0), 1)
) kw_args--;
26740 else {
26741 __Pyx_RaiseArgtupleInvalid("playlist_rinsert", 0, 2, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__26741; goto __pyx_L3_error;}
26742 }
26743 case 2:
26744 if (kw_args > 0) {
26745 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_playlist);
26746 if (value) { values[2] = value; kw_args--; }
26747 }
26748 case 3:
26749 if (kw_args > 0) {
26750 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
26751 if (value) { values[3] = value; kw_args--; }
26752 }
26753 case 4:
26754 if (kw_args > 0) {
26755 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_encoded);
26756 if (value) { values[4] = value; kw_args--; }
26757 }
26758 }
26759 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
26760 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playlist_rinsert") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playlist_rinsert") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__26760; goto __pyx_L3_error;}
26761 }
26762 } else {
26763 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
26764 case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4)(((PyTupleObject *)(__pyx_args))->ob_item[4]);
26765 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
26766 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
26767 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
26768 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
26769 break;
26770 default: goto __pyx_L5_argtuple_error;
26771 }
26772 }
26773 __pyx_v_pos = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_pos == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_pos == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__26773; goto __pyx_L3_error;}
26774 __pyx_v_url = values[1];
26775 __pyx_v_playlist = values[2];
26776 __pyx_v_cb = values[3];
26777 __pyx_v_encoded = values[4];
26778 }
26779 goto __pyx_L4_argument_unpacking_done;
26780 __pyx_L5_argtuple_error:;
26781 __Pyx_RaiseArgtupleInvalid("playlist_rinsert", 0, 2, 5, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__26781; goto __pyx_L3_error;}
26782 __pyx_L3_error:;
26783 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_rinsert", __pyx_clineno, __pyx_lineno, __pyx_filename);
26784 __Pyx_RefNannyFinishContext();
26785 return NULL((void*)0);
26786 __pyx_L4_argument_unpacking_done:;
26787 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_46playlist_rinsert(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_pos, __pyx_v_url, __pyx_v_playlist, __pyx_v_cb, __pyx_v_encoded);
26788
26789 /* function exit code */
26790 __Pyx_RefNannyFinishContext();
26791 return __pyx_r;
26792}
26793
26794static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_46playlist_rinsert(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_pos, PyObject *__pyx_v_url, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb, PyObject *__pyx_v_encoded) {
26795 PyObject *__pyx_r = NULL((void*)0);
26796 __Pyx_RefNannyDeclarations
26797 PyObject *__pyx_t_1 = NULL((void*)0);
26798 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_rinsert __pyx_t_2;
26799 int __pyx_lineno = 0;
26800 const char *__pyx_filename = NULL((void*)0);
26801 int __pyx_clineno = 0;
26802 __Pyx_RefNannySetupContext("playlist_rinsert", 0);
26803 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
26804 __pyx_t_2.__pyx_n = 3;
26805 __pyx_t_2.playlist = __pyx_v_playlist;
26806 __pyx_t_2.cb = __pyx_v_cb;
26807 __pyx_t_2.encoded = __pyx_v_encoded;
26808 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playlist_rinsert(__pyx_v_self, __pyx_v_pos, __pyx_v_url, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1263; __pyx_clineno = __LINE__26808; goto __pyx_L1_error;}
26809 __Pyx_GOTREF(__pyx_t_1);
26810 __pyx_r = __pyx_t_1;
26811 __pyx_t_1 = 0;
26812 goto __pyx_L0;
26813
26814 /* function exit code */
26815 __pyx_L1_error:;
26816 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
26817 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_rinsert", __pyx_clineno, __pyx_lineno, __pyx_filename);
26818 __pyx_r = NULL((void*)0);
26819 __pyx_L0:;
26820 __Pyx_XGIVEREF(__pyx_r);
26821 __Pyx_RefNannyFinishContext();
26822 return __pyx_r;
26823}
26824
26825/* "xmmsapi.pyx":1282
26826 *
26827 * @deprecated
26828 * def playlist_rinsert_encoded(self, int pos, url, playlist = None, cb = None): # <<<<<<<<<<<<<<
26829 * """
26830 * @deprecated
26831 */
26832
26833/* Python wrapper */
26834static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_49playlist_rinsert_encoded(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
26835static char __pyx_doc_7xmmsapi_7XmmsApi_48playlist_rinsert_encoded[] = "XmmsApi.playlist_rinsert_encoded(self, int pos, url, playlist=None, cb=None)\n\n\t\t@deprecated\n\t\tUse playlist_rinsert(pos, url, ..., encoded = True) instead\n\t\t";
26836static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_49playlist_rinsert_encoded(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
26837 int __pyx_v_pos;
26838 PyObject *__pyx_v_url = 0;
26839 PyObject *__pyx_v_playlist = 0;
26840 PyObject *__pyx_v_cb = 0;
26841 int __pyx_lineno = 0;
26842 const char *__pyx_filename = NULL((void*)0);
26843 int __pyx_clineno = 0;
26844 PyObject *__pyx_r = 0;
26845 __Pyx_RefNannyDeclarations
26846 __Pyx_RefNannySetupContext("playlist_rinsert_encoded (wrapper)", 0);
26847 {
26848 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pos,&__pyx_n_s_url,&__pyx_n_s_playlist,&__pyx_n_s_cb,0};
26849 PyObject* values[4] = {0,0,0,0};
26850 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
26851 values[3] = ((PyObject *)Py_None(&_Py_NoneStruct));
26852 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
26853 Py_ssize_t kw_args;
26854 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
26855 switch (pos_args) {
26856 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
26857 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
26858 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
26859 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
26860 case 0: break;
26861 default: goto __pyx_L5_argtuple_error;
26862 }
26863 kw_args = PyDict_Size(__pyx_kwds);
26864 switch (pos_args) {
26865 case 0:
26866 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pos)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pos
)) != 0), 1)
) kw_args--;
26867 else goto __pyx_L5_argtuple_error;
26868 case 1:
26869 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_url)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_url
)) != 0), 1)
) kw_args--;
26870 else {
26871 __Pyx_RaiseArgtupleInvalid("playlist_rinsert_encoded", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__26871; goto __pyx_L3_error;}
26872 }
26873 case 2:
26874 if (kw_args > 0) {
26875 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_playlist);
26876 if (value) { values[2] = value; kw_args--; }
26877 }
26878 case 3:
26879 if (kw_args > 0) {
26880 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
26881 if (value) { values[3] = value; kw_args--; }
26882 }
26883 }
26884 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
26885 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playlist_rinsert_encoded") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playlist_rinsert_encoded") < 0), 0
)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__26885; goto __pyx_L3_error;}
26886 }
26887 } else {
26888 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
26889 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
26890 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
26891 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
26892 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
26893 break;
26894 default: goto __pyx_L5_argtuple_error;
26895 }
26896 }
26897 __pyx_v_pos = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_pos == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_pos == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__26897; goto __pyx_L3_error;}
26898 __pyx_v_url = values[1];
26899 __pyx_v_playlist = values[2];
26900 __pyx_v_cb = values[3];
26901 }
26902 goto __pyx_L4_argument_unpacking_done;
26903 __pyx_L5_argtuple_error:;
26904 __Pyx_RaiseArgtupleInvalid("playlist_rinsert_encoded", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__26904; goto __pyx_L3_error;}
26905 __pyx_L3_error:;
26906 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_rinsert_encoded", __pyx_clineno, __pyx_lineno, __pyx_filename);
26907 __Pyx_RefNannyFinishContext();
26908 return NULL((void*)0);
26909 __pyx_L4_argument_unpacking_done:;
26910 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_48playlist_rinsert_encoded(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_pos, __pyx_v_url, __pyx_v_playlist, __pyx_v_cb);
26911
26912 /* function exit code */
26913 __Pyx_RefNannyFinishContext();
26914 return __pyx_r;
26915}
26916
26917static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_48playlist_rinsert_encoded(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_pos, PyObject *__pyx_v_url, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb) {
26918 PyObject *__pyx_r = NULL((void*)0);
26919 __Pyx_RefNannyDeclarations
26920 PyObject *__pyx_t_1 = NULL((void*)0);
26921 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_rinsert __pyx_t_2;
26922 int __pyx_lineno = 0;
26923 const char *__pyx_filename = NULL((void*)0);
26924 int __pyx_clineno = 0;
26925 __Pyx_RefNannySetupContext("playlist_rinsert_encoded", 0);
26926
26927 /* "xmmsapi.pyx":1287
26928 * Use playlist_rinsert(pos, url, ..., encoded = True) instead
26929 * """
26930 * return self.playlist_rinsert(pos, url, playlist, cb = cb, encoded = True) # <<<<<<<<<<<<<<
26931 *
26932 * cpdef XmmsResult playlist_insert_url(self, int pos, url, playlist = None, cb = None, encoded = False):
26933 */
26934 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
26935 __pyx_t_2.__pyx_n = 3;
26936 __pyx_t_2.playlist = __pyx_v_playlist;
26937 __pyx_t_2.cb = __pyx_v_cb;
26938 __pyx_t_2.encoded = Py_True((PyObject *) &_Py_TrueStruct);
26939 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playlist_rinsert(__pyx_v_self, __pyx_v_pos, __pyx_v_url, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1287; __pyx_clineno = __LINE__26939; goto __pyx_L1_error;}
26940 __Pyx_GOTREF(__pyx_t_1);
26941 __pyx_r = __pyx_t_1;
26942 __pyx_t_1 = 0;
26943 goto __pyx_L0;
26944
26945 /* "xmmsapi.pyx":1282
26946 *
26947 * @deprecated
26948 * def playlist_rinsert_encoded(self, int pos, url, playlist = None, cb = None): # <<<<<<<<<<<<<<
26949 * """
26950 * @deprecated
26951 */
26952
26953 /* function exit code */
26954 __pyx_L1_error:;
26955 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
26956 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_rinsert_encoded", __pyx_clineno, __pyx_lineno, __pyx_filename);
26957 __pyx_r = NULL((void*)0);
26958 __pyx_L0:;
26959 __Pyx_XGIVEREF(__pyx_r);
26960 __Pyx_RefNannyFinishContext();
26961 return __pyx_r;
26962}
26963
26964/* "xmmsapi.pyx":1289
26965 * return self.playlist_rinsert(pos, url, playlist, cb = cb, encoded = True)
26966 *
26967 * cpdef XmmsResult playlist_insert_url(self, int pos, url, playlist = None, cb = None, encoded = False): # <<<<<<<<<<<<<<
26968 * """
26969 * Insert a path or URL to a playable media item to the playlist.
26970 */
26971
26972static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_51playlist_insert_url(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
26973static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playlist_insert_url(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_pos, PyObject *__pyx_v_url, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_insert_url *__pyx_optional_args) {
26974 PyObject *__pyx_v_playlist = ((PyObject *)Py_None(&_Py_NoneStruct));
26975 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
26976 PyObject *__pyx_v_encoded = ((PyObject *)Py_False((PyObject *) &_Py_ZeroStruct));
26977 xmmsc_result_t *__pyx_v_res;
26978 PyObject *__pyx_v_c = NULL((void*)0);
26979 PyObject *__pyx_v_p = NULL((void*)0);
26980 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
26981 __Pyx_RefNannyDeclarations
26982 PyObject *__pyx_t_1 = NULL((void*)0);
26983 PyObject *__pyx_t_2 = NULL((void*)0);
26984 PyObject *__pyx_t_3 = NULL((void*)0);
26985 int __pyx_t_4;
26986 char *__pyx_t_5;
26987 char *__pyx_t_6;
26988 int __pyx_lineno = 0;
26989 const char *__pyx_filename = NULL((void*)0);
26990 int __pyx_clineno = 0;
26991 __Pyx_RefNannySetupContext("playlist_insert_url", 0);
26992 if (__pyx_optional_args) {
26993 if (__pyx_optional_args->__pyx_n > 0) {
26994 __pyx_v_playlist = __pyx_optional_args->playlist;
26995 if (__pyx_optional_args->__pyx_n > 1) {
26996 __pyx_v_cb = __pyx_optional_args->cb;
26997 if (__pyx_optional_args->__pyx_n > 2) {
26998 __pyx_v_encoded = __pyx_optional_args->encoded;
26999 }
27000 }
27001 }
27002 }
27003 /* Check if called by wrapper */
27004 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
27005 /* Check if overridden in Python */
27006 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
27007 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playlist_insert_url); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__27007; goto __pyx_L1_error;}
27008 __Pyx_GOTREF(__pyx_t_1);
27009 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_51playlist_insert_url)) {
27010 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
27011 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_pos); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__27011; goto __pyx_L1_error;}
27012 __Pyx_GOTREF(__pyx_t_2);
27013 __pyx_t_3 = PyTuple_New(5); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__27013; goto __pyx_L1_error;}
27014 __Pyx_GOTREF(__pyx_t_3);
27015 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
27016 __Pyx_GIVEREF(__pyx_t_2);
27017 __Pyx_INCREF(__pyx_v_url)( ((PyObject*)(__pyx_v_url))->ob_refcnt++);
27018 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_url)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_url);
27019 __Pyx_GIVEREF(__pyx_v_url);
27020 __Pyx_INCREF(__pyx_v_playlist)( ((PyObject*)(__pyx_v_playlist))->ob_refcnt++);
27021 PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_playlist)(((PyTupleObject *)(__pyx_t_3))->ob_item[2] = __pyx_v_playlist
)
;
27022 __Pyx_GIVEREF(__pyx_v_playlist);
27023 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
27024 PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_3))->ob_item[3] = __pyx_v_cb);
27025 __Pyx_GIVEREF(__pyx_v_cb);
27026 __Pyx_INCREF(__pyx_v_encoded)( ((PyObject*)(__pyx_v_encoded))->ob_refcnt++);
27027 PyTuple_SET_ITEM(__pyx_t_3, 4, __pyx_v_encoded)(((PyTupleObject *)(__pyx_t_3))->ob_item[4] = __pyx_v_encoded
)
;
27028 __Pyx_GIVEREF(__pyx_v_encoded);
27029 __pyx_t_2 = 0;
27030 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__27030; goto __pyx_L1_error;}
27031 __Pyx_GOTREF(__pyx_t_2);
27032 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
27033 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_2) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__27033; goto __pyx_L1_error;}
27034 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_2);
27035 __pyx_t_2 = 0;
27036 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
27037 goto __pyx_L0;
27038 }
27039 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
27040 }
27041
27042 /* "xmmsapi.pyx":1299
27043 * cdef xmmsc_result_t *res
27044 *
27045 * c = from_unicode(url) # <<<<<<<<<<<<<<
27046 * p = check_playlist(playlist, True)
27047 *
27048 */
27049 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_url); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1299; __pyx_clineno = __LINE__27049; goto __pyx_L1_error;}
27050 __Pyx_GOTREF(__pyx_t_1);
27051 __pyx_v_c = __pyx_t_1;
27052 __pyx_t_1 = 0;
27053
27054 /* "xmmsapi.pyx":1300
27055 *
27056 * c = from_unicode(url)
27057 * p = check_playlist(playlist, True) # <<<<<<<<<<<<<<
27058 *
27059 * if encoded:
27060 */
27061 __pyx_t_1 = __pyx_f_7xmmsapi_check_playlist(__pyx_v_playlist, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__27061; goto __pyx_L1_error;}
27062 __Pyx_GOTREF(__pyx_t_1);
27063 __pyx_v_p = __pyx_t_1;
27064 __pyx_t_1 = 0;
27065
27066 /* "xmmsapi.pyx":1302
27067 * p = check_playlist(playlist, True)
27068 *
27069 * if encoded: # <<<<<<<<<<<<<<
27070 * res = xmmsc_playlist_insert_encoded(self.conn, <char *>p, pos, <char *>c)
27071 * else:
27072 */
27073 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_encoded); if (unlikely(__pyx_t_4 < 0)__builtin_expect(!!(__pyx_t_4 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1302; __pyx_clineno = __LINE__27073; goto __pyx_L1_error;}
27074 if (__pyx_t_4) {
27075
27076 /* "xmmsapi.pyx":1303
27077 *
27078 * if encoded:
27079 * res = xmmsc_playlist_insert_encoded(self.conn, <char *>p, pos, <char *>c) # <<<<<<<<<<<<<<
27080 * else:
27081 * res = xmmsc_playlist_insert_url(self.conn, <char *>p, pos, <char *>c)
27082 */
27083 __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_5) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_5) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__27083; goto __pyx_L1_error;}
27084 __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_c); if (unlikely((!__pyx_t_6) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_6) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__27084; goto __pyx_L1_error;}
27085 __pyx_v_res = xmmsc_playlist_insert_encoded(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_5), __pyx_v_pos, ((char *)__pyx_t_6));
27086 goto __pyx_L3;
27087 }
27088 /*else*/ {
27089
27090 /* "xmmsapi.pyx":1305
27091 * res = xmmsc_playlist_insert_encoded(self.conn, <char *>p, pos, <char *>c)
27092 * else:
27093 * res = xmmsc_playlist_insert_url(self.conn, <char *>p, pos, <char *>c) # <<<<<<<<<<<<<<
27094 * return self.create_result(cb, res)
27095 *
27096 */
27097 __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_6) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_6) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1305; __pyx_clineno = __LINE__27097; goto __pyx_L1_error;}
27098 __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_c); if (unlikely((!__pyx_t_5) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_5) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1305; __pyx_clineno = __LINE__27098; goto __pyx_L1_error;}
27099 __pyx_v_res = xmmsc_playlist_insert_url(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_6), __pyx_v_pos, ((char *)__pyx_t_5));
27100 }
27101 __pyx_L3:;
27102
27103 /* "xmmsapi.pyx":1306
27104 * else:
27105 * res = xmmsc_playlist_insert_url(self.conn, <char *>p, pos, <char *>c)
27106 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
27107 *
27108 * @deprecated
27109 */
27110 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
27111 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1306; __pyx_clineno = __LINE__27111; goto __pyx_L1_error;}
27112 __Pyx_GOTREF(__pyx_t_1);
27113 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
27114 __pyx_t_1 = 0;
27115 goto __pyx_L0;
27116
27117 /* "xmmsapi.pyx":1289
27118 * return self.playlist_rinsert(pos, url, playlist, cb = cb, encoded = True)
27119 *
27120 * cpdef XmmsResult playlist_insert_url(self, int pos, url, playlist = None, cb = None, encoded = False): # <<<<<<<<<<<<<<
27121 * """
27122 * Insert a path or URL to a playable media item to the playlist.
27123 */
27124
27125 /* function exit code */
27126 __pyx_L1_error:;
27127 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
27128 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
27129 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
27130 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_insert_url", __pyx_clineno, __pyx_lineno, __pyx_filename);
27131 __pyx_r = 0;
27132 __pyx_L0:;
27133 __Pyx_XDECREF(__pyx_v_c)do { if ((__pyx_v_c) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_c))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_c)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_c)))); } while (0); } while (0)
;
27134 __Pyx_XDECREF(__pyx_v_p)do { if ((__pyx_v_p) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_p))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_p)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_p)))); } while (0); } while (0)
;
27135 __Pyx_XGIVEREF((PyObject *)__pyx_r);
27136 __Pyx_RefNannyFinishContext();
27137 return __pyx_r;
27138}
27139
27140/* Python wrapper */
27141static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_51playlist_insert_url(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
27142static char __pyx_doc_7xmmsapi_7XmmsApi_50playlist_insert_url[] = "XmmsApi.playlist_insert_url(self, int pos, url, playlist=None, cb=None, encoded=False) -> XmmsResult\n\n\t\tInsert a path or URL to a playable media item to the playlist.\n\t\tPlayable media items may be files or streams.\n\t\tRequires an int 'pos' and a string 'url' as argument.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
27143static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_51playlist_insert_url(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
27144 int __pyx_v_pos;
27145 PyObject *__pyx_v_url = 0;
27146 PyObject *__pyx_v_playlist = 0;
27147 PyObject *__pyx_v_cb = 0;
27148 PyObject *__pyx_v_encoded = 0;
27149 int __pyx_lineno = 0;
27150 const char *__pyx_filename = NULL((void*)0);
27151 int __pyx_clineno = 0;
27152 PyObject *__pyx_r = 0;
27153 __Pyx_RefNannyDeclarations
27154 __Pyx_RefNannySetupContext("playlist_insert_url (wrapper)", 0);
27155 {
27156 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pos,&__pyx_n_s_url,&__pyx_n_s_playlist,&__pyx_n_s_cb,&__pyx_n_s_encoded,0};
27157 PyObject* values[5] = {0,0,0,0,0};
27158 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
27159 values[3] = ((PyObject *)Py_None(&_Py_NoneStruct));
27160 values[4] = ((PyObject *)Py_False((PyObject *) &_Py_ZeroStruct));
27161 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
27162 Py_ssize_t kw_args;
27163 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
27164 switch (pos_args) {
27165 case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4)(((PyTupleObject *)(__pyx_args))->ob_item[4]);
27166 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
27167 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
27168 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
27169 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
27170 case 0: break;
27171 default: goto __pyx_L5_argtuple_error;
27172 }
27173 kw_args = PyDict_Size(__pyx_kwds);
27174 switch (pos_args) {
27175 case 0:
27176 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pos)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pos
)) != 0), 1)
) kw_args--;
27177 else goto __pyx_L5_argtuple_error;
27178 case 1:
27179 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_url)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_url
)) != 0), 1)
) kw_args--;
27180 else {
27181 __Pyx_RaiseArgtupleInvalid("playlist_insert_url", 0, 2, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__27181; goto __pyx_L3_error;}
27182 }
27183 case 2:
27184 if (kw_args > 0) {
27185 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_playlist);
27186 if (value) { values[2] = value; kw_args--; }
27187 }
27188 case 3:
27189 if (kw_args > 0) {
27190 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
27191 if (value) { values[3] = value; kw_args--; }
27192 }
27193 case 4:
27194 if (kw_args > 0) {
27195 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_encoded);
27196 if (value) { values[4] = value; kw_args--; }
27197 }
27198 }
27199 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
27200 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playlist_insert_url") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playlist_insert_url") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__27200; goto __pyx_L3_error;}
27201 }
27202 } else {
27203 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
27204 case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4)(((PyTupleObject *)(__pyx_args))->ob_item[4]);
27205 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
27206 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
27207 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
27208 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
27209 break;
27210 default: goto __pyx_L5_argtuple_error;
27211 }
27212 }
27213 __pyx_v_pos = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_pos == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_pos == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__27213; goto __pyx_L3_error;}
27214 __pyx_v_url = values[1];
27215 __pyx_v_playlist = values[2];
27216 __pyx_v_cb = values[3];
27217 __pyx_v_encoded = values[4];
27218 }
27219 goto __pyx_L4_argument_unpacking_done;
27220 __pyx_L5_argtuple_error:;
27221 __Pyx_RaiseArgtupleInvalid("playlist_insert_url", 0, 2, 5, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__27221; goto __pyx_L3_error;}
27222 __pyx_L3_error:;
27223 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_insert_url", __pyx_clineno, __pyx_lineno, __pyx_filename);
27224 __Pyx_RefNannyFinishContext();
27225 return NULL((void*)0);
27226 __pyx_L4_argument_unpacking_done:;
27227 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_50playlist_insert_url(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_pos, __pyx_v_url, __pyx_v_playlist, __pyx_v_cb, __pyx_v_encoded);
27228
27229 /* function exit code */
27230 __Pyx_RefNannyFinishContext();
27231 return __pyx_r;
27232}
27233
27234static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_50playlist_insert_url(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_pos, PyObject *__pyx_v_url, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb, PyObject *__pyx_v_encoded) {
27235 PyObject *__pyx_r = NULL((void*)0);
27236 __Pyx_RefNannyDeclarations
27237 PyObject *__pyx_t_1 = NULL((void*)0);
27238 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_insert_url __pyx_t_2;
27239 int __pyx_lineno = 0;
27240 const char *__pyx_filename = NULL((void*)0);
27241 int __pyx_clineno = 0;
27242 __Pyx_RefNannySetupContext("playlist_insert_url", 0);
27243 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
27244 __pyx_t_2.__pyx_n = 3;
27245 __pyx_t_2.playlist = __pyx_v_playlist;
27246 __pyx_t_2.cb = __pyx_v_cb;
27247 __pyx_t_2.encoded = __pyx_v_encoded;
27248 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playlist_insert_url(__pyx_v_self, __pyx_v_pos, __pyx_v_url, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__27248; goto __pyx_L1_error;}
27249 __Pyx_GOTREF(__pyx_t_1);
27250 __pyx_r = __pyx_t_1;
27251 __pyx_t_1 = 0;
27252 goto __pyx_L0;
27253
27254 /* function exit code */
27255 __pyx_L1_error:;
27256 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
27257 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_insert_url", __pyx_clineno, __pyx_lineno, __pyx_filename);
27258 __pyx_r = NULL((void*)0);
27259 __pyx_L0:;
27260 __Pyx_XGIVEREF(__pyx_r);
27261 __Pyx_RefNannyFinishContext();
27262 return __pyx_r;
27263}
27264
27265/* "xmmsapi.pyx":1309
27266 *
27267 * @deprecated
27268 * def playlist_insert_encoded(self, int pos, url, playlist = None, cb = None): # <<<<<<<<<<<<<<
27269 * """
27270 * @deprecated
27271 */
27272
27273/* Python wrapper */
27274static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_53playlist_insert_encoded(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
27275static char __pyx_doc_7xmmsapi_7XmmsApi_52playlist_insert_encoded[] = "XmmsApi.playlist_insert_encoded(self, int pos, url, playlist=None, cb=None)\n\n\t\t@deprecated\n\t\tUse playlist_insert_url(pos, url, ..., encoded = True) instead\n\t\t";
27276static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_53playlist_insert_encoded(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
27277 int __pyx_v_pos;
27278 PyObject *__pyx_v_url = 0;
27279 PyObject *__pyx_v_playlist = 0;
27280 PyObject *__pyx_v_cb = 0;
27281 int __pyx_lineno = 0;
27282 const char *__pyx_filename = NULL((void*)0);
27283 int __pyx_clineno = 0;
27284 PyObject *__pyx_r = 0;
27285 __Pyx_RefNannyDeclarations
27286 __Pyx_RefNannySetupContext("playlist_insert_encoded (wrapper)", 0);
27287 {
27288 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pos,&__pyx_n_s_url,&__pyx_n_s_playlist,&__pyx_n_s_cb,0};
27289 PyObject* values[4] = {0,0,0,0};
27290 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
27291 values[3] = ((PyObject *)Py_None(&_Py_NoneStruct));
27292 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
27293 Py_ssize_t kw_args;
27294 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
27295 switch (pos_args) {
27296 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
27297 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
27298 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
27299 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
27300 case 0: break;
27301 default: goto __pyx_L5_argtuple_error;
27302 }
27303 kw_args = PyDict_Size(__pyx_kwds);
27304 switch (pos_args) {
27305 case 0:
27306 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pos)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pos
)) != 0), 1)
) kw_args--;
27307 else goto __pyx_L5_argtuple_error;
27308 case 1:
27309 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_url)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_url
)) != 0), 1)
) kw_args--;
27310 else {
27311 __Pyx_RaiseArgtupleInvalid("playlist_insert_encoded", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__27311; goto __pyx_L3_error;}
27312 }
27313 case 2:
27314 if (kw_args > 0) {
27315 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_playlist);
27316 if (value) { values[2] = value; kw_args--; }
27317 }
27318 case 3:
27319 if (kw_args > 0) {
27320 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
27321 if (value) { values[3] = value; kw_args--; }
27322 }
27323 }
27324 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
27325 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playlist_insert_encoded") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playlist_insert_encoded") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__27325; goto __pyx_L3_error;}
27326 }
27327 } else {
27328 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
27329 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
27330 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
27331 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
27332 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
27333 break;
27334 default: goto __pyx_L5_argtuple_error;
27335 }
27336 }
27337 __pyx_v_pos = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_pos == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_pos == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__27337; goto __pyx_L3_error;}
27338 __pyx_v_url = values[1];
27339 __pyx_v_playlist = values[2];
27340 __pyx_v_cb = values[3];
27341 }
27342 goto __pyx_L4_argument_unpacking_done;
27343 __pyx_L5_argtuple_error:;
27344 __Pyx_RaiseArgtupleInvalid("playlist_insert_encoded", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__27344; goto __pyx_L3_error;}
27345 __pyx_L3_error:;
27346 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_insert_encoded", __pyx_clineno, __pyx_lineno, __pyx_filename);
27347 __Pyx_RefNannyFinishContext();
27348 return NULL((void*)0);
27349 __pyx_L4_argument_unpacking_done:;
27350 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_52playlist_insert_encoded(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_pos, __pyx_v_url, __pyx_v_playlist, __pyx_v_cb);
27351
27352 /* function exit code */
27353 __Pyx_RefNannyFinishContext();
27354 return __pyx_r;
27355}
27356
27357static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_52playlist_insert_encoded(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_pos, PyObject *__pyx_v_url, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb) {
27358 PyObject *__pyx_r = NULL((void*)0);
27359 __Pyx_RefNannyDeclarations
27360 PyObject *__pyx_t_1 = NULL((void*)0);
27361 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_insert_url __pyx_t_2;
27362 int __pyx_lineno = 0;
27363 const char *__pyx_filename = NULL((void*)0);
27364 int __pyx_clineno = 0;
27365 __Pyx_RefNannySetupContext("playlist_insert_encoded", 0);
27366
27367 /* "xmmsapi.pyx":1314
27368 * Use playlist_insert_url(pos, url, ..., encoded = True) instead
27369 * """
27370 * return self.playlist_insert_url(pos, url, playlist, cb = cb, encoded = True) # <<<<<<<<<<<<<<
27371 *
27372 *
27373 */
27374 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
27375 __pyx_t_2.__pyx_n = 3;
27376 __pyx_t_2.playlist = __pyx_v_playlist;
27377 __pyx_t_2.cb = __pyx_v_cb;
27378 __pyx_t_2.encoded = Py_True((PyObject *) &_Py_TrueStruct);
27379 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playlist_insert_url(__pyx_v_self, __pyx_v_pos, __pyx_v_url, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1314; __pyx_clineno = __LINE__27379; goto __pyx_L1_error;}
27380 __Pyx_GOTREF(__pyx_t_1);
27381 __pyx_r = __pyx_t_1;
27382 __pyx_t_1 = 0;
27383 goto __pyx_L0;
27384
27385 /* "xmmsapi.pyx":1309
27386 *
27387 * @deprecated
27388 * def playlist_insert_encoded(self, int pos, url, playlist = None, cb = None): # <<<<<<<<<<<<<<
27389 * """
27390 * @deprecated
27391 */
27392
27393 /* function exit code */
27394 __pyx_L1_error:;
27395 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
27396 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_insert_encoded", __pyx_clineno, __pyx_lineno, __pyx_filename);
27397 __pyx_r = NULL((void*)0);
27398 __pyx_L0:;
27399 __Pyx_XGIVEREF(__pyx_r);
27400 __Pyx_RefNannyFinishContext();
27401 return __pyx_r;
27402}
27403
27404/* "xmmsapi.pyx":1317
27405 *
27406 *
27407 * cpdef XmmsResult playlist_insert_id(self, int pos, int id, playlist = None, cb = None): # <<<<<<<<<<<<<<
27408 * """
27409 * Insert a medialib to the playlist.
27410 */
27411
27412static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_55playlist_insert_id(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
27413static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playlist_insert_id(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_pos, int __pyx_v_id, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_insert_id *__pyx_optional_args) {
27414 PyObject *__pyx_v_playlist = ((PyObject *)Py_None(&_Py_NoneStruct));
27415 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
27416 PyObject *__pyx_v_p = NULL((void*)0);
27417 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
27418 __Pyx_RefNannyDeclarations
27419 PyObject *__pyx_t_1 = NULL((void*)0);
27420 PyObject *__pyx_t_2 = NULL((void*)0);
27421 PyObject *__pyx_t_3 = NULL((void*)0);
27422 PyObject *__pyx_t_4 = NULL((void*)0);
27423 char *__pyx_t_5;
27424 int __pyx_lineno = 0;
27425 const char *__pyx_filename = NULL((void*)0);
27426 int __pyx_clineno = 0;
27427 __Pyx_RefNannySetupContext("playlist_insert_id", 0);
27428 if (__pyx_optional_args) {
27429 if (__pyx_optional_args->__pyx_n > 0) {
27430 __pyx_v_playlist = __pyx_optional_args->playlist;
27431 if (__pyx_optional_args->__pyx_n > 1) {
27432 __pyx_v_cb = __pyx_optional_args->cb;
27433 }
27434 }
27435 }
27436 /* Check if called by wrapper */
27437 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
27438 /* Check if overridden in Python */
27439 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
27440 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playlist_insert_id); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__27440; goto __pyx_L1_error;}
27441 __Pyx_GOTREF(__pyx_t_1);
27442 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_55playlist_insert_id)) {
27443 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
27444 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_pos); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__27444; goto __pyx_L1_error;}
27445 __Pyx_GOTREF(__pyx_t_2);
27446 __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_id); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__27446; goto __pyx_L1_error;}
27447 __Pyx_GOTREF(__pyx_t_3);
27448 __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__27448; goto __pyx_L1_error;}
27449 __Pyx_GOTREF(__pyx_t_4);
27450 PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_4))->ob_item[0] = __pyx_t_2);
27451 __Pyx_GIVEREF(__pyx_t_2);
27452 PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3)(((PyTupleObject *)(__pyx_t_4))->ob_item[1] = __pyx_t_3);
27453 __Pyx_GIVEREF(__pyx_t_3);
27454 __Pyx_INCREF(__pyx_v_playlist)( ((PyObject*)(__pyx_v_playlist))->ob_refcnt++);
27455 PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_playlist)(((PyTupleObject *)(__pyx_t_4))->ob_item[2] = __pyx_v_playlist
)
;
27456 __Pyx_GIVEREF(__pyx_v_playlist);
27457 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
27458 PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_4))->ob_item[3] = __pyx_v_cb);
27459 __Pyx_GIVEREF(__pyx_v_cb);
27460 __pyx_t_2 = 0;
27461 __pyx_t_3 = 0;
27462 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__27462; goto __pyx_L1_error;}
27463 __Pyx_GOTREF(__pyx_t_3);
27464 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
27465 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__27465; goto __pyx_L1_error;}
27466 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
27467 __pyx_t_3 = 0;
27468 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
27469 goto __pyx_L0;
27470 }
27471 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
27472 }
27473
27474 /* "xmmsapi.pyx":1324
27475 * @return: The result of the operation.
27476 * """
27477 * p = check_playlist(playlist, True) # <<<<<<<<<<<<<<
27478 * return self.create_result(cb, xmmsc_playlist_insert_id(self.conn, <char *>p, pos, id))
27479 *
27480 */
27481 __pyx_t_1 = __pyx_f_7xmmsapi_check_playlist(__pyx_v_playlist, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__27481; goto __pyx_L1_error;}
27482 __Pyx_GOTREF(__pyx_t_1);
27483 __pyx_v_p = __pyx_t_1;
27484 __pyx_t_1 = 0;
27485
27486 /* "xmmsapi.pyx":1325
27487 * """
27488 * p = check_playlist(playlist, True)
27489 * return self.create_result(cb, xmmsc_playlist_insert_id(self.conn, <char *>p, pos, id)) # <<<<<<<<<<<<<<
27490 *
27491 *
27492 */
27493 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
27494 __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_5) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_5) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__27494; goto __pyx_L1_error;}
27495 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_playlist_insert_id(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_5), __pyx_v_pos, __pyx_v_id))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__27495; goto __pyx_L1_error;}
27496 __Pyx_GOTREF(__pyx_t_1);
27497 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
27498 __pyx_t_1 = 0;
27499 goto __pyx_L0;
27500
27501 /* "xmmsapi.pyx":1317
27502 *
27503 *
27504 * cpdef XmmsResult playlist_insert_id(self, int pos, int id, playlist = None, cb = None): # <<<<<<<<<<<<<<
27505 * """
27506 * Insert a medialib to the playlist.
27507 */
27508
27509 /* function exit code */
27510 __pyx_L1_error:;
27511 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
27512 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
27513 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
27514 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
;
27515 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_insert_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
27516 __pyx_r = 0;
27517 __pyx_L0:;
27518 __Pyx_XDECREF(__pyx_v_p)do { if ((__pyx_v_p) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_p))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_p)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_p)))); } while (0); } while (0)
;
27519 __Pyx_XGIVEREF((PyObject *)__pyx_r);
27520 __Pyx_RefNannyFinishContext();
27521 return __pyx_r;
27522}
27523
27524/* Python wrapper */
27525static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_55playlist_insert_id(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
27526static char __pyx_doc_7xmmsapi_7XmmsApi_54playlist_insert_id[] = "XmmsApi.playlist_insert_id(self, int pos, int id, playlist=None, cb=None) -> XmmsResult\n\n\t\tInsert a medialib to the playlist.\n\t\tRequires an int 'pos' and an int 'id' as argument.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
27527static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_55playlist_insert_id(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
27528 int __pyx_v_pos;
27529 int __pyx_v_id;
27530 PyObject *__pyx_v_playlist = 0;
27531 PyObject *__pyx_v_cb = 0;
27532 int __pyx_lineno = 0;
27533 const char *__pyx_filename = NULL((void*)0);
27534 int __pyx_clineno = 0;
27535 PyObject *__pyx_r = 0;
27536 __Pyx_RefNannyDeclarations
27537 __Pyx_RefNannySetupContext("playlist_insert_id (wrapper)", 0);
27538 {
27539 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pos,&__pyx_n_s_id,&__pyx_n_s_playlist,&__pyx_n_s_cb,0};
27540 PyObject* values[4] = {0,0,0,0};
27541 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
27542 values[3] = ((PyObject *)Py_None(&_Py_NoneStruct));
27543 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
27544 Py_ssize_t kw_args;
27545 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
27546 switch (pos_args) {
27547 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
27548 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
27549 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
27550 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
27551 case 0: break;
27552 default: goto __pyx_L5_argtuple_error;
27553 }
27554 kw_args = PyDict_Size(__pyx_kwds);
27555 switch (pos_args) {
27556 case 0:
27557 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pos)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pos
)) != 0), 1)
) kw_args--;
27558 else goto __pyx_L5_argtuple_error;
27559 case 1:
27560 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_id)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_id
)) != 0), 1)
) kw_args--;
27561 else {
27562 __Pyx_RaiseArgtupleInvalid("playlist_insert_id", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__27562; goto __pyx_L3_error;}
27563 }
27564 case 2:
27565 if (kw_args > 0) {
27566 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_playlist);
27567 if (value) { values[2] = value; kw_args--; }
27568 }
27569 case 3:
27570 if (kw_args > 0) {
27571 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
27572 if (value) { values[3] = value; kw_args--; }
27573 }
27574 }
27575 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
27576 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playlist_insert_id") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playlist_insert_id") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__27576; goto __pyx_L3_error;}
27577 }
27578 } else {
27579 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
27580 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
27581 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
27582 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
27583 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
27584 break;
27585 default: goto __pyx_L5_argtuple_error;
27586 }
27587 }
27588 __pyx_v_pos = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_pos == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_pos == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__27588; goto __pyx_L3_error;}
27589 __pyx_v_id = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_id == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_id == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__27589; goto __pyx_L3_error;}
27590 __pyx_v_playlist = values[2];
27591 __pyx_v_cb = values[3];
27592 }
27593 goto __pyx_L4_argument_unpacking_done;
27594 __pyx_L5_argtuple_error:;
27595 __Pyx_RaiseArgtupleInvalid("playlist_insert_id", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__27595; goto __pyx_L3_error;}
27596 __pyx_L3_error:;
27597 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_insert_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
27598 __Pyx_RefNannyFinishContext();
27599 return NULL((void*)0);
27600 __pyx_L4_argument_unpacking_done:;
27601 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_54playlist_insert_id(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_pos, __pyx_v_id, __pyx_v_playlist, __pyx_v_cb);
27602
27603 /* function exit code */
27604 __Pyx_RefNannyFinishContext();
27605 return __pyx_r;
27606}
27607
27608static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_54playlist_insert_id(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_pos, int __pyx_v_id, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb) {
27609 PyObject *__pyx_r = NULL((void*)0);
27610 __Pyx_RefNannyDeclarations
27611 PyObject *__pyx_t_1 = NULL((void*)0);
27612 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_insert_id __pyx_t_2;
27613 int __pyx_lineno = 0;
27614 const char *__pyx_filename = NULL((void*)0);
27615 int __pyx_clineno = 0;
27616 __Pyx_RefNannySetupContext("playlist_insert_id", 0);
27617 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
27618 __pyx_t_2.__pyx_n = 2;
27619 __pyx_t_2.playlist = __pyx_v_playlist;
27620 __pyx_t_2.cb = __pyx_v_cb;
27621 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playlist_insert_id(__pyx_v_self, __pyx_v_pos, __pyx_v_id, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1317; __pyx_clineno = __LINE__27621; goto __pyx_L1_error;}
27622 __Pyx_GOTREF(__pyx_t_1);
27623 __pyx_r = __pyx_t_1;
27624 __pyx_t_1 = 0;
27625 goto __pyx_L0;
27626
27627 /* function exit code */
27628 __pyx_L1_error:;
27629 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
27630 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_insert_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
27631 __pyx_r = NULL((void*)0);
27632 __pyx_L0:;
27633 __Pyx_XGIVEREF(__pyx_r);
27634 __Pyx_RefNannyFinishContext();
27635 return __pyx_r;
27636}
27637
27638/* "xmmsapi.pyx":1328
27639 *
27640 *
27641 * cpdef XmmsResult playlist_insert_collection(self, int pos, Collection coll, order = None, playlist = None, cb = None): # <<<<<<<<<<<<<<
27642 * """
27643 * Insert the content of a collection to the playlist.
27644 */
27645
27646static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_57playlist_insert_collection(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
27647static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playlist_insert_collection(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_pos, struct __pyx_obj_9xmmsvalue_Collection *__pyx_v_coll, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_insert_collection *__pyx_optional_args) {
27648 PyObject *__pyx_v_order = ((PyObject *)Py_None(&_Py_NoneStruct));
27649 PyObject *__pyx_v_playlist = ((PyObject *)Py_None(&_Py_NoneStruct));
27650 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
27651 xmmsv_t *__pyx_v_order_val;
27652 xmmsc_result_t *__pyx_v_res;
27653 PyObject *__pyx_v_p = NULL((void*)0);
27654 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
27655 __Pyx_RefNannyDeclarations
27656 PyObject *__pyx_t_1 = NULL((void*)0);
27657 PyObject *__pyx_t_2 = NULL((void*)0);
27658 PyObject *__pyx_t_3 = NULL((void*)0);
27659 int __pyx_t_4;
27660 int __pyx_t_5;
27661 xmmsv_t *__pyx_t_6;
27662 char *__pyx_t_7;
27663 int __pyx_lineno = 0;
27664 const char *__pyx_filename = NULL((void*)0);
27665 int __pyx_clineno = 0;
27666 __Pyx_RefNannySetupContext("playlist_insert_collection", 0);
27667 if (__pyx_optional_args) {
27668 if (__pyx_optional_args->__pyx_n > 0) {
27669 __pyx_v_order = __pyx_optional_args->order;
27670 if (__pyx_optional_args->__pyx_n > 1) {
27671 __pyx_v_playlist = __pyx_optional_args->playlist;
27672 if (__pyx_optional_args->__pyx_n > 2) {
27673 __pyx_v_cb = __pyx_optional_args->cb;
27674 }
27675 }
27676 }
27677 }
27678 __Pyx_INCREF(__pyx_v_order)( ((PyObject*)(__pyx_v_order))->ob_refcnt++);
27679 /* Check if called by wrapper */
27680 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
27681 /* Check if overridden in Python */
27682 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
27683 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playlist_insert_collection); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__27683; goto __pyx_L1_error;}
27684 __Pyx_GOTREF(__pyx_t_1);
27685 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_57playlist_insert_collection)) {
27686 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
27687 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_pos); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__27687; goto __pyx_L1_error;}
27688 __Pyx_GOTREF(__pyx_t_2);
27689 __pyx_t_3 = PyTuple_New(5); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__27689; goto __pyx_L1_error;}
27690 __Pyx_GOTREF(__pyx_t_3);
27691 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
27692 __Pyx_GIVEREF(__pyx_t_2);
27693 __Pyx_INCREF(((PyObject *)__pyx_v_coll))( ((PyObject*)(((PyObject *)__pyx_v_coll)))->ob_refcnt++);
27694 PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_coll))(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = ((PyObject *
)__pyx_v_coll))
;
27695 __Pyx_GIVEREF(((PyObject *)__pyx_v_coll));
27696 __Pyx_INCREF(__pyx_v_order)( ((PyObject*)(__pyx_v_order))->ob_refcnt++);
27697 PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_order)(((PyTupleObject *)(__pyx_t_3))->ob_item[2] = __pyx_v_order
)
;
27698 __Pyx_GIVEREF(__pyx_v_order);
27699 __Pyx_INCREF(__pyx_v_playlist)( ((PyObject*)(__pyx_v_playlist))->ob_refcnt++);
27700 PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_v_playlist)(((PyTupleObject *)(__pyx_t_3))->ob_item[3] = __pyx_v_playlist
)
;
27701 __Pyx_GIVEREF(__pyx_v_playlist);
27702 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
27703 PyTuple_SET_ITEM(__pyx_t_3, 4, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_3))->ob_item[4] = __pyx_v_cb);
27704 __Pyx_GIVEREF(__pyx_v_cb);
27705 __pyx_t_2 = 0;
27706 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__27706; goto __pyx_L1_error;}
27707 __Pyx_GOTREF(__pyx_t_2);
27708 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
27709 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_2) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__27709; goto __pyx_L1_error;}
27710 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_2);
27711 __pyx_t_2 = 0;
27712 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
27713 goto __pyx_L0;
27714 }
27715 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
27716 }
27717
27718 /* "xmmsapi.pyx":1338
27719 * cdef xmmsc_result_t *res
27720 *
27721 * if order is None: # <<<<<<<<<<<<<<
27722 * order = []
27723 * p = check_playlist(playlist, True)
27724 */
27725 __pyx_t_4 = (__pyx_v_order == Py_None(&_Py_NoneStruct));
27726 __pyx_t_5 = (__pyx_t_4 != 0);
27727 if (__pyx_t_5) {
27728
27729 /* "xmmsapi.pyx":1339
27730 *
27731 * if order is None:
27732 * order = [] # <<<<<<<<<<<<<<
27733 * p = check_playlist(playlist, True)
27734 * order_val = create_native_value(order)
27735 */
27736 __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__27736; goto __pyx_L1_error;}
27737 __Pyx_GOTREF(__pyx_t_1);
27738 __Pyx_DECREF_SET(__pyx_v_order, __pyx_t_1)do { PyObject *tmp = (PyObject *) __pyx_v_order; __pyx_v_order
= __pyx_t_1; do { if ( --((PyObject*)(tmp))->ob_refcnt !=
0) ; else ( (*(((PyObject*)((PyObject *)(tmp)))->ob_type)
->tp_dealloc)((PyObject *)((PyObject *)(tmp)))); } while (
0); } while (0)
;
27739 __pyx_t_1 = 0;
27740 goto __pyx_L3;
27741 }
27742 __pyx_L3:;
27743
27744 /* "xmmsapi.pyx":1340
27745 * if order is None:
27746 * order = []
27747 * p = check_playlist(playlist, True) # <<<<<<<<<<<<<<
27748 * order_val = create_native_value(order)
27749 * res = xmmsc_playlist_insert_collection(self.conn, <char *>p, pos, coll.coll, order_val)
27750 */
27751 __pyx_t_1 = __pyx_f_7xmmsapi_check_playlist(__pyx_v_playlist, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1340; __pyx_clineno = __LINE__27751; goto __pyx_L1_error;}
27752 __Pyx_GOTREF(__pyx_t_1);
27753 __pyx_v_p = __pyx_t_1;
27754 __pyx_t_1 = 0;
27755
27756 /* "xmmsapi.pyx":1341
27757 * order = []
27758 * p = check_playlist(playlist, True)
27759 * order_val = create_native_value(order) # <<<<<<<<<<<<<<
27760 * res = xmmsc_playlist_insert_collection(self.conn, <char *>p, pos, coll.coll, order_val)
27761 * xmmsv_unref(order_val)
27762 */
27763 __pyx_t_6 = __pyx_f_9xmmsvalue_create_native_value(__pyx_v_order); if (unlikely(__pyx_t_6 == NULL)__builtin_expect(!!(__pyx_t_6 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__27763; goto __pyx_L1_error;}
27764 __pyx_v_order_val = __pyx_t_6;
27765
27766 /* "xmmsapi.pyx":1342
27767 * p = check_playlist(playlist, True)
27768 * order_val = create_native_value(order)
27769 * res = xmmsc_playlist_insert_collection(self.conn, <char *>p, pos, coll.coll, order_val) # <<<<<<<<<<<<<<
27770 * xmmsv_unref(order_val)
27771 * return self.create_result(cb, res)
27772 */
27773 __pyx_t_7 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_7) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_7) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__27773; goto __pyx_L1_error;}
27774 __pyx_v_res = xmmsc_playlist_insert_collection(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_7), __pyx_v_pos, __pyx_v_coll->__pyx_base.coll, __pyx_v_order_val);
27775
27776 /* "xmmsapi.pyx":1343
27777 * order_val = create_native_value(order)
27778 * res = xmmsc_playlist_insert_collection(self.conn, <char *>p, pos, coll.coll, order_val)
27779 * xmmsv_unref(order_val) # <<<<<<<<<<<<<<
27780 * return self.create_result(cb, res)
27781 *
27782 */
27783 xmmsv_unref(__pyx_v_order_val);
27784
27785 /* "xmmsapi.pyx":1344
27786 * res = xmmsc_playlist_insert_collection(self.conn, <char *>p, pos, coll.coll, order_val)
27787 * xmmsv_unref(order_val)
27788 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
27789 *
27790 * cpdef XmmsResult playlist_radd(self, url, playlist = None, cb = None, encoded = False):
27791 */
27792 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
27793 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1344; __pyx_clineno = __LINE__27793; goto __pyx_L1_error;}
27794 __Pyx_GOTREF(__pyx_t_1);
27795 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
27796 __pyx_t_1 = 0;
27797 goto __pyx_L0;
27798
27799 /* "xmmsapi.pyx":1328
27800 *
27801 *
27802 * cpdef XmmsResult playlist_insert_collection(self, int pos, Collection coll, order = None, playlist = None, cb = None): # <<<<<<<<<<<<<<
27803 * """
27804 * Insert the content of a collection to the playlist.
27805 */
27806
27807 /* function exit code */
27808 __pyx_L1_error:;
27809 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
27810 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
27811 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
27812 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_insert_collection", __pyx_clineno, __pyx_lineno, __pyx_filename);
27813 __pyx_r = 0;
27814 __pyx_L0:;
27815 __Pyx_XDECREF(__pyx_v_p)do { if ((__pyx_v_p) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_p))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_p)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_p)))); } while (0); } while (0)
;
27816 __Pyx_XDECREF(__pyx_v_order)do { if ((__pyx_v_order) == ((void*)0)) ; else do { if ( --((
PyObject*)(__pyx_v_order))->ob_refcnt != 0) ; else ( (*(((
PyObject*)((PyObject *)(__pyx_v_order)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(__pyx_v_order)))); } while (0); }
while (0)
;
27817 __Pyx_XGIVEREF((PyObject *)__pyx_r);
27818 __Pyx_RefNannyFinishContext();
27819 return __pyx_r;
27820}
27821
27822/* Python wrapper */
27823static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_57playlist_insert_collection(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
27824static char __pyx_doc_7xmmsapi_7XmmsApi_56playlist_insert_collection[] = "XmmsApi.playlist_insert_collection(self, int pos, Collection coll, order=None, playlist=None, cb=None) -> XmmsResult\n\n\t\tInsert the content of a collection to the playlist.\n\t\tRequires an int 'pos' and an int 'id' as argument.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
27825static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_57playlist_insert_collection(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
27826 int __pyx_v_pos;
27827 struct __pyx_obj_9xmmsvalue_Collection *__pyx_v_coll = 0;
27828 PyObject *__pyx_v_order = 0;
27829 PyObject *__pyx_v_playlist = 0;
27830 PyObject *__pyx_v_cb = 0;
27831 int __pyx_lineno = 0;
27832 const char *__pyx_filename = NULL((void*)0);
27833 int __pyx_clineno = 0;
27834 PyObject *__pyx_r = 0;
27835 __Pyx_RefNannyDeclarations
27836 __Pyx_RefNannySetupContext("playlist_insert_collection (wrapper)", 0);
27837 {
27838 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pos,&__pyx_n_s_coll,&__pyx_n_s_order,&__pyx_n_s_playlist,&__pyx_n_s_cb,0};
27839 PyObject* values[5] = {0,0,0,0,0};
27840 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
27841 values[3] = ((PyObject *)Py_None(&_Py_NoneStruct));
27842 values[4] = ((PyObject *)Py_None(&_Py_NoneStruct));
27843 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
27844 Py_ssize_t kw_args;
27845 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
27846 switch (pos_args) {
27847 case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4)(((PyTupleObject *)(__pyx_args))->ob_item[4]);
27848 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
27849 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
27850 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
27851 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
27852 case 0: break;
27853 default: goto __pyx_L5_argtuple_error;
27854 }
27855 kw_args = PyDict_Size(__pyx_kwds);
27856 switch (pos_args) {
27857 case 0:
27858 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pos)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pos
)) != 0), 1)
) kw_args--;
27859 else goto __pyx_L5_argtuple_error;
27860 case 1:
27861 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_coll)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_coll
)) != 0), 1)
) kw_args--;
27862 else {
27863 __Pyx_RaiseArgtupleInvalid("playlist_insert_collection", 0, 2, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__27863; goto __pyx_L3_error;}
27864 }
27865 case 2:
27866 if (kw_args > 0) {
27867 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_order);
27868 if (value) { values[2] = value; kw_args--; }
27869 }
27870 case 3:
27871 if (kw_args > 0) {
27872 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_playlist);
27873 if (value) { values[3] = value; kw_args--; }
27874 }
27875 case 4:
27876 if (kw_args > 0) {
27877 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
27878 if (value) { values[4] = value; kw_args--; }
27879 }
27880 }
27881 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
27882 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playlist_insert_collection") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playlist_insert_collection") < 0),
0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__27882; goto __pyx_L3_error;}
27883 }
27884 } else {
27885 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
27886 case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4)(((PyTupleObject *)(__pyx_args))->ob_item[4]);
27887 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
27888 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
27889 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
27890 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
27891 break;
27892 default: goto __pyx_L5_argtuple_error;
27893 }
27894 }
27895 __pyx_v_pos = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_pos == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_pos == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__27895; goto __pyx_L3_error;}
27896 __pyx_v_coll = ((struct __pyx_obj_9xmmsvalue_Collection *)values[1]);
27897 __pyx_v_order = values[2];
27898 __pyx_v_playlist = values[3];
27899 __pyx_v_cb = values[4];
27900 }
27901 goto __pyx_L4_argument_unpacking_done;
27902 __pyx_L5_argtuple_error:;
27903 __Pyx_RaiseArgtupleInvalid("playlist_insert_collection", 0, 2, 5, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__27903; goto __pyx_L3_error;}
27904 __pyx_L3_error:;
27905 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_insert_collection", __pyx_clineno, __pyx_lineno, __pyx_filename);
27906 __Pyx_RefNannyFinishContext();
27907 return NULL((void*)0);
27908 __pyx_L4_argument_unpacking_done:;
27909 if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_coll), __pyx_ptype_9xmmsvalue_Collection, 1, "coll", 0))__builtin_expect(!!(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_coll
), __pyx_ptype_9xmmsvalue_Collection, 1, "coll", 0)), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__27909; goto __pyx_L1_error;}
27910 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_56playlist_insert_collection(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_pos, __pyx_v_coll, __pyx_v_order, __pyx_v_playlist, __pyx_v_cb);
27911
27912 /* function exit code */
27913 goto __pyx_L0;
27914 __pyx_L1_error:;
27915 __pyx_r = NULL((void*)0);
27916 __pyx_L0:;
27917 __Pyx_RefNannyFinishContext();
27918 return __pyx_r;
27919}
27920
27921static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_56playlist_insert_collection(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_pos, struct __pyx_obj_9xmmsvalue_Collection *__pyx_v_coll, PyObject *__pyx_v_order, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb) {
27922 PyObject *__pyx_r = NULL((void*)0);
27923 __Pyx_RefNannyDeclarations
27924 PyObject *__pyx_t_1 = NULL((void*)0);
27925 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_insert_collection __pyx_t_2;
27926 int __pyx_lineno = 0;
27927 const char *__pyx_filename = NULL((void*)0);
27928 int __pyx_clineno = 0;
27929 __Pyx_RefNannySetupContext("playlist_insert_collection", 0);
27930 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
27931 __pyx_t_2.__pyx_n = 3;
27932 __pyx_t_2.order = __pyx_v_order;
27933 __pyx_t_2.playlist = __pyx_v_playlist;
27934 __pyx_t_2.cb = __pyx_v_cb;
27935 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playlist_insert_collection(__pyx_v_self, __pyx_v_pos, __pyx_v_coll, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__27935; goto __pyx_L1_error;}
27936 __Pyx_GOTREF(__pyx_t_1);
27937 __pyx_r = __pyx_t_1;
27938 __pyx_t_1 = 0;
27939 goto __pyx_L0;
27940
27941 /* function exit code */
27942 __pyx_L1_error:;
27943 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
27944 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_insert_collection", __pyx_clineno, __pyx_lineno, __pyx_filename);
27945 __pyx_r = NULL((void*)0);
27946 __pyx_L0:;
27947 __Pyx_XGIVEREF(__pyx_r);
27948 __Pyx_RefNannyFinishContext();
27949 return __pyx_r;
27950}
27951
27952/* "xmmsapi.pyx":1346
27953 * return self.create_result(cb, res)
27954 *
27955 * cpdef XmmsResult playlist_radd(self, url, playlist = None, cb = None, encoded = False): # <<<<<<<<<<<<<<
27956 * """
27957 * Add a directory to the playlist.
27958 */
27959
27960static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_59playlist_radd(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
27961static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playlist_radd(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_url, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_radd *__pyx_optional_args) {
27962 PyObject *__pyx_v_playlist = ((PyObject *)Py_None(&_Py_NoneStruct));
27963 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
27964 PyObject *__pyx_v_encoded = ((PyObject *)Py_False((PyObject *) &_Py_ZeroStruct));
27965 xmmsc_result_t *__pyx_v_res;
27966 PyObject *__pyx_v_c = NULL((void*)0);
27967 PyObject *__pyx_v_p = NULL((void*)0);
27968 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
27969 __Pyx_RefNannyDeclarations
27970 PyObject *__pyx_t_1 = NULL((void*)0);
27971 PyObject *__pyx_t_2 = NULL((void*)0);
27972 PyObject *__pyx_t_3 = NULL((void*)0);
27973 int __pyx_t_4;
27974 char *__pyx_t_5;
27975 char *__pyx_t_6;
27976 int __pyx_lineno = 0;
27977 const char *__pyx_filename = NULL((void*)0);
27978 int __pyx_clineno = 0;
27979 __Pyx_RefNannySetupContext("playlist_radd", 0);
27980 if (__pyx_optional_args) {
27981 if (__pyx_optional_args->__pyx_n > 0) {
27982 __pyx_v_playlist = __pyx_optional_args->playlist;
27983 if (__pyx_optional_args->__pyx_n > 1) {
27984 __pyx_v_cb = __pyx_optional_args->cb;
27985 if (__pyx_optional_args->__pyx_n > 2) {
27986 __pyx_v_encoded = __pyx_optional_args->encoded;
27987 }
27988 }
27989 }
27990 }
27991 /* Check if called by wrapper */
27992 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
27993 /* Check if overridden in Python */
27994 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
27995 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playlist_radd); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__27995; goto __pyx_L1_error;}
27996 __Pyx_GOTREF(__pyx_t_1);
27997 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_59playlist_radd)) {
27998 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
27999 __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__27999; goto __pyx_L1_error;}
28000 __Pyx_GOTREF(__pyx_t_2);
28001 __Pyx_INCREF(__pyx_v_url)( ((PyObject*)(__pyx_v_url))->ob_refcnt++);
28002 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_url)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_url);
28003 __Pyx_GIVEREF(__pyx_v_url);
28004 __Pyx_INCREF(__pyx_v_playlist)( ((PyObject*)(__pyx_v_playlist))->ob_refcnt++);
28005 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_playlist)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_playlist
)
;
28006 __Pyx_GIVEREF(__pyx_v_playlist);
28007 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
28008 PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[2] = __pyx_v_cb);
28009 __Pyx_GIVEREF(__pyx_v_cb);
28010 __Pyx_INCREF(__pyx_v_encoded)( ((PyObject*)(__pyx_v_encoded))->ob_refcnt++);
28011 PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_v_encoded)(((PyTupleObject *)(__pyx_t_2))->ob_item[3] = __pyx_v_encoded
)
;
28012 __Pyx_GIVEREF(__pyx_v_encoded);
28013 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__28013; goto __pyx_L1_error;}
28014 __Pyx_GOTREF(__pyx_t_3);
28015 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
28016 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__28016; goto __pyx_L1_error;}
28017 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
28018 __pyx_t_3 = 0;
28019 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
28020 goto __pyx_L0;
28021 }
28022 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
28023 }
28024
28025 /* "xmmsapi.pyx":1355
28026 * cdef xmmsc_result_t *res
28027 *
28028 * c = from_unicode(url) # <<<<<<<<<<<<<<
28029 * p = check_playlist(playlist, True)
28030 * if encoded:
28031 */
28032 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_url); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__28032; goto __pyx_L1_error;}
28033 __Pyx_GOTREF(__pyx_t_1);
28034 __pyx_v_c = __pyx_t_1;
28035 __pyx_t_1 = 0;
28036
28037 /* "xmmsapi.pyx":1356
28038 *
28039 * c = from_unicode(url)
28040 * p = check_playlist(playlist, True) # <<<<<<<<<<<<<<
28041 * if encoded:
28042 * res = xmmsc_playlist_radd_encoded(self.conn, <char *>p, <char *>c)
28043 */
28044 __pyx_t_1 = __pyx_f_7xmmsapi_check_playlist(__pyx_v_playlist, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1356; __pyx_clineno = __LINE__28044; goto __pyx_L1_error;}
28045 __Pyx_GOTREF(__pyx_t_1);
28046 __pyx_v_p = __pyx_t_1;
28047 __pyx_t_1 = 0;
28048
28049 /* "xmmsapi.pyx":1357
28050 * c = from_unicode(url)
28051 * p = check_playlist(playlist, True)
28052 * if encoded: # <<<<<<<<<<<<<<
28053 * res = xmmsc_playlist_radd_encoded(self.conn, <char *>p, <char *>c)
28054 * else:
28055 */
28056 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_encoded); if (unlikely(__pyx_t_4 < 0)__builtin_expect(!!(__pyx_t_4 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__28056; goto __pyx_L1_error;}
28057 if (__pyx_t_4) {
28058
28059 /* "xmmsapi.pyx":1358
28060 * p = check_playlist(playlist, True)
28061 * if encoded:
28062 * res = xmmsc_playlist_radd_encoded(self.conn, <char *>p, <char *>c) # <<<<<<<<<<<<<<
28063 * else:
28064 * res = xmmsc_playlist_radd(self.conn, <char *>p, <char *>c)
28065 */
28066 __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_5) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_5) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__28066; goto __pyx_L1_error;}
28067 __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_c); if (unlikely((!__pyx_t_6) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_6) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1358; __pyx_clineno = __LINE__28067; goto __pyx_L1_error;}
28068 __pyx_v_res = xmmsc_playlist_radd_encoded(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_5), ((char *)__pyx_t_6));
28069 goto __pyx_L3;
28070 }
28071 /*else*/ {
28072
28073 /* "xmmsapi.pyx":1360
28074 * res = xmmsc_playlist_radd_encoded(self.conn, <char *>p, <char *>c)
28075 * else:
28076 * res = xmmsc_playlist_radd(self.conn, <char *>p, <char *>c) # <<<<<<<<<<<<<<
28077 * return self.create_result(cb, res)
28078 *
28079 */
28080 __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_6) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_6) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__28080; goto __pyx_L1_error;}
28081 __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_c); if (unlikely((!__pyx_t_5) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_5) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1360; __pyx_clineno = __LINE__28081; goto __pyx_L1_error;}
28082 __pyx_v_res = xmmsc_playlist_radd(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_6), ((char *)__pyx_t_5));
28083 }
28084 __pyx_L3:;
28085
28086 /* "xmmsapi.pyx":1361
28087 * else:
28088 * res = xmmsc_playlist_radd(self.conn, <char *>p, <char *>c)
28089 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
28090 *
28091 * @deprecated
28092 */
28093 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
28094 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__28094; goto __pyx_L1_error;}
28095 __Pyx_GOTREF(__pyx_t_1);
28096 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
28097 __pyx_t_1 = 0;
28098 goto __pyx_L0;
28099
28100 /* "xmmsapi.pyx":1346
28101 * return self.create_result(cb, res)
28102 *
28103 * cpdef XmmsResult playlist_radd(self, url, playlist = None, cb = None, encoded = False): # <<<<<<<<<<<<<<
28104 * """
28105 * Add a directory to the playlist.
28106 */
28107
28108 /* function exit code */
28109 __pyx_L1_error:;
28110 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
28111 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
28112 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
28113 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_radd", __pyx_clineno, __pyx_lineno, __pyx_filename);
28114 __pyx_r = 0;
28115 __pyx_L0:;
28116 __Pyx_XDECREF(__pyx_v_c)do { if ((__pyx_v_c) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_c))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_c)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_c)))); } while (0); } while (0)
;
28117 __Pyx_XDECREF(__pyx_v_p)do { if ((__pyx_v_p) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_p))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_p)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_p)))); } while (0); } while (0)
;
28118 __Pyx_XGIVEREF((PyObject *)__pyx_r);
28119 __Pyx_RefNannyFinishContext();
28120 return __pyx_r;
28121}
28122
28123/* Python wrapper */
28124static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_59playlist_radd(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
28125static char __pyx_doc_7xmmsapi_7XmmsApi_58playlist_radd[] = "XmmsApi.playlist_radd(self, url, playlist=None, cb=None, encoded=False) -> XmmsResult\n\n\t\tAdd a directory to the playlist.\n\t\tRequires a string 'url' as argument.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
28126static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_59playlist_radd(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
28127 PyObject *__pyx_v_url = 0;
28128 PyObject *__pyx_v_playlist = 0;
28129 PyObject *__pyx_v_cb = 0;
28130 PyObject *__pyx_v_encoded = 0;
28131 int __pyx_lineno = 0;
28132 const char *__pyx_filename = NULL((void*)0);
28133 int __pyx_clineno = 0;
28134 PyObject *__pyx_r = 0;
28135 __Pyx_RefNannyDeclarations
28136 __Pyx_RefNannySetupContext("playlist_radd (wrapper)", 0);
28137 {
28138 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_url,&__pyx_n_s_playlist,&__pyx_n_s_cb,&__pyx_n_s_encoded,0};
28139 PyObject* values[4] = {0,0,0,0};
28140 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
28141 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
28142 values[3] = ((PyObject *)Py_False((PyObject *) &_Py_ZeroStruct));
28143 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
28144 Py_ssize_t kw_args;
28145 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
28146 switch (pos_args) {
28147 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
28148 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
28149 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
28150 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
28151 case 0: break;
28152 default: goto __pyx_L5_argtuple_error;
28153 }
28154 kw_args = PyDict_Size(__pyx_kwds);
28155 switch (pos_args) {
28156 case 0:
28157 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_url)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_url
)) != 0), 1)
) kw_args--;
28158 else goto __pyx_L5_argtuple_error;
28159 case 1:
28160 if (kw_args > 0) {
28161 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_playlist);
28162 if (value) { values[1] = value; kw_args--; }
28163 }
28164 case 2:
28165 if (kw_args > 0) {
28166 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
28167 if (value) { values[2] = value; kw_args--; }
28168 }
28169 case 3:
28170 if (kw_args > 0) {
28171 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_encoded);
28172 if (value) { values[3] = value; kw_args--; }
28173 }
28174 }
28175 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
28176 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playlist_radd") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playlist_radd") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__28176; goto __pyx_L3_error;}
28177 }
28178 } else {
28179 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
28180 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
28181 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
28182 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
28183 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
28184 break;
28185 default: goto __pyx_L5_argtuple_error;
28186 }
28187 }
28188 __pyx_v_url = values[0];
28189 __pyx_v_playlist = values[1];
28190 __pyx_v_cb = values[2];
28191 __pyx_v_encoded = values[3];
28192 }
28193 goto __pyx_L4_argument_unpacking_done;
28194 __pyx_L5_argtuple_error:;
28195 __Pyx_RaiseArgtupleInvalid("playlist_radd", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__28195; goto __pyx_L3_error;}
28196 __pyx_L3_error:;
28197 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_radd", __pyx_clineno, __pyx_lineno, __pyx_filename);
28198 __Pyx_RefNannyFinishContext();
28199 return NULL((void*)0);
28200 __pyx_L4_argument_unpacking_done:;
28201 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_58playlist_radd(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_url, __pyx_v_playlist, __pyx_v_cb, __pyx_v_encoded);
28202
28203 /* function exit code */
28204 __Pyx_RefNannyFinishContext();
28205 return __pyx_r;
28206}
28207
28208static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_58playlist_radd(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_url, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb, PyObject *__pyx_v_encoded) {
28209 PyObject *__pyx_r = NULL((void*)0);
28210 __Pyx_RefNannyDeclarations
28211 PyObject *__pyx_t_1 = NULL((void*)0);
28212 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_radd __pyx_t_2;
28213 int __pyx_lineno = 0;
28214 const char *__pyx_filename = NULL((void*)0);
28215 int __pyx_clineno = 0;
28216 __Pyx_RefNannySetupContext("playlist_radd", 0);
28217 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
28218 __pyx_t_2.__pyx_n = 3;
28219 __pyx_t_2.playlist = __pyx_v_playlist;
28220 __pyx_t_2.cb = __pyx_v_cb;
28221 __pyx_t_2.encoded = __pyx_v_encoded;
28222 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playlist_radd(__pyx_v_self, __pyx_v_url, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __pyx_clineno = __LINE__28222; goto __pyx_L1_error;}
28223 __Pyx_GOTREF(__pyx_t_1);
28224 __pyx_r = __pyx_t_1;
28225 __pyx_t_1 = 0;
28226 goto __pyx_L0;
28227
28228 /* function exit code */
28229 __pyx_L1_error:;
28230 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
28231 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_radd", __pyx_clineno, __pyx_lineno, __pyx_filename);
28232 __pyx_r = NULL((void*)0);
28233 __pyx_L0:;
28234 __Pyx_XGIVEREF(__pyx_r);
28235 __Pyx_RefNannyFinishContext();
28236 return __pyx_r;
28237}
28238
28239/* "xmmsapi.pyx":1364
28240 *
28241 * @deprecated
28242 * def playlist_radd_encoded(self, url, playlist = None, cb = None): # <<<<<<<<<<<<<<
28243 * """
28244 * @deprecated
28245 */
28246
28247/* Python wrapper */
28248static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_61playlist_radd_encoded(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
28249static char __pyx_doc_7xmmsapi_7XmmsApi_60playlist_radd_encoded[] = "XmmsApi.playlist_radd_encoded(self, url, playlist=None, cb=None)\n\n\t\t@deprecated\n\t\tUse playlist_radd(url, ..., encoded = True) instead\n\t\t";
28250static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_61playlist_radd_encoded(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
28251 PyObject *__pyx_v_url = 0;
28252 PyObject *__pyx_v_playlist = 0;
28253 PyObject *__pyx_v_cb = 0;
28254 int __pyx_lineno = 0;
28255 const char *__pyx_filename = NULL((void*)0);
28256 int __pyx_clineno = 0;
28257 PyObject *__pyx_r = 0;
28258 __Pyx_RefNannyDeclarations
28259 __Pyx_RefNannySetupContext("playlist_radd_encoded (wrapper)", 0);
28260 {
28261 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_url,&__pyx_n_s_playlist,&__pyx_n_s_cb,0};
28262 PyObject* values[3] = {0,0,0};
28263 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
28264 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
28265 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
28266 Py_ssize_t kw_args;
28267 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
28268 switch (pos_args) {
28269 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
28270 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
28271 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
28272 case 0: break;
28273 default: goto __pyx_L5_argtuple_error;
28274 }
28275 kw_args = PyDict_Size(__pyx_kwds);
28276 switch (pos_args) {
28277 case 0:
28278 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_url)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_url
)) != 0), 1)
) kw_args--;
28279 else goto __pyx_L5_argtuple_error;
28280 case 1:
28281 if (kw_args > 0) {
28282 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_playlist);
28283 if (value) { values[1] = value; kw_args--; }
28284 }
28285 case 2:
28286 if (kw_args > 0) {
28287 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
28288 if (value) { values[2] = value; kw_args--; }
28289 }
28290 }
28291 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
28292 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playlist_radd_encoded") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playlist_radd_encoded") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1364; __pyx_clineno = __LINE__28292; goto __pyx_L3_error;}
28293 }
28294 } else {
28295 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
28296 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
28297 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
28298 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
28299 break;
28300 default: goto __pyx_L5_argtuple_error;
28301 }
28302 }
28303 __pyx_v_url = values[0];
28304 __pyx_v_playlist = values[1];
28305 __pyx_v_cb = values[2];
28306 }
28307 goto __pyx_L4_argument_unpacking_done;
28308 __pyx_L5_argtuple_error:;
28309 __Pyx_RaiseArgtupleInvalid("playlist_radd_encoded", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1364; __pyx_clineno = __LINE__28309; goto __pyx_L3_error;}
28310 __pyx_L3_error:;
28311 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_radd_encoded", __pyx_clineno, __pyx_lineno, __pyx_filename);
28312 __Pyx_RefNannyFinishContext();
28313 return NULL((void*)0);
28314 __pyx_L4_argument_unpacking_done:;
28315 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_60playlist_radd_encoded(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_url, __pyx_v_playlist, __pyx_v_cb);
28316
28317 /* function exit code */
28318 __Pyx_RefNannyFinishContext();
28319 return __pyx_r;
28320}
28321
28322static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_60playlist_radd_encoded(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_url, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb) {
28323 PyObject *__pyx_r = NULL((void*)0);
28324 __Pyx_RefNannyDeclarations
28325 PyObject *__pyx_t_1 = NULL((void*)0);
28326 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_radd __pyx_t_2;
28327 int __pyx_lineno = 0;
28328 const char *__pyx_filename = NULL((void*)0);
28329 int __pyx_clineno = 0;
28330 __Pyx_RefNannySetupContext("playlist_radd_encoded", 0);
28331
28332 /* "xmmsapi.pyx":1369
28333 * Use playlist_radd(url, ..., encoded = True) instead
28334 * """
28335 * return self.playlist_radd(url, playlist, cb = cb, encoded = True) # <<<<<<<<<<<<<<
28336 *
28337 * cpdef XmmsResult playlist_add_url(self, url, playlist = None, cb = None, encoded = False):
28338 */
28339 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
28340 __pyx_t_2.__pyx_n = 3;
28341 __pyx_t_2.playlist = __pyx_v_playlist;
28342 __pyx_t_2.cb = __pyx_v_cb;
28343 __pyx_t_2.encoded = Py_True((PyObject *) &_Py_TrueStruct);
28344 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playlist_radd(__pyx_v_self, __pyx_v_url, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1369; __pyx_clineno = __LINE__28344; goto __pyx_L1_error;}
28345 __Pyx_GOTREF(__pyx_t_1);
28346 __pyx_r = __pyx_t_1;
28347 __pyx_t_1 = 0;
28348 goto __pyx_L0;
28349
28350 /* "xmmsapi.pyx":1364
28351 *
28352 * @deprecated
28353 * def playlist_radd_encoded(self, url, playlist = None, cb = None): # <<<<<<<<<<<<<<
28354 * """
28355 * @deprecated
28356 */
28357
28358 /* function exit code */
28359 __pyx_L1_error:;
28360 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
28361 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_radd_encoded", __pyx_clineno, __pyx_lineno, __pyx_filename);
28362 __pyx_r = NULL((void*)0);
28363 __pyx_L0:;
28364 __Pyx_XGIVEREF(__pyx_r);
28365 __Pyx_RefNannyFinishContext();
28366 return __pyx_r;
28367}
28368
28369/* "xmmsapi.pyx":1371
28370 * return self.playlist_radd(url, playlist, cb = cb, encoded = True)
28371 *
28372 * cpdef XmmsResult playlist_add_url(self, url, playlist = None, cb = None, encoded = False): # <<<<<<<<<<<<<<
28373 * """
28374 * Add a path or URL to a playable media item to the playlist.
28375 */
28376
28377static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_63playlist_add_url(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
28378static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playlist_add_url(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_url, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_add_url *__pyx_optional_args) {
28379 PyObject *__pyx_v_playlist = ((PyObject *)Py_None(&_Py_NoneStruct));
28380 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
28381 PyObject *__pyx_v_encoded = ((PyObject *)Py_False((PyObject *) &_Py_ZeroStruct));
28382 xmmsc_result_t *__pyx_v_res;
28383 PyObject *__pyx_v_c = NULL((void*)0);
28384 PyObject *__pyx_v_p = NULL((void*)0);
28385 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
28386 __Pyx_RefNannyDeclarations
28387 PyObject *__pyx_t_1 = NULL((void*)0);
28388 PyObject *__pyx_t_2 = NULL((void*)0);
28389 PyObject *__pyx_t_3 = NULL((void*)0);
28390 int __pyx_t_4;
28391 char *__pyx_t_5;
28392 char *__pyx_t_6;
28393 int __pyx_lineno = 0;
28394 const char *__pyx_filename = NULL((void*)0);
28395 int __pyx_clineno = 0;
28396 __Pyx_RefNannySetupContext("playlist_add_url", 0);
28397 if (__pyx_optional_args) {
28398 if (__pyx_optional_args->__pyx_n > 0) {
28399 __pyx_v_playlist = __pyx_optional_args->playlist;
28400 if (__pyx_optional_args->__pyx_n > 1) {
28401 __pyx_v_cb = __pyx_optional_args->cb;
28402 if (__pyx_optional_args->__pyx_n > 2) {
28403 __pyx_v_encoded = __pyx_optional_args->encoded;
28404 }
28405 }
28406 }
28407 }
28408 /* Check if called by wrapper */
28409 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
28410 /* Check if overridden in Python */
28411 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
28412 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playlist_add_url); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__28412; goto __pyx_L1_error;}
28413 __Pyx_GOTREF(__pyx_t_1);
28414 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_63playlist_add_url)) {
28415 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
28416 __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__28416; goto __pyx_L1_error;}
28417 __Pyx_GOTREF(__pyx_t_2);
28418 __Pyx_INCREF(__pyx_v_url)( ((PyObject*)(__pyx_v_url))->ob_refcnt++);
28419 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_url)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_url);
28420 __Pyx_GIVEREF(__pyx_v_url);
28421 __Pyx_INCREF(__pyx_v_playlist)( ((PyObject*)(__pyx_v_playlist))->ob_refcnt++);
28422 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_playlist)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_playlist
)
;
28423 __Pyx_GIVEREF(__pyx_v_playlist);
28424 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
28425 PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[2] = __pyx_v_cb);
28426 __Pyx_GIVEREF(__pyx_v_cb);
28427 __Pyx_INCREF(__pyx_v_encoded)( ((PyObject*)(__pyx_v_encoded))->ob_refcnt++);
28428 PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_v_encoded)(((PyTupleObject *)(__pyx_t_2))->ob_item[3] = __pyx_v_encoded
)
;
28429 __Pyx_GIVEREF(__pyx_v_encoded);
28430 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__28430; goto __pyx_L1_error;}
28431 __Pyx_GOTREF(__pyx_t_3);
28432 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
28433 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__28433; goto __pyx_L1_error;}
28434 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
28435 __pyx_t_3 = 0;
28436 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
28437 goto __pyx_L0;
28438 }
28439 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
28440 }
28441
28442 /* "xmmsapi.pyx":1381
28443 * cdef xmmsc_result_t *res
28444 *
28445 * c = from_unicode(url) # <<<<<<<<<<<<<<
28446 * p = check_playlist(playlist, True)
28447 * if encoded:
28448 */
28449 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_url); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1381; __pyx_clineno = __LINE__28449; goto __pyx_L1_error;}
28450 __Pyx_GOTREF(__pyx_t_1);
28451 __pyx_v_c = __pyx_t_1;
28452 __pyx_t_1 = 0;
28453
28454 /* "xmmsapi.pyx":1382
28455 *
28456 * c = from_unicode(url)
28457 * p = check_playlist(playlist, True) # <<<<<<<<<<<<<<
28458 * if encoded:
28459 * res = xmmsc_playlist_add_encoded(self.conn, <char *>p, <char *>c)
28460 */
28461 __pyx_t_1 = __pyx_f_7xmmsapi_check_playlist(__pyx_v_playlist, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1382; __pyx_clineno = __LINE__28461; goto __pyx_L1_error;}
28462 __Pyx_GOTREF(__pyx_t_1);
28463 __pyx_v_p = __pyx_t_1;
28464 __pyx_t_1 = 0;
28465
28466 /* "xmmsapi.pyx":1383
28467 * c = from_unicode(url)
28468 * p = check_playlist(playlist, True)
28469 * if encoded: # <<<<<<<<<<<<<<
28470 * res = xmmsc_playlist_add_encoded(self.conn, <char *>p, <char *>c)
28471 * else:
28472 */
28473 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_encoded); if (unlikely(__pyx_t_4 < 0)__builtin_expect(!!(__pyx_t_4 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1383; __pyx_clineno = __LINE__28473; goto __pyx_L1_error;}
28474 if (__pyx_t_4) {
28475
28476 /* "xmmsapi.pyx":1384
28477 * p = check_playlist(playlist, True)
28478 * if encoded:
28479 * res = xmmsc_playlist_add_encoded(self.conn, <char *>p, <char *>c) # <<<<<<<<<<<<<<
28480 * else:
28481 * res = xmmsc_playlist_add_url(self.conn, <char *>p, <char *>c)
28482 */
28483 __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_5) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_5) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__28483; goto __pyx_L1_error;}
28484 __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_c); if (unlikely((!__pyx_t_6) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_6) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__28484; goto __pyx_L1_error;}
28485 __pyx_v_res = xmmsc_playlist_add_encoded(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_5), ((char *)__pyx_t_6));
28486 goto __pyx_L3;
28487 }
28488 /*else*/ {
28489
28490 /* "xmmsapi.pyx":1386
28491 * res = xmmsc_playlist_add_encoded(self.conn, <char *>p, <char *>c)
28492 * else:
28493 * res = xmmsc_playlist_add_url(self.conn, <char *>p, <char *>c) # <<<<<<<<<<<<<<
28494 * return self.create_result(cb, res)
28495 *
28496 */
28497 __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_6) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_6) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1386; __pyx_clineno = __LINE__28497; goto __pyx_L1_error;}
28498 __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_c); if (unlikely((!__pyx_t_5) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_5) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1386; __pyx_clineno = __LINE__28498; goto __pyx_L1_error;}
28499 __pyx_v_res = xmmsc_playlist_add_url(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_6), ((char *)__pyx_t_5));
28500 }
28501 __pyx_L3:;
28502
28503 /* "xmmsapi.pyx":1387
28504 * else:
28505 * res = xmmsc_playlist_add_url(self.conn, <char *>p, <char *>c)
28506 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
28507 *
28508 * @deprecated
28509 */
28510 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
28511 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__28511; goto __pyx_L1_error;}
28512 __Pyx_GOTREF(__pyx_t_1);
28513 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
28514 __pyx_t_1 = 0;
28515 goto __pyx_L0;
28516
28517 /* "xmmsapi.pyx":1371
28518 * return self.playlist_radd(url, playlist, cb = cb, encoded = True)
28519 *
28520 * cpdef XmmsResult playlist_add_url(self, url, playlist = None, cb = None, encoded = False): # <<<<<<<<<<<<<<
28521 * """
28522 * Add a path or URL to a playable media item to the playlist.
28523 */
28524
28525 /* function exit code */
28526 __pyx_L1_error:;
28527 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
28528 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
28529 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
28530 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_add_url", __pyx_clineno, __pyx_lineno, __pyx_filename);
28531 __pyx_r = 0;
28532 __pyx_L0:;
28533 __Pyx_XDECREF(__pyx_v_c)do { if ((__pyx_v_c) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_c))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_c)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_c)))); } while (0); } while (0)
;
28534 __Pyx_XDECREF(__pyx_v_p)do { if ((__pyx_v_p) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_p))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_p)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_p)))); } while (0); } while (0)
;
28535 __Pyx_XGIVEREF((PyObject *)__pyx_r);
28536 __Pyx_RefNannyFinishContext();
28537 return __pyx_r;
28538}
28539
28540/* Python wrapper */
28541static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_63playlist_add_url(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
28542static char __pyx_doc_7xmmsapi_7XmmsApi_62playlist_add_url[] = "XmmsApi.playlist_add_url(self, url, playlist=None, cb=None, encoded=False) -> XmmsResult\n\n\t\tAdd a path or URL to a playable media item to the playlist.\n\t\tPlayable media items may be files or streams.\n\t\tRequires a string 'url' as argument.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
28543static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_63playlist_add_url(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
28544 PyObject *__pyx_v_url = 0;
28545 PyObject *__pyx_v_playlist = 0;
28546 PyObject *__pyx_v_cb = 0;
28547 PyObject *__pyx_v_encoded = 0;
28548 int __pyx_lineno = 0;
28549 const char *__pyx_filename = NULL((void*)0);
28550 int __pyx_clineno = 0;
28551 PyObject *__pyx_r = 0;
28552 __Pyx_RefNannyDeclarations
28553 __Pyx_RefNannySetupContext("playlist_add_url (wrapper)", 0);
28554 {
28555 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_url,&__pyx_n_s_playlist,&__pyx_n_s_cb,&__pyx_n_s_encoded,0};
28556 PyObject* values[4] = {0,0,0,0};
28557 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
28558 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
28559 values[3] = ((PyObject *)Py_False((PyObject *) &_Py_ZeroStruct));
28560 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
28561 Py_ssize_t kw_args;
28562 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
28563 switch (pos_args) {
28564 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
28565 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
28566 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
28567 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
28568 case 0: break;
28569 default: goto __pyx_L5_argtuple_error;
28570 }
28571 kw_args = PyDict_Size(__pyx_kwds);
28572 switch (pos_args) {
28573 case 0:
28574 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_url)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_url
)) != 0), 1)
) kw_args--;
28575 else goto __pyx_L5_argtuple_error;
28576 case 1:
28577 if (kw_args > 0) {
28578 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_playlist);
28579 if (value) { values[1] = value; kw_args--; }
28580 }
28581 case 2:
28582 if (kw_args > 0) {
28583 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
28584 if (value) { values[2] = value; kw_args--; }
28585 }
28586 case 3:
28587 if (kw_args > 0) {
28588 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_encoded);
28589 if (value) { values[3] = value; kw_args--; }
28590 }
28591 }
28592 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
28593 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playlist_add_url") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playlist_add_url") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__28593; goto __pyx_L3_error;}
28594 }
28595 } else {
28596 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
28597 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
28598 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
28599 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
28600 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
28601 break;
28602 default: goto __pyx_L5_argtuple_error;
28603 }
28604 }
28605 __pyx_v_url = values[0];
28606 __pyx_v_playlist = values[1];
28607 __pyx_v_cb = values[2];
28608 __pyx_v_encoded = values[3];
28609 }
28610 goto __pyx_L4_argument_unpacking_done;
28611 __pyx_L5_argtuple_error:;
28612 __Pyx_RaiseArgtupleInvalid("playlist_add_url", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__28612; goto __pyx_L3_error;}
28613 __pyx_L3_error:;
28614 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_add_url", __pyx_clineno, __pyx_lineno, __pyx_filename);
28615 __Pyx_RefNannyFinishContext();
28616 return NULL((void*)0);
28617 __pyx_L4_argument_unpacking_done:;
28618 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_62playlist_add_url(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_url, __pyx_v_playlist, __pyx_v_cb, __pyx_v_encoded);
28619
28620 /* function exit code */
28621 __Pyx_RefNannyFinishContext();
28622 return __pyx_r;
28623}
28624
28625static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_62playlist_add_url(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_url, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb, PyObject *__pyx_v_encoded) {
28626 PyObject *__pyx_r = NULL((void*)0);
28627 __Pyx_RefNannyDeclarations
28628 PyObject *__pyx_t_1 = NULL((void*)0);
28629 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_add_url __pyx_t_2;
28630 int __pyx_lineno = 0;
28631 const char *__pyx_filename = NULL((void*)0);
28632 int __pyx_clineno = 0;
28633 __Pyx_RefNannySetupContext("playlist_add_url", 0);
28634 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
28635 __pyx_t_2.__pyx_n = 3;
28636 __pyx_t_2.playlist = __pyx_v_playlist;
28637 __pyx_t_2.cb = __pyx_v_cb;
28638 __pyx_t_2.encoded = __pyx_v_encoded;
28639 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playlist_add_url(__pyx_v_self, __pyx_v_url, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1371; __pyx_clineno = __LINE__28639; goto __pyx_L1_error;}
28640 __Pyx_GOTREF(__pyx_t_1);
28641 __pyx_r = __pyx_t_1;
28642 __pyx_t_1 = 0;
28643 goto __pyx_L0;
28644
28645 /* function exit code */
28646 __pyx_L1_error:;
28647 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
28648 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_add_url", __pyx_clineno, __pyx_lineno, __pyx_filename);
28649 __pyx_r = NULL((void*)0);
28650 __pyx_L0:;
28651 __Pyx_XGIVEREF(__pyx_r);
28652 __Pyx_RefNannyFinishContext();
28653 return __pyx_r;
28654}
28655
28656/* "xmmsapi.pyx":1390
28657 *
28658 * @deprecated
28659 * def playlist_add_encoded(self, url, playlist = None, cb = None): # <<<<<<<<<<<<<<
28660 * """
28661 * @deprecated
28662 */
28663
28664/* Python wrapper */
28665static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_65playlist_add_encoded(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
28666static char __pyx_doc_7xmmsapi_7XmmsApi_64playlist_add_encoded[] = "XmmsApi.playlist_add_encoded(self, url, playlist=None, cb=None)\n\n\t\t@deprecated\n\t\tUse playlist_add_url(url, ..., encoded = True) instead\n\t\t";
28667static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_65playlist_add_encoded(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
28668 PyObject *__pyx_v_url = 0;
28669 PyObject *__pyx_v_playlist = 0;
28670 PyObject *__pyx_v_cb = 0;
28671 int __pyx_lineno = 0;
28672 const char *__pyx_filename = NULL((void*)0);
28673 int __pyx_clineno = 0;
28674 PyObject *__pyx_r = 0;
28675 __Pyx_RefNannyDeclarations
28676 __Pyx_RefNannySetupContext("playlist_add_encoded (wrapper)", 0);
28677 {
28678 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_url,&__pyx_n_s_playlist,&__pyx_n_s_cb,0};
28679 PyObject* values[3] = {0,0,0};
28680 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
28681 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
28682 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
28683 Py_ssize_t kw_args;
28684 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
28685 switch (pos_args) {
28686 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
28687 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
28688 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
28689 case 0: break;
28690 default: goto __pyx_L5_argtuple_error;
28691 }
28692 kw_args = PyDict_Size(__pyx_kwds);
28693 switch (pos_args) {
28694 case 0:
28695 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_url)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_url
)) != 0), 1)
) kw_args--;
28696 else goto __pyx_L5_argtuple_error;
28697 case 1:
28698 if (kw_args > 0) {
28699 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_playlist);
28700 if (value) { values[1] = value; kw_args--; }
28701 }
28702 case 2:
28703 if (kw_args > 0) {
28704 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
28705 if (value) { values[2] = value; kw_args--; }
28706 }
28707 }
28708 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
28709 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playlist_add_encoded") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playlist_add_encoded") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__28709; goto __pyx_L3_error;}
28710 }
28711 } else {
28712 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
28713 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
28714 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
28715 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
28716 break;
28717 default: goto __pyx_L5_argtuple_error;
28718 }
28719 }
28720 __pyx_v_url = values[0];
28721 __pyx_v_playlist = values[1];
28722 __pyx_v_cb = values[2];
28723 }
28724 goto __pyx_L4_argument_unpacking_done;
28725 __pyx_L5_argtuple_error:;
28726 __Pyx_RaiseArgtupleInvalid("playlist_add_encoded", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__28726; goto __pyx_L3_error;}
28727 __pyx_L3_error:;
28728 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_add_encoded", __pyx_clineno, __pyx_lineno, __pyx_filename);
28729 __Pyx_RefNannyFinishContext();
28730 return NULL((void*)0);
28731 __pyx_L4_argument_unpacking_done:;
28732 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_64playlist_add_encoded(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_url, __pyx_v_playlist, __pyx_v_cb);
28733
28734 /* function exit code */
28735 __Pyx_RefNannyFinishContext();
28736 return __pyx_r;
28737}
28738
28739static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_64playlist_add_encoded(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_url, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb) {
28740 PyObject *__pyx_r = NULL((void*)0);
28741 __Pyx_RefNannyDeclarations
28742 PyObject *__pyx_t_1 = NULL((void*)0);
28743 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_add_url __pyx_t_2;
28744 int __pyx_lineno = 0;
28745 const char *__pyx_filename = NULL((void*)0);
28746 int __pyx_clineno = 0;
28747 __Pyx_RefNannySetupContext("playlist_add_encoded", 0);
28748
28749 /* "xmmsapi.pyx":1395
28750 * Use playlist_add_url(url, ..., encoded = True) instead
28751 * """
28752 * return self.playlist_add_url(url, playlist, cb = cb, encoded = True) # <<<<<<<<<<<<<<
28753 *
28754 * cpdef XmmsResult playlist_add_id(self, int id, playlist = None, cb = None):
28755 */
28756 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
28757 __pyx_t_2.__pyx_n = 3;
28758 __pyx_t_2.playlist = __pyx_v_playlist;
28759 __pyx_t_2.cb = __pyx_v_cb;
28760 __pyx_t_2.encoded = Py_True((PyObject *) &_Py_TrueStruct);
28761 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playlist_add_url(__pyx_v_self, __pyx_v_url, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1395; __pyx_clineno = __LINE__28761; goto __pyx_L1_error;}
28762 __Pyx_GOTREF(__pyx_t_1);
28763 __pyx_r = __pyx_t_1;
28764 __pyx_t_1 = 0;
28765 goto __pyx_L0;
28766
28767 /* "xmmsapi.pyx":1390
28768 *
28769 * @deprecated
28770 * def playlist_add_encoded(self, url, playlist = None, cb = None): # <<<<<<<<<<<<<<
28771 * """
28772 * @deprecated
28773 */
28774
28775 /* function exit code */
28776 __pyx_L1_error:;
28777 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
28778 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_add_encoded", __pyx_clineno, __pyx_lineno, __pyx_filename);
28779 __pyx_r = NULL((void*)0);
28780 __pyx_L0:;
28781 __Pyx_XGIVEREF(__pyx_r);
28782 __Pyx_RefNannyFinishContext();
28783 return __pyx_r;
28784}
28785
28786/* "xmmsapi.pyx":1397
28787 * return self.playlist_add_url(url, playlist, cb = cb, encoded = True)
28788 *
28789 * cpdef XmmsResult playlist_add_id(self, int id, playlist = None, cb = None): # <<<<<<<<<<<<<<
28790 * """
28791 * Add a medialib id to the playlist.
28792 */
28793
28794static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_67playlist_add_id(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
28795static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playlist_add_id(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_id, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_add_id *__pyx_optional_args) {
28796 PyObject *__pyx_v_playlist = ((PyObject *)Py_None(&_Py_NoneStruct));
28797 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
28798 PyObject *__pyx_v_p = NULL((void*)0);
28799 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
28800 __Pyx_RefNannyDeclarations
28801 PyObject *__pyx_t_1 = NULL((void*)0);
28802 PyObject *__pyx_t_2 = NULL((void*)0);
28803 PyObject *__pyx_t_3 = NULL((void*)0);
28804 char *__pyx_t_4;
28805 int __pyx_lineno = 0;
28806 const char *__pyx_filename = NULL((void*)0);
28807 int __pyx_clineno = 0;
28808 __Pyx_RefNannySetupContext("playlist_add_id", 0);
28809 if (__pyx_optional_args) {
28810 if (__pyx_optional_args->__pyx_n > 0) {
28811 __pyx_v_playlist = __pyx_optional_args->playlist;
28812 if (__pyx_optional_args->__pyx_n > 1) {
28813 __pyx_v_cb = __pyx_optional_args->cb;
28814 }
28815 }
28816 }
28817 /* Check if called by wrapper */
28818 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
28819 /* Check if overridden in Python */
28820 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
28821 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playlist_add_id); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__28821; goto __pyx_L1_error;}
28822 __Pyx_GOTREF(__pyx_t_1);
28823 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_67playlist_add_id)) {
28824 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
28825 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_id); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__28825; goto __pyx_L1_error;}
28826 __Pyx_GOTREF(__pyx_t_2);
28827 __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__28827; goto __pyx_L1_error;}
28828 __Pyx_GOTREF(__pyx_t_3);
28829 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
28830 __Pyx_GIVEREF(__pyx_t_2);
28831 __Pyx_INCREF(__pyx_v_playlist)( ((PyObject*)(__pyx_v_playlist))->ob_refcnt++);
28832 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_playlist)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_playlist
)
;
28833 __Pyx_GIVEREF(__pyx_v_playlist);
28834 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
28835 PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_3))->ob_item[2] = __pyx_v_cb);
28836 __Pyx_GIVEREF(__pyx_v_cb);
28837 __pyx_t_2 = 0;
28838 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__28838; goto __pyx_L1_error;}
28839 __Pyx_GOTREF(__pyx_t_2);
28840 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
28841 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_2) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__28841; goto __pyx_L1_error;}
28842 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_2);
28843 __pyx_t_2 = 0;
28844 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
28845 goto __pyx_L0;
28846 }
28847 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
28848 }
28849
28850 /* "xmmsapi.pyx":1403
28851 * @return: The result of the operation.
28852 * """
28853 * p = check_playlist(playlist, True) # <<<<<<<<<<<<<<
28854 * return self.create_result(cb, xmmsc_playlist_add_id(self.conn, <char *>p, id))
28855 *
28856 */
28857 __pyx_t_1 = __pyx_f_7xmmsapi_check_playlist(__pyx_v_playlist, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1403; __pyx_clineno = __LINE__28857; goto __pyx_L1_error;}
28858 __Pyx_GOTREF(__pyx_t_1);
28859 __pyx_v_p = __pyx_t_1;
28860 __pyx_t_1 = 0;
28861
28862 /* "xmmsapi.pyx":1404
28863 * """
28864 * p = check_playlist(playlist, True)
28865 * return self.create_result(cb, xmmsc_playlist_add_id(self.conn, <char *>p, id)) # <<<<<<<<<<<<<<
28866 *
28867 * cpdef XmmsResult playlist_add_collection(self, Collection coll, order = None, playlist = None, cb = None):
28868 */
28869 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
28870 __pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_4) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_4) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1404; __pyx_clineno = __LINE__28870; goto __pyx_L1_error;}
28871 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_playlist_add_id(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_4), __pyx_v_id))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1404; __pyx_clineno = __LINE__28871; goto __pyx_L1_error;}
28872 __Pyx_GOTREF(__pyx_t_1);
28873 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
28874 __pyx_t_1 = 0;
28875 goto __pyx_L0;
28876
28877 /* "xmmsapi.pyx":1397
28878 * return self.playlist_add_url(url, playlist, cb = cb, encoded = True)
28879 *
28880 * cpdef XmmsResult playlist_add_id(self, int id, playlist = None, cb = None): # <<<<<<<<<<<<<<
28881 * """
28882 * Add a medialib id to the playlist.
28883 */
28884
28885 /* function exit code */
28886 __pyx_L1_error:;
28887 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
28888 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
28889 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
28890 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_add_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
28891 __pyx_r = 0;
28892 __pyx_L0:;
28893 __Pyx_XDECREF(__pyx_v_p)do { if ((__pyx_v_p) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_p))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_p)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_p)))); } while (0); } while (0)
;
28894 __Pyx_XGIVEREF((PyObject *)__pyx_r);
28895 __Pyx_RefNannyFinishContext();
28896 return __pyx_r;
28897}
28898
28899/* Python wrapper */
28900static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_67playlist_add_id(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
28901static char __pyx_doc_7xmmsapi_7XmmsApi_66playlist_add_id[] = "XmmsApi.playlist_add_id(self, int id, playlist=None, cb=None) -> XmmsResult\n\n\t\tAdd a medialib id to the playlist.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
28902static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_67playlist_add_id(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
28903 int __pyx_v_id;
28904 PyObject *__pyx_v_playlist = 0;
28905 PyObject *__pyx_v_cb = 0;
28906 int __pyx_lineno = 0;
28907 const char *__pyx_filename = NULL((void*)0);
28908 int __pyx_clineno = 0;
28909 PyObject *__pyx_r = 0;
28910 __Pyx_RefNannyDeclarations
28911 __Pyx_RefNannySetupContext("playlist_add_id (wrapper)", 0);
28912 {
28913 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_id,&__pyx_n_s_playlist,&__pyx_n_s_cb,0};
28914 PyObject* values[3] = {0,0,0};
28915 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
28916 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
28917 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
28918 Py_ssize_t kw_args;
28919 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
28920 switch (pos_args) {
28921 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
28922 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
28923 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
28924 case 0: break;
28925 default: goto __pyx_L5_argtuple_error;
28926 }
28927 kw_args = PyDict_Size(__pyx_kwds);
28928 switch (pos_args) {
28929 case 0:
28930 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_id)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_id
)) != 0), 1)
) kw_args--;
28931 else goto __pyx_L5_argtuple_error;
28932 case 1:
28933 if (kw_args > 0) {
28934 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_playlist);
28935 if (value) { values[1] = value; kw_args--; }
28936 }
28937 case 2:
28938 if (kw_args > 0) {
28939 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
28940 if (value) { values[2] = value; kw_args--; }
28941 }
28942 }
28943 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
28944 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playlist_add_id") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playlist_add_id") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__28944; goto __pyx_L3_error;}
28945 }
28946 } else {
28947 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
28948 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
28949 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
28950 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
28951 break;
28952 default: goto __pyx_L5_argtuple_error;
28953 }
28954 }
28955 __pyx_v_id = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_id == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_id == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__28955; goto __pyx_L3_error;}
28956 __pyx_v_playlist = values[1];
28957 __pyx_v_cb = values[2];
28958 }
28959 goto __pyx_L4_argument_unpacking_done;
28960 __pyx_L5_argtuple_error:;
28961 __Pyx_RaiseArgtupleInvalid("playlist_add_id", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__28961; goto __pyx_L3_error;}
28962 __pyx_L3_error:;
28963 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_add_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
28964 __Pyx_RefNannyFinishContext();
28965 return NULL((void*)0);
28966 __pyx_L4_argument_unpacking_done:;
28967 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_66playlist_add_id(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_id, __pyx_v_playlist, __pyx_v_cb);
28968
28969 /* function exit code */
28970 __Pyx_RefNannyFinishContext();
28971 return __pyx_r;
28972}
28973
28974static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_66playlist_add_id(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_id, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb) {
28975 PyObject *__pyx_r = NULL((void*)0);
28976 __Pyx_RefNannyDeclarations
28977 PyObject *__pyx_t_1 = NULL((void*)0);
28978 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_add_id __pyx_t_2;
28979 int __pyx_lineno = 0;
28980 const char *__pyx_filename = NULL((void*)0);
28981 int __pyx_clineno = 0;
28982 __Pyx_RefNannySetupContext("playlist_add_id", 0);
28983 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
28984 __pyx_t_2.__pyx_n = 2;
28985 __pyx_t_2.playlist = __pyx_v_playlist;
28986 __pyx_t_2.cb = __pyx_v_cb;
28987 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playlist_add_id(__pyx_v_self, __pyx_v_id, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1397; __pyx_clineno = __LINE__28987; goto __pyx_L1_error;}
28988 __Pyx_GOTREF(__pyx_t_1);
28989 __pyx_r = __pyx_t_1;
28990 __pyx_t_1 = 0;
28991 goto __pyx_L0;
28992
28993 /* function exit code */
28994 __pyx_L1_error:;
28995 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
28996 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_add_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
28997 __pyx_r = NULL((void*)0);
28998 __pyx_L0:;
28999 __Pyx_XGIVEREF(__pyx_r);
29000 __Pyx_RefNannyFinishContext();
29001 return __pyx_r;
29002}
29003
29004/* "xmmsapi.pyx":1406
29005 * return self.create_result(cb, xmmsc_playlist_add_id(self.conn, <char *>p, id))
29006 *
29007 * cpdef XmmsResult playlist_add_collection(self, Collection coll, order = None, playlist = None, cb = None): # <<<<<<<<<<<<<<
29008 * """
29009 * Add the content of a collection to the playlist.
29010 */
29011
29012static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_69playlist_add_collection(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
29013static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playlist_add_collection(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, struct __pyx_obj_9xmmsvalue_Collection *__pyx_v_coll, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_add_collection *__pyx_optional_args) {
29014 PyObject *__pyx_v_order = ((PyObject *)Py_None(&_Py_NoneStruct));
29015 PyObject *__pyx_v_playlist = ((PyObject *)Py_None(&_Py_NoneStruct));
29016 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
29017 xmmsv_t *__pyx_v_order_val;
29018 xmmsc_result_t *__pyx_v_res;
29019 PyObject *__pyx_v_p = NULL((void*)0);
29020 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
29021 __Pyx_RefNannyDeclarations
29022 PyObject *__pyx_t_1 = NULL((void*)0);
29023 PyObject *__pyx_t_2 = NULL((void*)0);
29024 PyObject *__pyx_t_3 = NULL((void*)0);
29025 int __pyx_t_4;
29026 int __pyx_t_5;
29027 xmmsv_t *__pyx_t_6;
29028 char *__pyx_t_7;
29029 int __pyx_lineno = 0;
29030 const char *__pyx_filename = NULL((void*)0);
29031 int __pyx_clineno = 0;
29032 __Pyx_RefNannySetupContext("playlist_add_collection", 0);
29033 if (__pyx_optional_args) {
29034 if (__pyx_optional_args->__pyx_n > 0) {
29035 __pyx_v_order = __pyx_optional_args->order;
29036 if (__pyx_optional_args->__pyx_n > 1) {
29037 __pyx_v_playlist = __pyx_optional_args->playlist;
29038 if (__pyx_optional_args->__pyx_n > 2) {
29039 __pyx_v_cb = __pyx_optional_args->cb;
29040 }
29041 }
29042 }
29043 }
29044 __Pyx_INCREF(__pyx_v_order)( ((PyObject*)(__pyx_v_order))->ob_refcnt++);
29045 /* Check if called by wrapper */
29046 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
29047 /* Check if overridden in Python */
29048 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
29049 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playlist_add_collection); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__29049; goto __pyx_L1_error;}
29050 __Pyx_GOTREF(__pyx_t_1);
29051 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_69playlist_add_collection)) {
29052 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
29053 __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__29053; goto __pyx_L1_error;}
29054 __Pyx_GOTREF(__pyx_t_2);
29055 __Pyx_INCREF(((PyObject *)__pyx_v_coll))( ((PyObject*)(((PyObject *)__pyx_v_coll)))->ob_refcnt++);
29056 PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_coll))(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = ((PyObject *
)__pyx_v_coll))
;
29057 __Pyx_GIVEREF(((PyObject *)__pyx_v_coll));
29058 __Pyx_INCREF(__pyx_v_order)( ((PyObject*)(__pyx_v_order))->ob_refcnt++);
29059 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_order)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_order
)
;
29060 __Pyx_GIVEREF(__pyx_v_order);
29061 __Pyx_INCREF(__pyx_v_playlist)( ((PyObject*)(__pyx_v_playlist))->ob_refcnt++);
29062 PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_playlist)(((PyTupleObject *)(__pyx_t_2))->ob_item[2] = __pyx_v_playlist
)
;
29063 __Pyx_GIVEREF(__pyx_v_playlist);
29064 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
29065 PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[3] = __pyx_v_cb);
29066 __Pyx_GIVEREF(__pyx_v_cb);
29067 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__29067; goto __pyx_L1_error;}
29068 __Pyx_GOTREF(__pyx_t_3);
29069 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
29070 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__29070; goto __pyx_L1_error;}
29071 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
29072 __pyx_t_3 = 0;
29073 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
29074 goto __pyx_L0;
29075 }
29076 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
29077 }
29078
29079 /* "xmmsapi.pyx":1415
29080 * cdef xmmsc_result_t *res
29081 *
29082 * p = check_playlist(playlist, True) # <<<<<<<<<<<<<<
29083 * if order is None:
29084 * order = []
29085 */
29086 __pyx_t_1 = __pyx_f_7xmmsapi_check_playlist(__pyx_v_playlist, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1415; __pyx_clineno = __LINE__29086; goto __pyx_L1_error;}
29087 __Pyx_GOTREF(__pyx_t_1);
29088 __pyx_v_p = __pyx_t_1;
29089 __pyx_t_1 = 0;
29090
29091 /* "xmmsapi.pyx":1416
29092 *
29093 * p = check_playlist(playlist, True)
29094 * if order is None: # <<<<<<<<<<<<<<
29095 * order = []
29096 * order_val = create_native_value(order)
29097 */
29098 __pyx_t_4 = (__pyx_v_order == Py_None(&_Py_NoneStruct));
29099 __pyx_t_5 = (__pyx_t_4 != 0);
29100 if (__pyx_t_5) {
29101
29102 /* "xmmsapi.pyx":1417
29103 * p = check_playlist(playlist, True)
29104 * if order is None:
29105 * order = [] # <<<<<<<<<<<<<<
29106 * order_val = create_native_value(order)
29107 * res = xmmsc_playlist_add_collection(self.conn, <char *>p, coll.coll, order_val)
29108 */
29109 __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__29109; goto __pyx_L1_error;}
29110 __Pyx_GOTREF(__pyx_t_1);
29111 __Pyx_DECREF_SET(__pyx_v_order, __pyx_t_1)do { PyObject *tmp = (PyObject *) __pyx_v_order; __pyx_v_order
= __pyx_t_1; do { if ( --((PyObject*)(tmp))->ob_refcnt !=
0) ; else ( (*(((PyObject*)((PyObject *)(tmp)))->ob_type)
->tp_dealloc)((PyObject *)((PyObject *)(tmp)))); } while (
0); } while (0)
;
29112 __pyx_t_1 = 0;
29113 goto __pyx_L3;
29114 }
29115 __pyx_L3:;
29116
29117 /* "xmmsapi.pyx":1418
29118 * if order is None:
29119 * order = []
29120 * order_val = create_native_value(order) # <<<<<<<<<<<<<<
29121 * res = xmmsc_playlist_add_collection(self.conn, <char *>p, coll.coll, order_val)
29122 * xmmsv_unref(order_val)
29123 */
29124 __pyx_t_6 = __pyx_f_9xmmsvalue_create_native_value(__pyx_v_order); if (unlikely(__pyx_t_6 == NULL)__builtin_expect(!!(__pyx_t_6 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1418; __pyx_clineno = __LINE__29124; goto __pyx_L1_error;}
29125 __pyx_v_order_val = __pyx_t_6;
29126
29127 /* "xmmsapi.pyx":1419
29128 * order = []
29129 * order_val = create_native_value(order)
29130 * res = xmmsc_playlist_add_collection(self.conn, <char *>p, coll.coll, order_val) # <<<<<<<<<<<<<<
29131 * xmmsv_unref(order_val)
29132 * return self.create_result(cb, res)
29133 */
29134 __pyx_t_7 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_7) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_7) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__29134; goto __pyx_L1_error;}
29135 __pyx_v_res = xmmsc_playlist_add_collection(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_7), __pyx_v_coll->__pyx_base.coll, __pyx_v_order_val);
29136
29137 /* "xmmsapi.pyx":1420
29138 * order_val = create_native_value(order)
29139 * res = xmmsc_playlist_add_collection(self.conn, <char *>p, coll.coll, order_val)
29140 * xmmsv_unref(order_val) # <<<<<<<<<<<<<<
29141 * return self.create_result(cb, res)
29142 *
29143 */
29144 xmmsv_unref(__pyx_v_order_val);
29145
29146 /* "xmmsapi.pyx":1421
29147 * res = xmmsc_playlist_add_collection(self.conn, <char *>p, coll.coll, order_val)
29148 * xmmsv_unref(order_val)
29149 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
29150 *
29151 * cpdef XmmsResult playlist_remove_entry(self, int id, playlist = None, cb = None):
29152 */
29153 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
29154 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __pyx_clineno = __LINE__29154; goto __pyx_L1_error;}
29155 __Pyx_GOTREF(__pyx_t_1);
29156 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
29157 __pyx_t_1 = 0;
29158 goto __pyx_L0;
29159
29160 /* "xmmsapi.pyx":1406
29161 * return self.create_result(cb, xmmsc_playlist_add_id(self.conn, <char *>p, id))
29162 *
29163 * cpdef XmmsResult playlist_add_collection(self, Collection coll, order = None, playlist = None, cb = None): # <<<<<<<<<<<<<<
29164 * """
29165 * Add the content of a collection to the playlist.
29166 */
29167
29168 /* function exit code */
29169 __pyx_L1_error:;
29170 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
29171 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
29172 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
29173 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_add_collection", __pyx_clineno, __pyx_lineno, __pyx_filename);
29174 __pyx_r = 0;
29175 __pyx_L0:;
29176 __Pyx_XDECREF(__pyx_v_p)do { if ((__pyx_v_p) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_p))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_p)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_p)))); } while (0); } while (0)
;
29177 __Pyx_XDECREF(__pyx_v_order)do { if ((__pyx_v_order) == ((void*)0)) ; else do { if ( --((
PyObject*)(__pyx_v_order))->ob_refcnt != 0) ; else ( (*(((
PyObject*)((PyObject *)(__pyx_v_order)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(__pyx_v_order)))); } while (0); }
while (0)
;
29178 __Pyx_XGIVEREF((PyObject *)__pyx_r);
29179 __Pyx_RefNannyFinishContext();
29180 return __pyx_r;
29181}
29182
29183/* Python wrapper */
29184static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_69playlist_add_collection(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
29185static char __pyx_doc_7xmmsapi_7XmmsApi_68playlist_add_collection[] = "XmmsApi.playlist_add_collection(self, Collection coll, order=None, playlist=None, cb=None) -> XmmsResult\n\n\t\tAdd the content of a collection to the playlist.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
29186static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_69playlist_add_collection(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
29187 struct __pyx_obj_9xmmsvalue_Collection *__pyx_v_coll = 0;
29188 PyObject *__pyx_v_order = 0;
29189 PyObject *__pyx_v_playlist = 0;
29190 PyObject *__pyx_v_cb = 0;
29191 int __pyx_lineno = 0;
29192 const char *__pyx_filename = NULL((void*)0);
29193 int __pyx_clineno = 0;
29194 PyObject *__pyx_r = 0;
29195 __Pyx_RefNannyDeclarations
29196 __Pyx_RefNannySetupContext("playlist_add_collection (wrapper)", 0);
29197 {
29198 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_coll,&__pyx_n_s_order,&__pyx_n_s_playlist,&__pyx_n_s_cb,0};
29199 PyObject* values[4] = {0,0,0,0};
29200 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
29201 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
29202 values[3] = ((PyObject *)Py_None(&_Py_NoneStruct));
29203 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
29204 Py_ssize_t kw_args;
29205 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
29206 switch (pos_args) {
29207 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
29208 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
29209 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
29210 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
29211 case 0: break;
29212 default: goto __pyx_L5_argtuple_error;
29213 }
29214 kw_args = PyDict_Size(__pyx_kwds);
29215 switch (pos_args) {
29216 case 0:
29217 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_coll)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_coll
)) != 0), 1)
) kw_args--;
29218 else goto __pyx_L5_argtuple_error;
29219 case 1:
29220 if (kw_args > 0) {
29221 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_order);
29222 if (value) { values[1] = value; kw_args--; }
29223 }
29224 case 2:
29225 if (kw_args > 0) {
29226 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_playlist);
29227 if (value) { values[2] = value; kw_args--; }
29228 }
29229 case 3:
29230 if (kw_args > 0) {
29231 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
29232 if (value) { values[3] = value; kw_args--; }
29233 }
29234 }
29235 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
29236 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playlist_add_collection") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playlist_add_collection") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__29236; goto __pyx_L3_error;}
29237 }
29238 } else {
29239 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
29240 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
29241 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
29242 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
29243 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
29244 break;
29245 default: goto __pyx_L5_argtuple_error;
29246 }
29247 }
29248 __pyx_v_coll = ((struct __pyx_obj_9xmmsvalue_Collection *)values[0]);
29249 __pyx_v_order = values[1];
29250 __pyx_v_playlist = values[2];
29251 __pyx_v_cb = values[3];
29252 }
29253 goto __pyx_L4_argument_unpacking_done;
29254 __pyx_L5_argtuple_error:;
29255 __Pyx_RaiseArgtupleInvalid("playlist_add_collection", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__29255; goto __pyx_L3_error;}
29256 __pyx_L3_error:;
29257 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_add_collection", __pyx_clineno, __pyx_lineno, __pyx_filename);
29258 __Pyx_RefNannyFinishContext();
29259 return NULL((void*)0);
29260 __pyx_L4_argument_unpacking_done:;
29261 if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_coll), __pyx_ptype_9xmmsvalue_Collection, 1, "coll", 0))__builtin_expect(!!(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_coll
), __pyx_ptype_9xmmsvalue_Collection, 1, "coll", 0)), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__29261; goto __pyx_L1_error;}
29262 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_68playlist_add_collection(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_coll, __pyx_v_order, __pyx_v_playlist, __pyx_v_cb);
29263
29264 /* function exit code */
29265 goto __pyx_L0;
29266 __pyx_L1_error:;
29267 __pyx_r = NULL((void*)0);
29268 __pyx_L0:;
29269 __Pyx_RefNannyFinishContext();
29270 return __pyx_r;
29271}
29272
29273static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_68playlist_add_collection(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, struct __pyx_obj_9xmmsvalue_Collection *__pyx_v_coll, PyObject *__pyx_v_order, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb) {
29274 PyObject *__pyx_r = NULL((void*)0);
29275 __Pyx_RefNannyDeclarations
29276 PyObject *__pyx_t_1 = NULL((void*)0);
29277 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_add_collection __pyx_t_2;
29278 int __pyx_lineno = 0;
29279 const char *__pyx_filename = NULL((void*)0);
29280 int __pyx_clineno = 0;
29281 __Pyx_RefNannySetupContext("playlist_add_collection", 0);
29282 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
29283 __pyx_t_2.__pyx_n = 3;
29284 __pyx_t_2.order = __pyx_v_order;
29285 __pyx_t_2.playlist = __pyx_v_playlist;
29286 __pyx_t_2.cb = __pyx_v_cb;
29287 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playlist_add_collection(__pyx_v_self, __pyx_v_coll, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __pyx_clineno = __LINE__29287; goto __pyx_L1_error;}
29288 __Pyx_GOTREF(__pyx_t_1);
29289 __pyx_r = __pyx_t_1;
29290 __pyx_t_1 = 0;
29291 goto __pyx_L0;
29292
29293 /* function exit code */
29294 __pyx_L1_error:;
29295 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
29296 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_add_collection", __pyx_clineno, __pyx_lineno, __pyx_filename);
29297 __pyx_r = NULL((void*)0);
29298 __pyx_L0:;
29299 __Pyx_XGIVEREF(__pyx_r);
29300 __Pyx_RefNannyFinishContext();
29301 return __pyx_r;
29302}
29303
29304/* "xmmsapi.pyx":1423
29305 * return self.create_result(cb, res)
29306 *
29307 * cpdef XmmsResult playlist_remove_entry(self, int id, playlist = None, cb = None): # <<<<<<<<<<<<<<
29308 * """
29309 * Remove a certain media item from the playlist.
29310 */
29311
29312static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_71playlist_remove_entry(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
29313static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playlist_remove_entry(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_id, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_remove_entry *__pyx_optional_args) {
29314 PyObject *__pyx_v_playlist = ((PyObject *)Py_None(&_Py_NoneStruct));
29315 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
29316 PyObject *__pyx_v_p = NULL((void*)0);
29317 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
29318 __Pyx_RefNannyDeclarations
29319 PyObject *__pyx_t_1 = NULL((void*)0);
29320 PyObject *__pyx_t_2 = NULL((void*)0);
29321 PyObject *__pyx_t_3 = NULL((void*)0);
29322 char *__pyx_t_4;
29323 int __pyx_lineno = 0;
29324 const char *__pyx_filename = NULL((void*)0);
29325 int __pyx_clineno = 0;
29326 __Pyx_RefNannySetupContext("playlist_remove_entry", 0);
29327 if (__pyx_optional_args) {
29328 if (__pyx_optional_args->__pyx_n > 0) {
29329 __pyx_v_playlist = __pyx_optional_args->playlist;
29330 if (__pyx_optional_args->__pyx_n > 1) {
29331 __pyx_v_cb = __pyx_optional_args->cb;
29332 }
29333 }
29334 }
29335 /* Check if called by wrapper */
29336 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
29337 /* Check if overridden in Python */
29338 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
29339 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playlist_remove_entry); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__29339; goto __pyx_L1_error;}
29340 __Pyx_GOTREF(__pyx_t_1);
29341 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_71playlist_remove_entry)) {
29342 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
29343 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_id); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__29343; goto __pyx_L1_error;}
29344 __Pyx_GOTREF(__pyx_t_2);
29345 __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__29345; goto __pyx_L1_error;}
29346 __Pyx_GOTREF(__pyx_t_3);
29347 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
29348 __Pyx_GIVEREF(__pyx_t_2);
29349 __Pyx_INCREF(__pyx_v_playlist)( ((PyObject*)(__pyx_v_playlist))->ob_refcnt++);
29350 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_playlist)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_playlist
)
;
29351 __Pyx_GIVEREF(__pyx_v_playlist);
29352 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
29353 PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_3))->ob_item[2] = __pyx_v_cb);
29354 __Pyx_GIVEREF(__pyx_v_cb);
29355 __pyx_t_2 = 0;
29356 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__29356; goto __pyx_L1_error;}
29357 __Pyx_GOTREF(__pyx_t_2);
29358 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
29359 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_2) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__29359; goto __pyx_L1_error;}
29360 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_2);
29361 __pyx_t_2 = 0;
29362 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
29363 goto __pyx_L0;
29364 }
29365 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
29366 }
29367
29368 /* "xmmsapi.pyx":1430
29369 * @return: The result of the operation.
29370 * """
29371 * p = check_playlist(playlist, True) # <<<<<<<<<<<<<<
29372 * return self.create_result(cb, xmmsc_playlist_remove_entry(self.conn, <char *>p, id))
29373 *
29374 */
29375 __pyx_t_1 = __pyx_f_7xmmsapi_check_playlist(__pyx_v_playlist, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1430; __pyx_clineno = __LINE__29375; goto __pyx_L1_error;}
29376 __Pyx_GOTREF(__pyx_t_1);
29377 __pyx_v_p = __pyx_t_1;
29378 __pyx_t_1 = 0;
29379
29380 /* "xmmsapi.pyx":1431
29381 * """
29382 * p = check_playlist(playlist, True)
29383 * return self.create_result(cb, xmmsc_playlist_remove_entry(self.conn, <char *>p, id)) # <<<<<<<<<<<<<<
29384 *
29385 * cpdef XmmsResult playlist_clear(self, playlist = None, cb = None):
29386 */
29387 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
29388 __pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_4) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_4) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1431; __pyx_clineno = __LINE__29388; goto __pyx_L1_error;}
29389 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_playlist_remove_entry(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_4), __pyx_v_id))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1431; __pyx_clineno = __LINE__29389; goto __pyx_L1_error;}
29390 __Pyx_GOTREF(__pyx_t_1);
29391 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
29392 __pyx_t_1 = 0;
29393 goto __pyx_L0;
29394
29395 /* "xmmsapi.pyx":1423
29396 * return self.create_result(cb, res)
29397 *
29398 * cpdef XmmsResult playlist_remove_entry(self, int id, playlist = None, cb = None): # <<<<<<<<<<<<<<
29399 * """
29400 * Remove a certain media item from the playlist.
29401 */
29402
29403 /* function exit code */
29404 __pyx_L1_error:;
29405 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
29406 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
29407 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
29408 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_remove_entry", __pyx_clineno, __pyx_lineno, __pyx_filename);
29409 __pyx_r = 0;
29410 __pyx_L0:;
29411 __Pyx_XDECREF(__pyx_v_p)do { if ((__pyx_v_p) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_p))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_p)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_p)))); } while (0); } while (0)
;
29412 __Pyx_XGIVEREF((PyObject *)__pyx_r);
29413 __Pyx_RefNannyFinishContext();
29414 return __pyx_r;
29415}
29416
29417/* Python wrapper */
29418static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_71playlist_remove_entry(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
29419static char __pyx_doc_7xmmsapi_7XmmsApi_70playlist_remove_entry[] = "XmmsApi.playlist_remove_entry(self, int id, playlist=None, cb=None) -> XmmsResult\n\n\t\tRemove a certain media item from the playlist.\n\t\tRequires a number 'id' as argument.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
29420static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_71playlist_remove_entry(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
29421 int __pyx_v_id;
29422 PyObject *__pyx_v_playlist = 0;
29423 PyObject *__pyx_v_cb = 0;
29424 int __pyx_lineno = 0;
29425 const char *__pyx_filename = NULL((void*)0);
29426 int __pyx_clineno = 0;
29427 PyObject *__pyx_r = 0;
29428 __Pyx_RefNannyDeclarations
29429 __Pyx_RefNannySetupContext("playlist_remove_entry (wrapper)", 0);
29430 {
29431 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_id,&__pyx_n_s_playlist,&__pyx_n_s_cb,0};
29432 PyObject* values[3] = {0,0,0};
29433 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
29434 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
29435 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
29436 Py_ssize_t kw_args;
29437 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
29438 switch (pos_args) {
29439 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
29440 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
29441 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
29442 case 0: break;
29443 default: goto __pyx_L5_argtuple_error;
29444 }
29445 kw_args = PyDict_Size(__pyx_kwds);
29446 switch (pos_args) {
29447 case 0:
29448 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_id)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_id
)) != 0), 1)
) kw_args--;
29449 else goto __pyx_L5_argtuple_error;
29450 case 1:
29451 if (kw_args > 0) {
29452 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_playlist);
29453 if (value) { values[1] = value; kw_args--; }
29454 }
29455 case 2:
29456 if (kw_args > 0) {
29457 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
29458 if (value) { values[2] = value; kw_args--; }
29459 }
29460 }
29461 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
29462 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playlist_remove_entry") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playlist_remove_entry") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__29462; goto __pyx_L3_error;}
29463 }
29464 } else {
29465 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
29466 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
29467 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
29468 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
29469 break;
29470 default: goto __pyx_L5_argtuple_error;
29471 }
29472 }
29473 __pyx_v_id = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_id == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_id == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__29473; goto __pyx_L3_error;}
29474 __pyx_v_playlist = values[1];
29475 __pyx_v_cb = values[2];
29476 }
29477 goto __pyx_L4_argument_unpacking_done;
29478 __pyx_L5_argtuple_error:;
29479 __Pyx_RaiseArgtupleInvalid("playlist_remove_entry", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__29479; goto __pyx_L3_error;}
29480 __pyx_L3_error:;
29481 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_remove_entry", __pyx_clineno, __pyx_lineno, __pyx_filename);
29482 __Pyx_RefNannyFinishContext();
29483 return NULL((void*)0);
29484 __pyx_L4_argument_unpacking_done:;
29485 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_70playlist_remove_entry(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_id, __pyx_v_playlist, __pyx_v_cb);
29486
29487 /* function exit code */
29488 __Pyx_RefNannyFinishContext();
29489 return __pyx_r;
29490}
29491
29492static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_70playlist_remove_entry(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_id, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb) {
29493 PyObject *__pyx_r = NULL((void*)0);
29494 __Pyx_RefNannyDeclarations
29495 PyObject *__pyx_t_1 = NULL((void*)0);
29496 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_remove_entry __pyx_t_2;
29497 int __pyx_lineno = 0;
29498 const char *__pyx_filename = NULL((void*)0);
29499 int __pyx_clineno = 0;
29500 __Pyx_RefNannySetupContext("playlist_remove_entry", 0);
29501 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
29502 __pyx_t_2.__pyx_n = 2;
29503 __pyx_t_2.playlist = __pyx_v_playlist;
29504 __pyx_t_2.cb = __pyx_v_cb;
29505 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playlist_remove_entry(__pyx_v_self, __pyx_v_id, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__29505; goto __pyx_L1_error;}
29506 __Pyx_GOTREF(__pyx_t_1);
29507 __pyx_r = __pyx_t_1;
29508 __pyx_t_1 = 0;
29509 goto __pyx_L0;
29510
29511 /* function exit code */
29512 __pyx_L1_error:;
29513 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
29514 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_remove_entry", __pyx_clineno, __pyx_lineno, __pyx_filename);
29515 __pyx_r = NULL((void*)0);
29516 __pyx_L0:;
29517 __Pyx_XGIVEREF(__pyx_r);
29518 __Pyx_RefNannyFinishContext();
29519 return __pyx_r;
29520}
29521
29522/* "xmmsapi.pyx":1433
29523 * return self.create_result(cb, xmmsc_playlist_remove_entry(self.conn, <char *>p, id))
29524 *
29525 * cpdef XmmsResult playlist_clear(self, playlist = None, cb = None): # <<<<<<<<<<<<<<
29526 * """
29527 * Clear the playlist.
29528 */
29529
29530static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_73playlist_clear(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
29531static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playlist_clear(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_clear *__pyx_optional_args) {
29532 PyObject *__pyx_v_playlist = ((PyObject *)Py_None(&_Py_NoneStruct));
29533 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
29534 PyObject *__pyx_v_p = NULL((void*)0);
29535 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
29536 __Pyx_RefNannyDeclarations
29537 PyObject *__pyx_t_1 = NULL((void*)0);
29538 PyObject *__pyx_t_2 = NULL((void*)0);
29539 PyObject *__pyx_t_3 = NULL((void*)0);
29540 char *__pyx_t_4;
29541 int __pyx_lineno = 0;
29542 const char *__pyx_filename = NULL((void*)0);
29543 int __pyx_clineno = 0;
29544 __Pyx_RefNannySetupContext("playlist_clear", 0);
29545 if (__pyx_optional_args) {
29546 if (__pyx_optional_args->__pyx_n > 0) {
29547 __pyx_v_playlist = __pyx_optional_args->playlist;
29548 if (__pyx_optional_args->__pyx_n > 1) {
29549 __pyx_v_cb = __pyx_optional_args->cb;
29550 }
29551 }
29552 }
29553 /* Check if called by wrapper */
29554 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
29555 /* Check if overridden in Python */
29556 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
29557 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playlist_clear); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__29557; goto __pyx_L1_error;}
29558 __Pyx_GOTREF(__pyx_t_1);
29559 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_73playlist_clear)) {
29560 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
29561 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__29561; goto __pyx_L1_error;}
29562 __Pyx_GOTREF(__pyx_t_2);
29563 __Pyx_INCREF(__pyx_v_playlist)( ((PyObject*)(__pyx_v_playlist))->ob_refcnt++);
29564 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_playlist)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_playlist
)
;
29565 __Pyx_GIVEREF(__pyx_v_playlist);
29566 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
29567 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_cb);
29568 __Pyx_GIVEREF(__pyx_v_cb);
29569 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__29569; goto __pyx_L1_error;}
29570 __Pyx_GOTREF(__pyx_t_3);
29571 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
29572 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__29572; goto __pyx_L1_error;}
29573 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
29574 __pyx_t_3 = 0;
29575 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
29576 goto __pyx_L0;
29577 }
29578 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
29579 }
29580
29581 /* "xmmsapi.pyx":1439
29582 * @return: The result of the operation.
29583 * """
29584 * p = check_playlist(playlist, True) # <<<<<<<<<<<<<<
29585 * return self.create_result(cb, xmmsc_playlist_clear(self.conn, <char *>p))
29586 *
29587 */
29588 __pyx_t_1 = __pyx_f_7xmmsapi_check_playlist(__pyx_v_playlist, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1439; __pyx_clineno = __LINE__29588; goto __pyx_L1_error;}
29589 __Pyx_GOTREF(__pyx_t_1);
29590 __pyx_v_p = __pyx_t_1;
29591 __pyx_t_1 = 0;
29592
29593 /* "xmmsapi.pyx":1440
29594 * """
29595 * p = check_playlist(playlist, True)
29596 * return self.create_result(cb, xmmsc_playlist_clear(self.conn, <char *>p)) # <<<<<<<<<<<<<<
29597 *
29598 * cpdef XmmsResult playlist_list_entries(self, playlist = None, cb = None):
29599 */
29600 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
29601 __pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_4) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_4) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__29601; goto __pyx_L1_error;}
29602 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_playlist_clear(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_4)))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__29602; goto __pyx_L1_error;}
29603 __Pyx_GOTREF(__pyx_t_1);
29604 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
29605 __pyx_t_1 = 0;
29606 goto __pyx_L0;
29607
29608 /* "xmmsapi.pyx":1433
29609 * return self.create_result(cb, xmmsc_playlist_remove_entry(self.conn, <char *>p, id))
29610 *
29611 * cpdef XmmsResult playlist_clear(self, playlist = None, cb = None): # <<<<<<<<<<<<<<
29612 * """
29613 * Clear the playlist.
29614 */
29615
29616 /* function exit code */
29617 __pyx_L1_error:;
29618 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
29619 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
29620 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
29621 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_clear", __pyx_clineno, __pyx_lineno, __pyx_filename);
29622 __pyx_r = 0;
29623 __pyx_L0:;
29624 __Pyx_XDECREF(__pyx_v_p)do { if ((__pyx_v_p) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_p))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_p)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_p)))); } while (0); } while (0)
;
29625 __Pyx_XGIVEREF((PyObject *)__pyx_r);
29626 __Pyx_RefNannyFinishContext();
29627 return __pyx_r;
29628}
29629
29630/* Python wrapper */
29631static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_73playlist_clear(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
29632static char __pyx_doc_7xmmsapi_7XmmsApi_72playlist_clear[] = "XmmsApi.playlist_clear(self, playlist=None, cb=None) -> XmmsResult\n\n\t\tClear the playlist.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
29633static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_73playlist_clear(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
29634 PyObject *__pyx_v_playlist = 0;
29635 PyObject *__pyx_v_cb = 0;
29636 int __pyx_lineno = 0;
29637 const char *__pyx_filename = NULL((void*)0);
29638 int __pyx_clineno = 0;
29639 PyObject *__pyx_r = 0;
29640 __Pyx_RefNannyDeclarations
29641 __Pyx_RefNannySetupContext("playlist_clear (wrapper)", 0);
29642 {
29643 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_playlist,&__pyx_n_s_cb,0};
29644 PyObject* values[2] = {0,0};
29645 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
29646 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
29647 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
29648 Py_ssize_t kw_args;
29649 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
29650 switch (pos_args) {
29651 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
29652 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
29653 case 0: break;
29654 default: goto __pyx_L5_argtuple_error;
29655 }
29656 kw_args = PyDict_Size(__pyx_kwds);
29657 switch (pos_args) {
29658 case 0:
29659 if (kw_args > 0) {
29660 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_playlist);
29661 if (value) { values[0] = value; kw_args--; }
29662 }
29663 case 1:
29664 if (kw_args > 0) {
29665 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
29666 if (value) { values[1] = value; kw_args--; }
29667 }
29668 }
29669 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
29670 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playlist_clear") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playlist_clear") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__29670; goto __pyx_L3_error;}
29671 }
29672 } else {
29673 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
29674 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
29675 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
29676 case 0: break;
29677 default: goto __pyx_L5_argtuple_error;
29678 }
29679 }
29680 __pyx_v_playlist = values[0];
29681 __pyx_v_cb = values[1];
29682 }
29683 goto __pyx_L4_argument_unpacking_done;
29684 __pyx_L5_argtuple_error:;
29685 __Pyx_RaiseArgtupleInvalid("playlist_clear", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__29685; goto __pyx_L3_error;}
29686 __pyx_L3_error:;
29687 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_clear", __pyx_clineno, __pyx_lineno, __pyx_filename);
29688 __Pyx_RefNannyFinishContext();
29689 return NULL((void*)0);
29690 __pyx_L4_argument_unpacking_done:;
29691 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_72playlist_clear(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_playlist, __pyx_v_cb);
29692
29693 /* function exit code */
29694 __Pyx_RefNannyFinishContext();
29695 return __pyx_r;
29696}
29697
29698static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_72playlist_clear(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb) {
29699 PyObject *__pyx_r = NULL((void*)0);
29700 __Pyx_RefNannyDeclarations
29701 PyObject *__pyx_t_1 = NULL((void*)0);
29702 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_clear __pyx_t_2;
29703 int __pyx_lineno = 0;
29704 const char *__pyx_filename = NULL((void*)0);
29705 int __pyx_clineno = 0;
29706 __Pyx_RefNannySetupContext("playlist_clear", 0);
29707 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
29708 __pyx_t_2.__pyx_n = 2;
29709 __pyx_t_2.playlist = __pyx_v_playlist;
29710 __pyx_t_2.cb = __pyx_v_cb;
29711 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playlist_clear(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1433; __pyx_clineno = __LINE__29711; goto __pyx_L1_error;}
29712 __Pyx_GOTREF(__pyx_t_1);
29713 __pyx_r = __pyx_t_1;
29714 __pyx_t_1 = 0;
29715 goto __pyx_L0;
29716
29717 /* function exit code */
29718 __pyx_L1_error:;
29719 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
29720 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_clear", __pyx_clineno, __pyx_lineno, __pyx_filename);
29721 __pyx_r = NULL((void*)0);
29722 __pyx_L0:;
29723 __Pyx_XGIVEREF(__pyx_r);
29724 __Pyx_RefNannyFinishContext();
29725 return __pyx_r;
29726}
29727
29728/* "xmmsapi.pyx":1442
29729 * return self.create_result(cb, xmmsc_playlist_clear(self.conn, <char *>p))
29730 *
29731 * cpdef XmmsResult playlist_list_entries(self, playlist = None, cb = None): # <<<<<<<<<<<<<<
29732 * """
29733 * Get the current playlist. This function returns a list of IDs
29734 */
29735
29736static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_75playlist_list_entries(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
29737static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playlist_list_entries(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_list_entries *__pyx_optional_args) {
29738 PyObject *__pyx_v_playlist = ((PyObject *)Py_None(&_Py_NoneStruct));
29739 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
29740 PyObject *__pyx_v_p = NULL((void*)0);
29741 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
29742 __Pyx_RefNannyDeclarations
29743 PyObject *__pyx_t_1 = NULL((void*)0);
29744 PyObject *__pyx_t_2 = NULL((void*)0);
29745 PyObject *__pyx_t_3 = NULL((void*)0);
29746 char *__pyx_t_4;
29747 int __pyx_lineno = 0;
29748 const char *__pyx_filename = NULL((void*)0);
29749 int __pyx_clineno = 0;
29750 __Pyx_RefNannySetupContext("playlist_list_entries", 0);
29751 if (__pyx_optional_args) {
29752 if (__pyx_optional_args->__pyx_n > 0) {
29753 __pyx_v_playlist = __pyx_optional_args->playlist;
29754 if (__pyx_optional_args->__pyx_n > 1) {
29755 __pyx_v_cb = __pyx_optional_args->cb;
29756 }
29757 }
29758 }
29759 /* Check if called by wrapper */
29760 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
29761 /* Check if overridden in Python */
29762 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
29763 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playlist_list_entries); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__29763; goto __pyx_L1_error;}
29764 __Pyx_GOTREF(__pyx_t_1);
29765 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_75playlist_list_entries)) {
29766 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
29767 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__29767; goto __pyx_L1_error;}
29768 __Pyx_GOTREF(__pyx_t_2);
29769 __Pyx_INCREF(__pyx_v_playlist)( ((PyObject*)(__pyx_v_playlist))->ob_refcnt++);
29770 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_playlist)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_playlist
)
;
29771 __Pyx_GIVEREF(__pyx_v_playlist);
29772 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
29773 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_cb);
29774 __Pyx_GIVEREF(__pyx_v_cb);
29775 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__29775; goto __pyx_L1_error;}
29776 __Pyx_GOTREF(__pyx_t_3);
29777 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
29778 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__29778; goto __pyx_L1_error;}
29779 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
29780 __pyx_t_3 = 0;
29781 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
29782 goto __pyx_L0;
29783 }
29784 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
29785 }
29786
29787 /* "xmmsapi.pyx":1450
29788 * @return: The current playlist.
29789 * """
29790 * p = check_playlist(playlist, True) # <<<<<<<<<<<<<<
29791 * return self.create_result(cb, xmmsc_playlist_list_entries(self.conn, <char *>p))
29792 *
29793 */
29794 __pyx_t_1 = __pyx_f_7xmmsapi_check_playlist(__pyx_v_playlist, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1450; __pyx_clineno = __LINE__29794; goto __pyx_L1_error;}
29795 __Pyx_GOTREF(__pyx_t_1);
29796 __pyx_v_p = __pyx_t_1;
29797 __pyx_t_1 = 0;
29798
29799 /* "xmmsapi.pyx":1451
29800 * """
29801 * p = check_playlist(playlist, True)
29802 * return self.create_result(cb, xmmsc_playlist_list_entries(self.conn, <char *>p)) # <<<<<<<<<<<<<<
29803 *
29804 * cpdef XmmsResult playlist_sort(self, props, playlist = None, cb = None):
29805 */
29806 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
29807 __pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_4) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_4) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1451; __pyx_clineno = __LINE__29807; goto __pyx_L1_error;}
29808 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_playlist_list_entries(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_4)))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1451; __pyx_clineno = __LINE__29808; goto __pyx_L1_error;}
29809 __Pyx_GOTREF(__pyx_t_1);
29810 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
29811 __pyx_t_1 = 0;
29812 goto __pyx_L0;
29813
29814 /* "xmmsapi.pyx":1442
29815 * return self.create_result(cb, xmmsc_playlist_clear(self.conn, <char *>p))
29816 *
29817 * cpdef XmmsResult playlist_list_entries(self, playlist = None, cb = None): # <<<<<<<<<<<<<<
29818 * """
29819 * Get the current playlist. This function returns a list of IDs
29820 */
29821
29822 /* function exit code */
29823 __pyx_L1_error:;
29824 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
29825 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
29826 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
29827 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_list_entries", __pyx_clineno, __pyx_lineno, __pyx_filename);
29828 __pyx_r = 0;
29829 __pyx_L0:;
29830 __Pyx_XDECREF(__pyx_v_p)do { if ((__pyx_v_p) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_p))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_p)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_p)))); } while (0); } while (0)
;
29831 __Pyx_XGIVEREF((PyObject *)__pyx_r);
29832 __Pyx_RefNannyFinishContext();
29833 return __pyx_r;
29834}
29835
29836/* Python wrapper */
29837static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_75playlist_list_entries(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
29838static char __pyx_doc_7xmmsapi_7XmmsApi_74playlist_list_entries[] = "XmmsApi.playlist_list_entries(self, playlist=None, cb=None) -> XmmsResult\n\n\t\tGet the current playlist. This function returns a list of IDs\n\t\tof the files/streams currently in the playlist. Use\n\t\tL{medialib_get_info} to retrieve more specific information.\n\t\t@rtype: L{XmmsResult}(UIntList)\n\t\t@return: The current playlist.\n\t\t";
29839static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_75playlist_list_entries(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
29840 PyObject *__pyx_v_playlist = 0;
29841 PyObject *__pyx_v_cb = 0;
29842 int __pyx_lineno = 0;
29843 const char *__pyx_filename = NULL((void*)0);
29844 int __pyx_clineno = 0;
29845 PyObject *__pyx_r = 0;
29846 __Pyx_RefNannyDeclarations
29847 __Pyx_RefNannySetupContext("playlist_list_entries (wrapper)", 0);
29848 {
29849 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_playlist,&__pyx_n_s_cb,0};
29850 PyObject* values[2] = {0,0};
29851 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
29852 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
29853 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
29854 Py_ssize_t kw_args;
29855 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
29856 switch (pos_args) {
29857 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
29858 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
29859 case 0: break;
29860 default: goto __pyx_L5_argtuple_error;
29861 }
29862 kw_args = PyDict_Size(__pyx_kwds);
29863 switch (pos_args) {
29864 case 0:
29865 if (kw_args > 0) {
29866 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_playlist);
29867 if (value) { values[0] = value; kw_args--; }
29868 }
29869 case 1:
29870 if (kw_args > 0) {
29871 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
29872 if (value) { values[1] = value; kw_args--; }
29873 }
29874 }
29875 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
29876 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playlist_list_entries") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playlist_list_entries") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__29876; goto __pyx_L3_error;}
29877 }
29878 } else {
29879 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
29880 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
29881 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
29882 case 0: break;
29883 default: goto __pyx_L5_argtuple_error;
29884 }
29885 }
29886 __pyx_v_playlist = values[0];
29887 __pyx_v_cb = values[1];
29888 }
29889 goto __pyx_L4_argument_unpacking_done;
29890 __pyx_L5_argtuple_error:;
29891 __Pyx_RaiseArgtupleInvalid("playlist_list_entries", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__29891; goto __pyx_L3_error;}
29892 __pyx_L3_error:;
29893 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_list_entries", __pyx_clineno, __pyx_lineno, __pyx_filename);
29894 __Pyx_RefNannyFinishContext();
29895 return NULL((void*)0);
29896 __pyx_L4_argument_unpacking_done:;
29897 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_74playlist_list_entries(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_playlist, __pyx_v_cb);
29898
29899 /* function exit code */
29900 __Pyx_RefNannyFinishContext();
29901 return __pyx_r;
29902}
29903
29904static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_74playlist_list_entries(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb) {
29905 PyObject *__pyx_r = NULL((void*)0);
29906 __Pyx_RefNannyDeclarations
29907 PyObject *__pyx_t_1 = NULL((void*)0);
29908 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_list_entries __pyx_t_2;
29909 int __pyx_lineno = 0;
29910 const char *__pyx_filename = NULL((void*)0);
29911 int __pyx_clineno = 0;
29912 __Pyx_RefNannySetupContext("playlist_list_entries", 0);
29913 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
29914 __pyx_t_2.__pyx_n = 2;
29915 __pyx_t_2.playlist = __pyx_v_playlist;
29916 __pyx_t_2.cb = __pyx_v_cb;
29917 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playlist_list_entries(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1442; __pyx_clineno = __LINE__29917; goto __pyx_L1_error;}
29918 __Pyx_GOTREF(__pyx_t_1);
29919 __pyx_r = __pyx_t_1;
29920 __pyx_t_1 = 0;
29921 goto __pyx_L0;
29922
29923 /* function exit code */
29924 __pyx_L1_error:;
29925 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
29926 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_list_entries", __pyx_clineno, __pyx_lineno, __pyx_filename);
29927 __pyx_r = NULL((void*)0);
29928 __pyx_L0:;
29929 __Pyx_XGIVEREF(__pyx_r);
29930 __Pyx_RefNannyFinishContext();
29931 return __pyx_r;
29932}
29933
29934/* "xmmsapi.pyx":1453
29935 * return self.create_result(cb, xmmsc_playlist_list_entries(self.conn, <char *>p))
29936 *
29937 * cpdef XmmsResult playlist_sort(self, props, playlist = None, cb = None): # <<<<<<<<<<<<<<
29938 * """
29939 * Sorts the playlist according to the properties specified.
29940 */
29941
29942static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_77playlist_sort(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
29943static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playlist_sort(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_props, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_sort *__pyx_optional_args) {
29944 PyObject *__pyx_v_playlist = ((PyObject *)Py_None(&_Py_NoneStruct));
29945 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
29946 xmmsv_t *__pyx_v_props_val;
29947 xmmsc_result_t *__pyx_v_res;
29948 PyObject *__pyx_v_p = NULL((void*)0);
29949 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
29950 __Pyx_RefNannyDeclarations
29951 PyObject *__pyx_t_1 = NULL((void*)0);
29952 PyObject *__pyx_t_2 = NULL((void*)0);
29953 PyObject *__pyx_t_3 = NULL((void*)0);
29954 xmmsv_t *__pyx_t_4;
29955 char *__pyx_t_5;
29956 int __pyx_lineno = 0;
29957 const char *__pyx_filename = NULL((void*)0);
29958 int __pyx_clineno = 0;
29959 __Pyx_RefNannySetupContext("playlist_sort", 0);
29960 if (__pyx_optional_args) {
29961 if (__pyx_optional_args->__pyx_n > 0) {
29962 __pyx_v_playlist = __pyx_optional_args->playlist;
29963 if (__pyx_optional_args->__pyx_n > 1) {
29964 __pyx_v_cb = __pyx_optional_args->cb;
29965 }
29966 }
29967 }
29968 /* Check if called by wrapper */
29969 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
29970 /* Check if overridden in Python */
29971 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
29972 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playlist_sort); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1453; __pyx_clineno = __LINE__29972; goto __pyx_L1_error;}
29973 __Pyx_GOTREF(__pyx_t_1);
29974 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_77playlist_sort)) {
29975 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
29976 __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1453; __pyx_clineno = __LINE__29976; goto __pyx_L1_error;}
29977 __Pyx_GOTREF(__pyx_t_2);
29978 __Pyx_INCREF(__pyx_v_props)( ((PyObject*)(__pyx_v_props))->ob_refcnt++);
29979 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_props)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_props
)
;
29980 __Pyx_GIVEREF(__pyx_v_props);
29981 __Pyx_INCREF(__pyx_v_playlist)( ((PyObject*)(__pyx_v_playlist))->ob_refcnt++);
29982 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_playlist)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_playlist
)
;
29983 __Pyx_GIVEREF(__pyx_v_playlist);
29984 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
29985 PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[2] = __pyx_v_cb);
29986 __Pyx_GIVEREF(__pyx_v_cb);
29987 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1453; __pyx_clineno = __LINE__29987; goto __pyx_L1_error;}
29988 __Pyx_GOTREF(__pyx_t_3);
29989 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
29990 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1453; __pyx_clineno = __LINE__29990; goto __pyx_L1_error;}
29991 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
29992 __pyx_t_3 = 0;
29993 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
29994 goto __pyx_L0;
29995 }
29996 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
29997 }
29998
29999 /* "xmmsapi.pyx":1462
30000 * cdef xmmsc_result_t *res
30001 *
30002 * p = check_playlist(playlist, True) # <<<<<<<<<<<<<<
30003 * props_val = create_native_value(props)
30004 * res = xmmsc_playlist_sort(self.conn, <char *>p, props_val)
30005 */
30006 __pyx_t_1 = __pyx_f_7xmmsapi_check_playlist(__pyx_v_playlist, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1462; __pyx_clineno = __LINE__30006; goto __pyx_L1_error;}
30007 __Pyx_GOTREF(__pyx_t_1);
30008 __pyx_v_p = __pyx_t_1;
30009 __pyx_t_1 = 0;
30010
30011 /* "xmmsapi.pyx":1463
30012 *
30013 * p = check_playlist(playlist, True)
30014 * props_val = create_native_value(props) # <<<<<<<<<<<<<<
30015 * res = xmmsc_playlist_sort(self.conn, <char *>p, props_val)
30016 * xmmsv_unref(props_val)
30017 */
30018 __pyx_t_4 = __pyx_f_9xmmsvalue_create_native_value(__pyx_v_props); if (unlikely(__pyx_t_4 == NULL)__builtin_expect(!!(__pyx_t_4 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1463; __pyx_clineno = __LINE__30018; goto __pyx_L1_error;}
30019 __pyx_v_props_val = __pyx_t_4;
30020
30021 /* "xmmsapi.pyx":1464
30022 * p = check_playlist(playlist, True)
30023 * props_val = create_native_value(props)
30024 * res = xmmsc_playlist_sort(self.conn, <char *>p, props_val) # <<<<<<<<<<<<<<
30025 * xmmsv_unref(props_val)
30026 * return self.create_result(cb, res)
30027 */
30028 __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_5) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_5) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__30028; goto __pyx_L1_error;}
30029 __pyx_v_res = xmmsc_playlist_sort(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_5), __pyx_v_props_val);
30030
30031 /* "xmmsapi.pyx":1465
30032 * props_val = create_native_value(props)
30033 * res = xmmsc_playlist_sort(self.conn, <char *>p, props_val)
30034 * xmmsv_unref(props_val) # <<<<<<<<<<<<<<
30035 * return self.create_result(cb, res)
30036 *
30037 */
30038 xmmsv_unref(__pyx_v_props_val);
30039
30040 /* "xmmsapi.pyx":1466
30041 * res = xmmsc_playlist_sort(self.conn, <char *>p, props_val)
30042 * xmmsv_unref(props_val)
30043 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
30044 *
30045 * cpdef XmmsResult playlist_set_next_rel(self, int position, cb = None):
30046 */
30047 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
30048 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1466; __pyx_clineno = __LINE__30048; goto __pyx_L1_error;}
30049 __Pyx_GOTREF(__pyx_t_1);
30050 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
30051 __pyx_t_1 = 0;
30052 goto __pyx_L0;
30053
30054 /* "xmmsapi.pyx":1453
30055 * return self.create_result(cb, xmmsc_playlist_list_entries(self.conn, <char *>p))
30056 *
30057 * cpdef XmmsResult playlist_sort(self, props, playlist = None, cb = None): # <<<<<<<<<<<<<<
30058 * """
30059 * Sorts the playlist according to the properties specified.
30060 */
30061
30062 /* function exit code */
30063 __pyx_L1_error:;
30064 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
30065 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
30066 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
30067 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_sort", __pyx_clineno, __pyx_lineno, __pyx_filename);
30068 __pyx_r = 0;
30069 __pyx_L0:;
30070 __Pyx_XDECREF(__pyx_v_p)do { if ((__pyx_v_p) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_p))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_p)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_p)))); } while (0); } while (0)
;
30071 __Pyx_XGIVEREF((PyObject *)__pyx_r);
30072 __Pyx_RefNannyFinishContext();
30073 return __pyx_r;
30074}
30075
30076/* Python wrapper */
30077static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_77playlist_sort(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
30078static char __pyx_doc_7xmmsapi_7XmmsApi_76playlist_sort[] = "XmmsApi.playlist_sort(self, props, playlist=None, cb=None) -> XmmsResult\n\n\t\tSorts the playlist according to the properties specified.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
30079static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_77playlist_sort(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
30080 PyObject *__pyx_v_props = 0;
30081 PyObject *__pyx_v_playlist = 0;
30082 PyObject *__pyx_v_cb = 0;
30083 int __pyx_lineno = 0;
30084 const char *__pyx_filename = NULL((void*)0);
30085 int __pyx_clineno = 0;
30086 PyObject *__pyx_r = 0;
30087 __Pyx_RefNannyDeclarations
30088 __Pyx_RefNannySetupContext("playlist_sort (wrapper)", 0);
30089 {
30090 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_props,&__pyx_n_s_playlist,&__pyx_n_s_cb,0};
30091 PyObject* values[3] = {0,0,0};
30092 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
30093 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
30094 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
30095 Py_ssize_t kw_args;
30096 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
30097 switch (pos_args) {
30098 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
30099 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
30100 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
30101 case 0: break;
30102 default: goto __pyx_L5_argtuple_error;
30103 }
30104 kw_args = PyDict_Size(__pyx_kwds);
30105 switch (pos_args) {
30106 case 0:
30107 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_props)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_props
)) != 0), 1)
) kw_args--;
30108 else goto __pyx_L5_argtuple_error;
30109 case 1:
30110 if (kw_args > 0) {
30111 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_playlist);
30112 if (value) { values[1] = value; kw_args--; }
30113 }
30114 case 2:
30115 if (kw_args > 0) {
30116 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
30117 if (value) { values[2] = value; kw_args--; }
30118 }
30119 }
30120 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
30121 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playlist_sort") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playlist_sort") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1453; __pyx_clineno = __LINE__30121; goto __pyx_L3_error;}
30122 }
30123 } else {
30124 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
30125 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
30126 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
30127 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
30128 break;
30129 default: goto __pyx_L5_argtuple_error;
30130 }
30131 }
30132 __pyx_v_props = values[0];
30133 __pyx_v_playlist = values[1];
30134 __pyx_v_cb = values[2];
30135 }
30136 goto __pyx_L4_argument_unpacking_done;
30137 __pyx_L5_argtuple_error:;
30138 __Pyx_RaiseArgtupleInvalid("playlist_sort", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1453; __pyx_clineno = __LINE__30138; goto __pyx_L3_error;}
30139 __pyx_L3_error:;
30140 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_sort", __pyx_clineno, __pyx_lineno, __pyx_filename);
30141 __Pyx_RefNannyFinishContext();
30142 return NULL((void*)0);
30143 __pyx_L4_argument_unpacking_done:;
30144 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_76playlist_sort(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_props, __pyx_v_playlist, __pyx_v_cb);
30145
30146 /* function exit code */
30147 __Pyx_RefNannyFinishContext();
30148 return __pyx_r;
30149}
30150
30151static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_76playlist_sort(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_props, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb) {
30152 PyObject *__pyx_r = NULL((void*)0);
30153 __Pyx_RefNannyDeclarations
30154 PyObject *__pyx_t_1 = NULL((void*)0);
30155 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_sort __pyx_t_2;
30156 int __pyx_lineno = 0;
30157 const char *__pyx_filename = NULL((void*)0);
30158 int __pyx_clineno = 0;
30159 __Pyx_RefNannySetupContext("playlist_sort", 0);
30160 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
30161 __pyx_t_2.__pyx_n = 2;
30162 __pyx_t_2.playlist = __pyx_v_playlist;
30163 __pyx_t_2.cb = __pyx_v_cb;
30164 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playlist_sort(__pyx_v_self, __pyx_v_props, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1453; __pyx_clineno = __LINE__30164; goto __pyx_L1_error;}
30165 __Pyx_GOTREF(__pyx_t_1);
30166 __pyx_r = __pyx_t_1;
30167 __pyx_t_1 = 0;
30168 goto __pyx_L0;
30169
30170 /* function exit code */
30171 __pyx_L1_error:;
30172 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
30173 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_sort", __pyx_clineno, __pyx_lineno, __pyx_filename);
30174 __pyx_r = NULL((void*)0);
30175 __pyx_L0:;
30176 __Pyx_XGIVEREF(__pyx_r);
30177 __Pyx_RefNannyFinishContext();
30178 return __pyx_r;
30179}
30180
30181/* "xmmsapi.pyx":1468
30182 * return self.create_result(cb, res)
30183 *
30184 * cpdef XmmsResult playlist_set_next_rel(self, int position, cb = None): # <<<<<<<<<<<<<<
30185 * """
30186 * Sets the position in the playlist. Same as L{playlist_set_next}
30187 */
30188
30189static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_79playlist_set_next_rel(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
30190static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playlist_set_next_rel(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_position, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_set_next_rel *__pyx_optional_args) {
30191 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
30192 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
30193 __Pyx_RefNannyDeclarations
30194 PyObject *__pyx_t_1 = NULL((void*)0);
30195 PyObject *__pyx_t_2 = NULL((void*)0);
30196 PyObject *__pyx_t_3 = NULL((void*)0);
30197 int __pyx_lineno = 0;
30198 const char *__pyx_filename = NULL((void*)0);
30199 int __pyx_clineno = 0;
30200 __Pyx_RefNannySetupContext("playlist_set_next_rel", 0);
30201 if (__pyx_optional_args) {
30202 if (__pyx_optional_args->__pyx_n > 0) {
30203 __pyx_v_cb = __pyx_optional_args->cb;
30204 }
30205 }
30206 /* Check if called by wrapper */
30207 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
30208 /* Check if overridden in Python */
30209 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
30210 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playlist_set_next_rel); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1468; __pyx_clineno = __LINE__30210; goto __pyx_L1_error;}
30211 __Pyx_GOTREF(__pyx_t_1);
30212 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_79playlist_set_next_rel)) {
30213 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
30214 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_position); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1468; __pyx_clineno = __LINE__30214; goto __pyx_L1_error;}
30215 __Pyx_GOTREF(__pyx_t_2);
30216 __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1468; __pyx_clineno = __LINE__30216; goto __pyx_L1_error;}
30217 __Pyx_GOTREF(__pyx_t_3);
30218 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
30219 __Pyx_GIVEREF(__pyx_t_2);
30220 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
30221 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_cb);
30222 __Pyx_GIVEREF(__pyx_v_cb);
30223 __pyx_t_2 = 0;
30224 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1468; __pyx_clineno = __LINE__30224; goto __pyx_L1_error;}
30225 __Pyx_GOTREF(__pyx_t_2);
30226 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
30227 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_2) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1468; __pyx_clineno = __LINE__30227; goto __pyx_L1_error;}
30228 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_2);
30229 __pyx_t_2 = 0;
30230 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
30231 goto __pyx_L0;
30232 }
30233 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
30234 }
30235
30236 /* "xmmsapi.pyx":1475
30237 * @rtype: L{XmmsResult}
30238 * """
30239 * return self.create_result(cb, xmmsc_playlist_set_next_rel(self.conn, position)) # <<<<<<<<<<<<<<
30240 *
30241 * cpdef XmmsResult playlist_set_next(self, int position, cb = None):
30242 */
30243 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
30244 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_playlist_set_next_rel(__pyx_v_self->__pyx_base.conn, __pyx_v_position))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1475; __pyx_clineno = __LINE__30244; goto __pyx_L1_error;}
30245 __Pyx_GOTREF(__pyx_t_1);
30246 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
30247 __pyx_t_1 = 0;
30248 goto __pyx_L0;
30249
30250 /* "xmmsapi.pyx":1468
30251 * return self.create_result(cb, res)
30252 *
30253 * cpdef XmmsResult playlist_set_next_rel(self, int position, cb = None): # <<<<<<<<<<<<<<
30254 * """
30255 * Sets the position in the playlist. Same as L{playlist_set_next}
30256 */
30257
30258 /* function exit code */
30259 __pyx_L1_error:;
30260 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
30261 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
30262 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
30263 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_set_next_rel", __pyx_clineno, __pyx_lineno, __pyx_filename);
30264 __pyx_r = 0;
30265 __pyx_L0:;
30266 __Pyx_XGIVEREF((PyObject *)__pyx_r);
30267 __Pyx_RefNannyFinishContext();
30268 return __pyx_r;
30269}
30270
30271/* Python wrapper */
30272static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_79playlist_set_next_rel(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
30273static char __pyx_doc_7xmmsapi_7XmmsApi_78playlist_set_next_rel[] = "XmmsApi.playlist_set_next_rel(self, int position, cb=None) -> XmmsResult\n\n\t\tSets the position in the playlist. Same as L{playlist_set_next}\n\t\tbut sets the next position relative to the current position.\n\t\tYou can do set_next_rel(-1) to move backwards for example.\n\t\t@rtype: L{XmmsResult}\n\t\t";
30274static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_79playlist_set_next_rel(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
30275 int __pyx_v_position;
30276 PyObject *__pyx_v_cb = 0;
30277 int __pyx_lineno = 0;
30278 const char *__pyx_filename = NULL((void*)0);
30279 int __pyx_clineno = 0;
30280 PyObject *__pyx_r = 0;
30281 __Pyx_RefNannyDeclarations
30282 __Pyx_RefNannySetupContext("playlist_set_next_rel (wrapper)", 0);
30283 {
30284 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_position,&__pyx_n_s_cb,0};
30285 PyObject* values[2] = {0,0};
30286 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
30287 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
30288 Py_ssize_t kw_args;
30289 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
30290 switch (pos_args) {
30291 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
30292 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
30293 case 0: break;
30294 default: goto __pyx_L5_argtuple_error;
30295 }
30296 kw_args = PyDict_Size(__pyx_kwds);
30297 switch (pos_args) {
30298 case 0:
30299 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_position)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_position
)) != 0), 1)
) kw_args--;
30300 else goto __pyx_L5_argtuple_error;
30301 case 1:
30302 if (kw_args > 0) {
30303 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
30304 if (value) { values[1] = value; kw_args--; }
30305 }
30306 }
30307 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
30308 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playlist_set_next_rel") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playlist_set_next_rel") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1468; __pyx_clineno = __LINE__30308; goto __pyx_L3_error;}
30309 }
30310 } else {
30311 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
30312 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
30313 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
30314 break;
30315 default: goto __pyx_L5_argtuple_error;
30316 }
30317 }
30318 __pyx_v_position = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_position == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_position == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1468; __pyx_clineno = __LINE__30318; goto __pyx_L3_error;}
30319 __pyx_v_cb = values[1];
30320 }
30321 goto __pyx_L4_argument_unpacking_done;
30322 __pyx_L5_argtuple_error:;
30323 __Pyx_RaiseArgtupleInvalid("playlist_set_next_rel", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1468; __pyx_clineno = __LINE__30323; goto __pyx_L3_error;}
30324 __pyx_L3_error:;
30325 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_set_next_rel", __pyx_clineno, __pyx_lineno, __pyx_filename);
30326 __Pyx_RefNannyFinishContext();
30327 return NULL((void*)0);
30328 __pyx_L4_argument_unpacking_done:;
30329 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_78playlist_set_next_rel(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_position, __pyx_v_cb);
30330
30331 /* function exit code */
30332 __Pyx_RefNannyFinishContext();
30333 return __pyx_r;
30334}
30335
30336static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_78playlist_set_next_rel(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_position, PyObject *__pyx_v_cb) {
30337 PyObject *__pyx_r = NULL((void*)0);
30338 __Pyx_RefNannyDeclarations
30339 PyObject *__pyx_t_1 = NULL((void*)0);
30340 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_set_next_rel __pyx_t_2;
30341 int __pyx_lineno = 0;
30342 const char *__pyx_filename = NULL((void*)0);
30343 int __pyx_clineno = 0;
30344 __Pyx_RefNannySetupContext("playlist_set_next_rel", 0);
30345 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
30346 __pyx_t_2.__pyx_n = 1;
30347 __pyx_t_2.cb = __pyx_v_cb;
30348 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playlist_set_next_rel(__pyx_v_self, __pyx_v_position, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1468; __pyx_clineno = __LINE__30348; goto __pyx_L1_error;}
30349 __Pyx_GOTREF(__pyx_t_1);
30350 __pyx_r = __pyx_t_1;
30351 __pyx_t_1 = 0;
30352 goto __pyx_L0;
30353
30354 /* function exit code */
30355 __pyx_L1_error:;
30356 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
30357 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_set_next_rel", __pyx_clineno, __pyx_lineno, __pyx_filename);
30358 __pyx_r = NULL((void*)0);
30359 __pyx_L0:;
30360 __Pyx_XGIVEREF(__pyx_r);
30361 __Pyx_RefNannyFinishContext();
30362 return __pyx_r;
30363}
30364
30365/* "xmmsapi.pyx":1477
30366 * return self.create_result(cb, xmmsc_playlist_set_next_rel(self.conn, position))
30367 *
30368 * cpdef XmmsResult playlist_set_next(self, int position, cb = None): # <<<<<<<<<<<<<<
30369 * """
30370 * Sets the position to move to, next, in the playlist. Calling
30371 */
30372
30373static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_81playlist_set_next(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
30374static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playlist_set_next(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_position, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_set_next *__pyx_optional_args) {
30375 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
30376 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
30377 __Pyx_RefNannyDeclarations
30378 PyObject *__pyx_t_1 = NULL((void*)0);
30379 PyObject *__pyx_t_2 = NULL((void*)0);
30380 PyObject *__pyx_t_3 = NULL((void*)0);
30381 int __pyx_lineno = 0;
30382 const char *__pyx_filename = NULL((void*)0);
30383 int __pyx_clineno = 0;
30384 __Pyx_RefNannySetupContext("playlist_set_next", 0);
30385 if (__pyx_optional_args) {
30386 if (__pyx_optional_args->__pyx_n > 0) {
30387 __pyx_v_cb = __pyx_optional_args->cb;
30388 }
30389 }
30390 /* Check if called by wrapper */
30391 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
30392 /* Check if overridden in Python */
30393 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
30394 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playlist_set_next); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1477; __pyx_clineno = __LINE__30394; goto __pyx_L1_error;}
30395 __Pyx_GOTREF(__pyx_t_1);
30396 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_81playlist_set_next)) {
30397 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
30398 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_position); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1477; __pyx_clineno = __LINE__30398; goto __pyx_L1_error;}
30399 __Pyx_GOTREF(__pyx_t_2);
30400 __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1477; __pyx_clineno = __LINE__30400; goto __pyx_L1_error;}
30401 __Pyx_GOTREF(__pyx_t_3);
30402 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
30403 __Pyx_GIVEREF(__pyx_t_2);
30404 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
30405 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_cb);
30406 __Pyx_GIVEREF(__pyx_v_cb);
30407 __pyx_t_2 = 0;
30408 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1477; __pyx_clineno = __LINE__30408; goto __pyx_L1_error;}
30409 __Pyx_GOTREF(__pyx_t_2);
30410 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
30411 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_2) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1477; __pyx_clineno = __LINE__30411; goto __pyx_L1_error;}
30412 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_2);
30413 __pyx_t_2 = 0;
30414 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
30415 goto __pyx_L0;
30416 }
30417 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
30418 }
30419
30420 /* "xmmsapi.pyx":1483
30421 * @rtype: L{XmmsResult}
30422 * """
30423 * return self.create_result(cb, xmmsc_playlist_set_next(self.conn, position)) # <<<<<<<<<<<<<<
30424 *
30425 * cpdef XmmsResult playlist_move(self, int cur_pos, int new_pos, playlist = None, cb = None):
30426 */
30427 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
30428 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_playlist_set_next(__pyx_v_self->__pyx_base.conn, __pyx_v_position))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1483; __pyx_clineno = __LINE__30428; goto __pyx_L1_error;}
30429 __Pyx_GOTREF(__pyx_t_1);
30430 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
30431 __pyx_t_1 = 0;
30432 goto __pyx_L0;
30433
30434 /* "xmmsapi.pyx":1477
30435 * return self.create_result(cb, xmmsc_playlist_set_next_rel(self.conn, position))
30436 *
30437 * cpdef XmmsResult playlist_set_next(self, int position, cb = None): # <<<<<<<<<<<<<<
30438 * """
30439 * Sets the position to move to, next, in the playlist. Calling
30440 */
30441
30442 /* function exit code */
30443 __pyx_L1_error:;
30444 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
30445 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
30446 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
30447 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_set_next", __pyx_clineno, __pyx_lineno, __pyx_filename);
30448 __pyx_r = 0;
30449 __pyx_L0:;
30450 __Pyx_XGIVEREF((PyObject *)__pyx_r);
30451 __Pyx_RefNannyFinishContext();
30452 return __pyx_r;
30453}
30454
30455/* Python wrapper */
30456static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_81playlist_set_next(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
30457static char __pyx_doc_7xmmsapi_7XmmsApi_80playlist_set_next[] = "XmmsApi.playlist_set_next(self, int position, cb=None) -> XmmsResult\n\n\t\tSets the position to move to, next, in the playlist. Calling\n\t\tL{playback_tickle} will perform the jump to that position.\n\t\t@rtype: L{XmmsResult}\n\t\t";
30458static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_81playlist_set_next(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
30459 int __pyx_v_position;
30460 PyObject *__pyx_v_cb = 0;
30461 int __pyx_lineno = 0;
30462 const char *__pyx_filename = NULL((void*)0);
30463 int __pyx_clineno = 0;
30464 PyObject *__pyx_r = 0;
30465 __Pyx_RefNannyDeclarations
30466 __Pyx_RefNannySetupContext("playlist_set_next (wrapper)", 0);
30467 {
30468 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_position,&__pyx_n_s_cb,0};
30469 PyObject* values[2] = {0,0};
30470 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
30471 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
30472 Py_ssize_t kw_args;
30473 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
30474 switch (pos_args) {
30475 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
30476 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
30477 case 0: break;
30478 default: goto __pyx_L5_argtuple_error;
30479 }
30480 kw_args = PyDict_Size(__pyx_kwds);
30481 switch (pos_args) {
30482 case 0:
30483 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_position)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_position
)) != 0), 1)
) kw_args--;
30484 else goto __pyx_L5_argtuple_error;
30485 case 1:
30486 if (kw_args > 0) {
30487 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
30488 if (value) { values[1] = value; kw_args--; }
30489 }
30490 }
30491 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
30492 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playlist_set_next") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playlist_set_next") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1477; __pyx_clineno = __LINE__30492; goto __pyx_L3_error;}
30493 }
30494 } else {
30495 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
30496 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
30497 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
30498 break;
30499 default: goto __pyx_L5_argtuple_error;
30500 }
30501 }
30502 __pyx_v_position = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_position == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_position == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1477; __pyx_clineno = __LINE__30502; goto __pyx_L3_error;}
30503 __pyx_v_cb = values[1];
30504 }
30505 goto __pyx_L4_argument_unpacking_done;
30506 __pyx_L5_argtuple_error:;
30507 __Pyx_RaiseArgtupleInvalid("playlist_set_next", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1477; __pyx_clineno = __LINE__30507; goto __pyx_L3_error;}
30508 __pyx_L3_error:;
30509 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_set_next", __pyx_clineno, __pyx_lineno, __pyx_filename);
30510 __Pyx_RefNannyFinishContext();
30511 return NULL((void*)0);
30512 __pyx_L4_argument_unpacking_done:;
30513 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_80playlist_set_next(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_position, __pyx_v_cb);
30514
30515 /* function exit code */
30516 __Pyx_RefNannyFinishContext();
30517 return __pyx_r;
30518}
30519
30520static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_80playlist_set_next(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_position, PyObject *__pyx_v_cb) {
30521 PyObject *__pyx_r = NULL((void*)0);
30522 __Pyx_RefNannyDeclarations
30523 PyObject *__pyx_t_1 = NULL((void*)0);
30524 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_set_next __pyx_t_2;
30525 int __pyx_lineno = 0;
30526 const char *__pyx_filename = NULL((void*)0);
30527 int __pyx_clineno = 0;
30528 __Pyx_RefNannySetupContext("playlist_set_next", 0);
30529 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
30530 __pyx_t_2.__pyx_n = 1;
30531 __pyx_t_2.cb = __pyx_v_cb;
30532 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playlist_set_next(__pyx_v_self, __pyx_v_position, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1477; __pyx_clineno = __LINE__30532; goto __pyx_L1_error;}
30533 __Pyx_GOTREF(__pyx_t_1);
30534 __pyx_r = __pyx_t_1;
30535 __pyx_t_1 = 0;
30536 goto __pyx_L0;
30537
30538 /* function exit code */
30539 __pyx_L1_error:;
30540 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
30541 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_set_next", __pyx_clineno, __pyx_lineno, __pyx_filename);
30542 __pyx_r = NULL((void*)0);
30543 __pyx_L0:;
30544 __Pyx_XGIVEREF(__pyx_r);
30545 __Pyx_RefNannyFinishContext();
30546 return __pyx_r;
30547}
30548
30549/* "xmmsapi.pyx":1485
30550 * return self.create_result(cb, xmmsc_playlist_set_next(self.conn, position))
30551 *
30552 * cpdef XmmsResult playlist_move(self, int cur_pos, int new_pos, playlist = None, cb = None): # <<<<<<<<<<<<<<
30553 * """
30554 * Moves a playlist entry to a new position.
30555 */
30556
30557static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_83playlist_move(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
30558static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playlist_move(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_cur_pos, int __pyx_v_new_pos, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_move *__pyx_optional_args) {
30559 PyObject *__pyx_v_playlist = ((PyObject *)Py_None(&_Py_NoneStruct));
30560 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
30561 PyObject *__pyx_v_p = NULL((void*)0);
30562 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
30563 __Pyx_RefNannyDeclarations
30564 PyObject *__pyx_t_1 = NULL((void*)0);
30565 PyObject *__pyx_t_2 = NULL((void*)0);
30566 PyObject *__pyx_t_3 = NULL((void*)0);
30567 PyObject *__pyx_t_4 = NULL((void*)0);
30568 char *__pyx_t_5;
30569 int __pyx_lineno = 0;
30570 const char *__pyx_filename = NULL((void*)0);
30571 int __pyx_clineno = 0;
30572 __Pyx_RefNannySetupContext("playlist_move", 0);
30573 if (__pyx_optional_args) {
30574 if (__pyx_optional_args->__pyx_n > 0) {
30575 __pyx_v_playlist = __pyx_optional_args->playlist;
30576 if (__pyx_optional_args->__pyx_n > 1) {
30577 __pyx_v_cb = __pyx_optional_args->cb;
30578 }
30579 }
30580 }
30581 /* Check if called by wrapper */
30582 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
30583 /* Check if overridden in Python */
30584 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
30585 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playlist_move); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1485; __pyx_clineno = __LINE__30585; goto __pyx_L1_error;}
30586 __Pyx_GOTREF(__pyx_t_1);
30587 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_83playlist_move)) {
30588 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
30589 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_cur_pos); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1485; __pyx_clineno = __LINE__30589; goto __pyx_L1_error;}
30590 __Pyx_GOTREF(__pyx_t_2);
30591 __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_new_pos); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1485; __pyx_clineno = __LINE__30591; goto __pyx_L1_error;}
30592 __Pyx_GOTREF(__pyx_t_3);
30593 __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1485; __pyx_clineno = __LINE__30593; goto __pyx_L1_error;}
30594 __Pyx_GOTREF(__pyx_t_4);
30595 PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_4))->ob_item[0] = __pyx_t_2);
30596 __Pyx_GIVEREF(__pyx_t_2);
30597 PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3)(((PyTupleObject *)(__pyx_t_4))->ob_item[1] = __pyx_t_3);
30598 __Pyx_GIVEREF(__pyx_t_3);
30599 __Pyx_INCREF(__pyx_v_playlist)( ((PyObject*)(__pyx_v_playlist))->ob_refcnt++);
30600 PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_playlist)(((PyTupleObject *)(__pyx_t_4))->ob_item[2] = __pyx_v_playlist
)
;
30601 __Pyx_GIVEREF(__pyx_v_playlist);
30602 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
30603 PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_4))->ob_item[3] = __pyx_v_cb);
30604 __Pyx_GIVEREF(__pyx_v_cb);
30605 __pyx_t_2 = 0;
30606 __pyx_t_3 = 0;
30607 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1485; __pyx_clineno = __LINE__30607; goto __pyx_L1_error;}
30608 __Pyx_GOTREF(__pyx_t_3);
30609 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
30610 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1485; __pyx_clineno = __LINE__30610; goto __pyx_L1_error;}
30611 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
30612 __pyx_t_3 = 0;
30613 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
30614 goto __pyx_L0;
30615 }
30616 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
30617 }
30618
30619 /* "xmmsapi.pyx":1491
30620 * @return: The result of the operation.
30621 * """
30622 * p = check_playlist(playlist, True) # <<<<<<<<<<<<<<
30623 * return self.create_result(cb, xmmsc_playlist_move_entry(self.conn, <char *>p, cur_pos, new_pos))
30624 *
30625 */
30626 __pyx_t_1 = __pyx_f_7xmmsapi_check_playlist(__pyx_v_playlist, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1491; __pyx_clineno = __LINE__30626; goto __pyx_L1_error;}
30627 __Pyx_GOTREF(__pyx_t_1);
30628 __pyx_v_p = __pyx_t_1;
30629 __pyx_t_1 = 0;
30630
30631 /* "xmmsapi.pyx":1492
30632 * """
30633 * p = check_playlist(playlist, True)
30634 * return self.create_result(cb, xmmsc_playlist_move_entry(self.conn, <char *>p, cur_pos, new_pos)) # <<<<<<<<<<<<<<
30635 *
30636 * cpdef XmmsResult playlist_create(self, playlist, cb = None):
30637 */
30638 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
30639 __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_5) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_5) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1492; __pyx_clineno = __LINE__30639; goto __pyx_L1_error;}
30640 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_playlist_move_entry(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_5), __pyx_v_cur_pos, __pyx_v_new_pos))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1492; __pyx_clineno = __LINE__30640; goto __pyx_L1_error;}
30641 __Pyx_GOTREF(__pyx_t_1);
30642 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
30643 __pyx_t_1 = 0;
30644 goto __pyx_L0;
30645
30646 /* "xmmsapi.pyx":1485
30647 * return self.create_result(cb, xmmsc_playlist_set_next(self.conn, position))
30648 *
30649 * cpdef XmmsResult playlist_move(self, int cur_pos, int new_pos, playlist = None, cb = None): # <<<<<<<<<<<<<<
30650 * """
30651 * Moves a playlist entry to a new position.
30652 */
30653
30654 /* function exit code */
30655 __pyx_L1_error:;
30656 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
30657 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
30658 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
30659 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
;
30660 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_move", __pyx_clineno, __pyx_lineno, __pyx_filename);
30661 __pyx_r = 0;
30662 __pyx_L0:;
30663 __Pyx_XDECREF(__pyx_v_p)do { if ((__pyx_v_p) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_p))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_p)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_p)))); } while (0); } while (0)
;
30664 __Pyx_XGIVEREF((PyObject *)__pyx_r);
30665 __Pyx_RefNannyFinishContext();
30666 return __pyx_r;
30667}
30668
30669/* Python wrapper */
30670static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_83playlist_move(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
30671static char __pyx_doc_7xmmsapi_7XmmsApi_82playlist_move[] = "XmmsApi.playlist_move(self, int cur_pos, int new_pos, playlist=None, cb=None) -> XmmsResult\n\n\t\tMoves a playlist entry to a new position.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
30672static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_83playlist_move(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
30673 int __pyx_v_cur_pos;
30674 int __pyx_v_new_pos;
30675 PyObject *__pyx_v_playlist = 0;
30676 PyObject *__pyx_v_cb = 0;
30677 int __pyx_lineno = 0;
30678 const char *__pyx_filename = NULL((void*)0);
30679 int __pyx_clineno = 0;
30680 PyObject *__pyx_r = 0;
30681 __Pyx_RefNannyDeclarations
30682 __Pyx_RefNannySetupContext("playlist_move (wrapper)", 0);
30683 {
30684 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cur_pos,&__pyx_n_s_new_pos,&__pyx_n_s_playlist,&__pyx_n_s_cb,0};
30685 PyObject* values[4] = {0,0,0,0};
30686 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
30687 values[3] = ((PyObject *)Py_None(&_Py_NoneStruct));
30688 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
30689 Py_ssize_t kw_args;
30690 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
30691 switch (pos_args) {
30692 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
30693 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
30694 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
30695 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
30696 case 0: break;
30697 default: goto __pyx_L5_argtuple_error;
30698 }
30699 kw_args = PyDict_Size(__pyx_kwds);
30700 switch (pos_args) {
30701 case 0:
30702 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cur_pos)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cur_pos
)) != 0), 1)
) kw_args--;
30703 else goto __pyx_L5_argtuple_error;
30704 case 1:
30705 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_new_pos)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_new_pos
)) != 0), 1)
) kw_args--;
30706 else {
30707 __Pyx_RaiseArgtupleInvalid("playlist_move", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1485; __pyx_clineno = __LINE__30707; goto __pyx_L3_error;}
30708 }
30709 case 2:
30710 if (kw_args > 0) {
30711 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_playlist);
30712 if (value) { values[2] = value; kw_args--; }
30713 }
30714 case 3:
30715 if (kw_args > 0) {
30716 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
30717 if (value) { values[3] = value; kw_args--; }
30718 }
30719 }
30720 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
30721 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playlist_move") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playlist_move") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1485; __pyx_clineno = __LINE__30721; goto __pyx_L3_error;}
30722 }
30723 } else {
30724 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
30725 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
30726 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
30727 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
30728 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
30729 break;
30730 default: goto __pyx_L5_argtuple_error;
30731 }
30732 }
30733 __pyx_v_cur_pos = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_cur_pos == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_cur_pos == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1485; __pyx_clineno = __LINE__30733; goto __pyx_L3_error;}
30734 __pyx_v_new_pos = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_new_pos == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_new_pos == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1485; __pyx_clineno = __LINE__30734; goto __pyx_L3_error;}
30735 __pyx_v_playlist = values[2];
30736 __pyx_v_cb = values[3];
30737 }
30738 goto __pyx_L4_argument_unpacking_done;
30739 __pyx_L5_argtuple_error:;
30740 __Pyx_RaiseArgtupleInvalid("playlist_move", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1485; __pyx_clineno = __LINE__30740; goto __pyx_L3_error;}
30741 __pyx_L3_error:;
30742 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_move", __pyx_clineno, __pyx_lineno, __pyx_filename);
30743 __Pyx_RefNannyFinishContext();
30744 return NULL((void*)0);
30745 __pyx_L4_argument_unpacking_done:;
30746 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_82playlist_move(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cur_pos, __pyx_v_new_pos, __pyx_v_playlist, __pyx_v_cb);
30747
30748 /* function exit code */
30749 __Pyx_RefNannyFinishContext();
30750 return __pyx_r;
30751}
30752
30753static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_82playlist_move(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_cur_pos, int __pyx_v_new_pos, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb) {
30754 PyObject *__pyx_r = NULL((void*)0);
30755 __Pyx_RefNannyDeclarations
30756 PyObject *__pyx_t_1 = NULL((void*)0);
30757 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_move __pyx_t_2;
30758 int __pyx_lineno = 0;
30759 const char *__pyx_filename = NULL((void*)0);
30760 int __pyx_clineno = 0;
30761 __Pyx_RefNannySetupContext("playlist_move", 0);
30762 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
30763 __pyx_t_2.__pyx_n = 2;
30764 __pyx_t_2.playlist = __pyx_v_playlist;
30765 __pyx_t_2.cb = __pyx_v_cb;
30766 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playlist_move(__pyx_v_self, __pyx_v_cur_pos, __pyx_v_new_pos, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1485; __pyx_clineno = __LINE__30766; goto __pyx_L1_error;}
30767 __Pyx_GOTREF(__pyx_t_1);
30768 __pyx_r = __pyx_t_1;
30769 __pyx_t_1 = 0;
30770 goto __pyx_L0;
30771
30772 /* function exit code */
30773 __pyx_L1_error:;
30774 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
30775 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_move", __pyx_clineno, __pyx_lineno, __pyx_filename);
30776 __pyx_r = NULL((void*)0);
30777 __pyx_L0:;
30778 __Pyx_XGIVEREF(__pyx_r);
30779 __Pyx_RefNannyFinishContext();
30780 return __pyx_r;
30781}
30782
30783/* "xmmsapi.pyx":1494
30784 * return self.create_result(cb, xmmsc_playlist_move_entry(self.conn, <char *>p, cur_pos, new_pos))
30785 *
30786 * cpdef XmmsResult playlist_create(self, playlist, cb = None): # <<<<<<<<<<<<<<
30787 * """
30788 * Create a new playlist.
30789 */
30790
30791static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_85playlist_create(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
30792static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playlist_create(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_playlist, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_create *__pyx_optional_args) {
30793 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
30794 PyObject *__pyx_v_p = NULL((void*)0);
30795 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
30796 __Pyx_RefNannyDeclarations
30797 PyObject *__pyx_t_1 = NULL((void*)0);
30798 PyObject *__pyx_t_2 = NULL((void*)0);
30799 PyObject *__pyx_t_3 = NULL((void*)0);
30800 char *__pyx_t_4;
30801 int __pyx_lineno = 0;
30802 const char *__pyx_filename = NULL((void*)0);
30803 int __pyx_clineno = 0;
30804 __Pyx_RefNannySetupContext("playlist_create", 0);
30805 if (__pyx_optional_args) {
30806 if (__pyx_optional_args->__pyx_n > 0) {
30807 __pyx_v_cb = __pyx_optional_args->cb;
30808 }
30809 }
30810 /* Check if called by wrapper */
30811 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
30812 /* Check if overridden in Python */
30813 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
30814 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playlist_create); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __pyx_clineno = __LINE__30814; goto __pyx_L1_error;}
30815 __Pyx_GOTREF(__pyx_t_1);
30816 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_85playlist_create)) {
30817 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
30818 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __pyx_clineno = __LINE__30818; goto __pyx_L1_error;}
30819 __Pyx_GOTREF(__pyx_t_2);
30820 __Pyx_INCREF(__pyx_v_playlist)( ((PyObject*)(__pyx_v_playlist))->ob_refcnt++);
30821 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_playlist)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_playlist
)
;
30822 __Pyx_GIVEREF(__pyx_v_playlist);
30823 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
30824 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_cb);
30825 __Pyx_GIVEREF(__pyx_v_cb);
30826 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __pyx_clineno = __LINE__30826; goto __pyx_L1_error;}
30827 __Pyx_GOTREF(__pyx_t_3);
30828 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
30829 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __pyx_clineno = __LINE__30829; goto __pyx_L1_error;}
30830 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
30831 __pyx_t_3 = 0;
30832 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
30833 goto __pyx_L0;
30834 }
30835 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
30836 }
30837
30838 /* "xmmsapi.pyx":1500
30839 * @return: The result of the operation.
30840 * """
30841 * p = check_playlist(playlist, False) # <<<<<<<<<<<<<<
30842 * return self.create_result(cb, xmmsc_playlist_create(self.conn, <char *>p))
30843 *
30844 */
30845 __pyx_t_1 = __pyx_f_7xmmsapi_check_playlist(__pyx_v_playlist, 0); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1500; __pyx_clineno = __LINE__30845; goto __pyx_L1_error;}
30846 __Pyx_GOTREF(__pyx_t_1);
30847 __pyx_v_p = __pyx_t_1;
30848 __pyx_t_1 = 0;
30849
30850 /* "xmmsapi.pyx":1501
30851 * """
30852 * p = check_playlist(playlist, False)
30853 * return self.create_result(cb, xmmsc_playlist_create(self.conn, <char *>p)) # <<<<<<<<<<<<<<
30854 *
30855 * cpdef XmmsResult playlist_current_pos(self, playlist = None, cb = None):
30856 */
30857 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
30858 __pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_4) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_4) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1501; __pyx_clineno = __LINE__30858; goto __pyx_L1_error;}
30859 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_playlist_create(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_4)))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1501; __pyx_clineno = __LINE__30859; goto __pyx_L1_error;}
30860 __Pyx_GOTREF(__pyx_t_1);
30861 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
30862 __pyx_t_1 = 0;
30863 goto __pyx_L0;
30864
30865 /* "xmmsapi.pyx":1494
30866 * return self.create_result(cb, xmmsc_playlist_move_entry(self.conn, <char *>p, cur_pos, new_pos))
30867 *
30868 * cpdef XmmsResult playlist_create(self, playlist, cb = None): # <<<<<<<<<<<<<<
30869 * """
30870 * Create a new playlist.
30871 */
30872
30873 /* function exit code */
30874 __pyx_L1_error:;
30875 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
30876 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
30877 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
30878 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_create", __pyx_clineno, __pyx_lineno, __pyx_filename);
30879 __pyx_r = 0;
30880 __pyx_L0:;
30881 __Pyx_XDECREF(__pyx_v_p)do { if ((__pyx_v_p) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_p))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_p)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_p)))); } while (0); } while (0)
;
30882 __Pyx_XGIVEREF((PyObject *)__pyx_r);
30883 __Pyx_RefNannyFinishContext();
30884 return __pyx_r;
30885}
30886
30887/* Python wrapper */
30888static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_85playlist_create(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
30889static char __pyx_doc_7xmmsapi_7XmmsApi_84playlist_create[] = "XmmsApi.playlist_create(self, playlist, cb=None) -> XmmsResult\n\n\t\tCreate a new playlist.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
30890static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_85playlist_create(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
30891 PyObject *__pyx_v_playlist = 0;
30892 PyObject *__pyx_v_cb = 0;
30893 int __pyx_lineno = 0;
30894 const char *__pyx_filename = NULL((void*)0);
30895 int __pyx_clineno = 0;
30896 PyObject *__pyx_r = 0;
30897 __Pyx_RefNannyDeclarations
30898 __Pyx_RefNannySetupContext("playlist_create (wrapper)", 0);
30899 {
30900 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_playlist,&__pyx_n_s_cb,0};
30901 PyObject* values[2] = {0,0};
30902 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
30903 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
30904 Py_ssize_t kw_args;
30905 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
30906 switch (pos_args) {
30907 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
30908 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
30909 case 0: break;
30910 default: goto __pyx_L5_argtuple_error;
30911 }
30912 kw_args = PyDict_Size(__pyx_kwds);
30913 switch (pos_args) {
30914 case 0:
30915 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_playlist)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_playlist
)) != 0), 1)
) kw_args--;
30916 else goto __pyx_L5_argtuple_error;
30917 case 1:
30918 if (kw_args > 0) {
30919 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
30920 if (value) { values[1] = value; kw_args--; }
30921 }
30922 }
30923 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
30924 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playlist_create") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playlist_create") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __pyx_clineno = __LINE__30924; goto __pyx_L3_error;}
30925 }
30926 } else {
30927 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
30928 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
30929 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
30930 break;
30931 default: goto __pyx_L5_argtuple_error;
30932 }
30933 }
30934 __pyx_v_playlist = values[0];
30935 __pyx_v_cb = values[1];
30936 }
30937 goto __pyx_L4_argument_unpacking_done;
30938 __pyx_L5_argtuple_error:;
30939 __Pyx_RaiseArgtupleInvalid("playlist_create", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __pyx_clineno = __LINE__30939; goto __pyx_L3_error;}
30940 __pyx_L3_error:;
30941 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_create", __pyx_clineno, __pyx_lineno, __pyx_filename);
30942 __Pyx_RefNannyFinishContext();
30943 return NULL((void*)0);
30944 __pyx_L4_argument_unpacking_done:;
30945 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_84playlist_create(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_playlist, __pyx_v_cb);
30946
30947 /* function exit code */
30948 __Pyx_RefNannyFinishContext();
30949 return __pyx_r;
30950}
30951
30952static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_84playlist_create(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb) {
30953 PyObject *__pyx_r = NULL((void*)0);
30954 __Pyx_RefNannyDeclarations
30955 PyObject *__pyx_t_1 = NULL((void*)0);
30956 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_create __pyx_t_2;
30957 int __pyx_lineno = 0;
30958 const char *__pyx_filename = NULL((void*)0);
30959 int __pyx_clineno = 0;
30960 __Pyx_RefNannySetupContext("playlist_create", 0);
30961 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
30962 __pyx_t_2.__pyx_n = 1;
30963 __pyx_t_2.cb = __pyx_v_cb;
30964 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playlist_create(__pyx_v_self, __pyx_v_playlist, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __pyx_clineno = __LINE__30964; goto __pyx_L1_error;}
30965 __Pyx_GOTREF(__pyx_t_1);
30966 __pyx_r = __pyx_t_1;
30967 __pyx_t_1 = 0;
30968 goto __pyx_L0;
30969
30970 /* function exit code */
30971 __pyx_L1_error:;
30972 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
30973 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_create", __pyx_clineno, __pyx_lineno, __pyx_filename);
30974 __pyx_r = NULL((void*)0);
30975 __pyx_L0:;
30976 __Pyx_XGIVEREF(__pyx_r);
30977 __Pyx_RefNannyFinishContext();
30978 return __pyx_r;
30979}
30980
30981/* "xmmsapi.pyx":1503
30982 * return self.create_result(cb, xmmsc_playlist_create(self.conn, <char *>p))
30983 *
30984 * cpdef XmmsResult playlist_current_pos(self, playlist = None, cb = None): # <<<<<<<<<<<<<<
30985 * """
30986 * Returns the current position in the playlist. This value will
30987 */
30988
30989static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_87playlist_current_pos(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
30990static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playlist_current_pos(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_current_pos *__pyx_optional_args) {
30991 PyObject *__pyx_v_playlist = ((PyObject *)Py_None(&_Py_NoneStruct));
30992 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
30993 PyObject *__pyx_v_p = NULL((void*)0);
30994 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
30995 __Pyx_RefNannyDeclarations
30996 PyObject *__pyx_t_1 = NULL((void*)0);
30997 PyObject *__pyx_t_2 = NULL((void*)0);
30998 PyObject *__pyx_t_3 = NULL((void*)0);
30999 char *__pyx_t_4;
31000 int __pyx_lineno = 0;
31001 const char *__pyx_filename = NULL((void*)0);
31002 int __pyx_clineno = 0;
31003 __Pyx_RefNannySetupContext("playlist_current_pos", 0);
31004 if (__pyx_optional_args) {
31005 if (__pyx_optional_args->__pyx_n > 0) {
31006 __pyx_v_playlist = __pyx_optional_args->playlist;
31007 if (__pyx_optional_args->__pyx_n > 1) {
31008 __pyx_v_cb = __pyx_optional_args->cb;
31009 }
31010 }
31011 }
31012 /* Check if called by wrapper */
31013 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
31014 /* Check if overridden in Python */
31015 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
31016 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playlist_current_pos); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__31016; goto __pyx_L1_error;}
31017 __Pyx_GOTREF(__pyx_t_1);
31018 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_87playlist_current_pos)) {
31019 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
31020 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__31020; goto __pyx_L1_error;}
31021 __Pyx_GOTREF(__pyx_t_2);
31022 __Pyx_INCREF(__pyx_v_playlist)( ((PyObject*)(__pyx_v_playlist))->ob_refcnt++);
31023 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_playlist)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_playlist
)
;
31024 __Pyx_GIVEREF(__pyx_v_playlist);
31025 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
31026 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_cb);
31027 __Pyx_GIVEREF(__pyx_v_cb);
31028 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__31028; goto __pyx_L1_error;}
31029 __Pyx_GOTREF(__pyx_t_3);
31030 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
31031 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__31031; goto __pyx_L1_error;}
31032 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
31033 __pyx_t_3 = 0;
31034 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
31035 goto __pyx_L0;
31036 }
31037 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
31038 }
31039
31040 /* "xmmsapi.pyx":1510
31041 * @rtype: L{XmmsResult}
31042 * """
31043 * p = check_playlist(playlist, True) # <<<<<<<<<<<<<<
31044 * return self.create_result(cb, xmmsc_playlist_current_pos(self.conn, <char *>p))
31045 *
31046 */
31047 __pyx_t_1 = __pyx_f_7xmmsapi_check_playlist(__pyx_v_playlist, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1510; __pyx_clineno = __LINE__31047; goto __pyx_L1_error;}
31048 __Pyx_GOTREF(__pyx_t_1);
31049 __pyx_v_p = __pyx_t_1;
31050 __pyx_t_1 = 0;
31051
31052 /* "xmmsapi.pyx":1511
31053 * """
31054 * p = check_playlist(playlist, True)
31055 * return self.create_result(cb, xmmsc_playlist_current_pos(self.conn, <char *>p)) # <<<<<<<<<<<<<<
31056 *
31057 * cpdef XmmsResult playlist_current_active(self, cb = None):
31058 */
31059 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
31060 __pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_4) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_4) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1511; __pyx_clineno = __LINE__31060; goto __pyx_L1_error;}
31061 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_playlist_current_pos(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_4)))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1511; __pyx_clineno = __LINE__31061; goto __pyx_L1_error;}
31062 __Pyx_GOTREF(__pyx_t_1);
31063 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
31064 __pyx_t_1 = 0;
31065 goto __pyx_L0;
31066
31067 /* "xmmsapi.pyx":1503
31068 * return self.create_result(cb, xmmsc_playlist_create(self.conn, <char *>p))
31069 *
31070 * cpdef XmmsResult playlist_current_pos(self, playlist = None, cb = None): # <<<<<<<<<<<<<<
31071 * """
31072 * Returns the current position in the playlist. This value will
31073 */
31074
31075 /* function exit code */
31076 __pyx_L1_error:;
31077 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
31078 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
31079 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
31080 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_current_pos", __pyx_clineno, __pyx_lineno, __pyx_filename);
31081 __pyx_r = 0;
31082 __pyx_L0:;
31083 __Pyx_XDECREF(__pyx_v_p)do { if ((__pyx_v_p) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_p))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_p)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_p)))); } while (0); } while (0)
;
31084 __Pyx_XGIVEREF((PyObject *)__pyx_r);
31085 __Pyx_RefNannyFinishContext();
31086 return __pyx_r;
31087}
31088
31089/* Python wrapper */
31090static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_87playlist_current_pos(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
31091static char __pyx_doc_7xmmsapi_7XmmsApi_86playlist_current_pos[] = "XmmsApi.playlist_current_pos(self, playlist=None, cb=None) -> XmmsResult\n\n\t\tReturns the current position in the playlist. This value will\n\t\talways be equal to, or larger than 0. The first entry in the\n\t\tlist is 0.\n\t\t@rtype: L{XmmsResult}\n\t\t";
31092static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_87playlist_current_pos(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
31093 PyObject *__pyx_v_playlist = 0;
31094 PyObject *__pyx_v_cb = 0;
31095 int __pyx_lineno = 0;
31096 const char *__pyx_filename = NULL((void*)0);
31097 int __pyx_clineno = 0;
31098 PyObject *__pyx_r = 0;
31099 __Pyx_RefNannyDeclarations
31100 __Pyx_RefNannySetupContext("playlist_current_pos (wrapper)", 0);
31101 {
31102 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_playlist,&__pyx_n_s_cb,0};
31103 PyObject* values[2] = {0,0};
31104 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
31105 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
31106 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
31107 Py_ssize_t kw_args;
31108 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
31109 switch (pos_args) {
31110 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
31111 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
31112 case 0: break;
31113 default: goto __pyx_L5_argtuple_error;
31114 }
31115 kw_args = PyDict_Size(__pyx_kwds);
31116 switch (pos_args) {
31117 case 0:
31118 if (kw_args > 0) {
31119 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_playlist);
31120 if (value) { values[0] = value; kw_args--; }
31121 }
31122 case 1:
31123 if (kw_args > 0) {
31124 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
31125 if (value) { values[1] = value; kw_args--; }
31126 }
31127 }
31128 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
31129 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playlist_current_pos") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playlist_current_pos") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__31129; goto __pyx_L3_error;}
31130 }
31131 } else {
31132 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
31133 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
31134 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
31135 case 0: break;
31136 default: goto __pyx_L5_argtuple_error;
31137 }
31138 }
31139 __pyx_v_playlist = values[0];
31140 __pyx_v_cb = values[1];
31141 }
31142 goto __pyx_L4_argument_unpacking_done;
31143 __pyx_L5_argtuple_error:;
31144 __Pyx_RaiseArgtupleInvalid("playlist_current_pos", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__31144; goto __pyx_L3_error;}
31145 __pyx_L3_error:;
31146 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_current_pos", __pyx_clineno, __pyx_lineno, __pyx_filename);
31147 __Pyx_RefNannyFinishContext();
31148 return NULL((void*)0);
31149 __pyx_L4_argument_unpacking_done:;
31150 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_86playlist_current_pos(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_playlist, __pyx_v_cb);
31151
31152 /* function exit code */
31153 __Pyx_RefNannyFinishContext();
31154 return __pyx_r;
31155}
31156
31157static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_86playlist_current_pos(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_playlist, PyObject *__pyx_v_cb) {
31158 PyObject *__pyx_r = NULL((void*)0);
31159 __Pyx_RefNannyDeclarations
31160 PyObject *__pyx_t_1 = NULL((void*)0);
31161 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_current_pos __pyx_t_2;
31162 int __pyx_lineno = 0;
31163 const char *__pyx_filename = NULL((void*)0);
31164 int __pyx_clineno = 0;
31165 __Pyx_RefNannySetupContext("playlist_current_pos", 0);
31166 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
31167 __pyx_t_2.__pyx_n = 2;
31168 __pyx_t_2.playlist = __pyx_v_playlist;
31169 __pyx_t_2.cb = __pyx_v_cb;
31170 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playlist_current_pos(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__31170; goto __pyx_L1_error;}
31171 __Pyx_GOTREF(__pyx_t_1);
31172 __pyx_r = __pyx_t_1;
31173 __pyx_t_1 = 0;
31174 goto __pyx_L0;
31175
31176 /* function exit code */
31177 __pyx_L1_error:;
31178 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
31179 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_current_pos", __pyx_clineno, __pyx_lineno, __pyx_filename);
31180 __pyx_r = NULL((void*)0);
31181 __pyx_L0:;
31182 __Pyx_XGIVEREF(__pyx_r);
31183 __Pyx_RefNannyFinishContext();
31184 return __pyx_r;
31185}
31186
31187/* "xmmsapi.pyx":1513
31188 * return self.create_result(cb, xmmsc_playlist_current_pos(self.conn, <char *>p))
31189 *
31190 * cpdef XmmsResult playlist_current_active(self, cb = None): # <<<<<<<<<<<<<<
31191 * """
31192 * Returns the name of the current active playlist
31193 */
31194
31195static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_89playlist_current_active(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
31196static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_playlist_current_active(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_current_active *__pyx_optional_args) {
31197 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
31198 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
31199 __Pyx_RefNannyDeclarations
31200 PyObject *__pyx_t_1 = NULL((void*)0);
31201 PyObject *__pyx_t_2 = NULL((void*)0);
31202 PyObject *__pyx_t_3 = NULL((void*)0);
31203 int __pyx_lineno = 0;
31204 const char *__pyx_filename = NULL((void*)0);
31205 int __pyx_clineno = 0;
31206 __Pyx_RefNannySetupContext("playlist_current_active", 0);
31207 if (__pyx_optional_args) {
31208 if (__pyx_optional_args->__pyx_n > 0) {
31209 __pyx_v_cb = __pyx_optional_args->cb;
31210 }
31211 }
31212 /* Check if called by wrapper */
31213 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
31214 /* Check if overridden in Python */
31215 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
31216 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_playlist_current_active); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1513; __pyx_clineno = __LINE__31216; goto __pyx_L1_error;}
31217 __Pyx_GOTREF(__pyx_t_1);
31218 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_89playlist_current_active)) {
31219 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
31220 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1513; __pyx_clineno = __LINE__31220; goto __pyx_L1_error;}
31221 __Pyx_GOTREF(__pyx_t_2);
31222 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
31223 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
31224 __Pyx_GIVEREF(__pyx_v_cb);
31225 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1513; __pyx_clineno = __LINE__31225; goto __pyx_L1_error;}
31226 __Pyx_GOTREF(__pyx_t_3);
31227 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
31228 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1513; __pyx_clineno = __LINE__31228; goto __pyx_L1_error;}
31229 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
31230 __pyx_t_3 = 0;
31231 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
31232 goto __pyx_L0;
31233 }
31234 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
31235 }
31236
31237 /* "xmmsapi.pyx":1518
31238 * @rtype: L{XmmsResult}
31239 * """
31240 * return self.create_result(cb, xmmsc_playlist_current_active(self.conn)) # <<<<<<<<<<<<<<
31241 *
31242 * cpdef XmmsResult broadcast_playlist_current_pos(self, cb = None):
31243 */
31244 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
31245 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_playlist_current_active(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1518; __pyx_clineno = __LINE__31245; goto __pyx_L1_error;}
31246 __Pyx_GOTREF(__pyx_t_1);
31247 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
31248 __pyx_t_1 = 0;
31249 goto __pyx_L0;
31250
31251 /* "xmmsapi.pyx":1513
31252 * return self.create_result(cb, xmmsc_playlist_current_pos(self.conn, <char *>p))
31253 *
31254 * cpdef XmmsResult playlist_current_active(self, cb = None): # <<<<<<<<<<<<<<
31255 * """
31256 * Returns the name of the current active playlist
31257 */
31258
31259 /* function exit code */
31260 __pyx_L1_error:;
31261 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
31262 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
31263 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
31264 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_current_active", __pyx_clineno, __pyx_lineno, __pyx_filename);
31265 __pyx_r = 0;
31266 __pyx_L0:;
31267 __Pyx_XGIVEREF((PyObject *)__pyx_r);
31268 __Pyx_RefNannyFinishContext();
31269 return __pyx_r;
31270}
31271
31272/* Python wrapper */
31273static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_89playlist_current_active(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
31274static char __pyx_doc_7xmmsapi_7XmmsApi_88playlist_current_active[] = "XmmsApi.playlist_current_active(self, cb=None) -> XmmsResult\n\n\t\tReturns the name of the current active playlist\n\t\t@rtype: L{XmmsResult}\n\t\t";
31275static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_89playlist_current_active(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
31276 PyObject *__pyx_v_cb = 0;
31277 int __pyx_lineno = 0;
31278 const char *__pyx_filename = NULL((void*)0);
31279 int __pyx_clineno = 0;
31280 PyObject *__pyx_r = 0;
31281 __Pyx_RefNannyDeclarations
31282 __Pyx_RefNannySetupContext("playlist_current_active (wrapper)", 0);
31283 {
31284 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
31285 PyObject* values[1] = {0};
31286 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
31287 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
31288 Py_ssize_t kw_args;
31289 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
31290 switch (pos_args) {
31291 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
31292 case 0: break;
31293 default: goto __pyx_L5_argtuple_error;
31294 }
31295 kw_args = PyDict_Size(__pyx_kwds);
31296 switch (pos_args) {
31297 case 0:
31298 if (kw_args > 0) {
31299 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
31300 if (value) { values[0] = value; kw_args--; }
31301 }
31302 }
31303 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
31304 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "playlist_current_active") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "playlist_current_active") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1513; __pyx_clineno = __LINE__31304; goto __pyx_L3_error;}
31305 }
31306 } else {
31307 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
31308 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
31309 case 0: break;
31310 default: goto __pyx_L5_argtuple_error;
31311 }
31312 }
31313 __pyx_v_cb = values[0];
31314 }
31315 goto __pyx_L4_argument_unpacking_done;
31316 __pyx_L5_argtuple_error:;
31317 __Pyx_RaiseArgtupleInvalid("playlist_current_active", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1513; __pyx_clineno = __LINE__31317; goto __pyx_L3_error;}
31318 __pyx_L3_error:;
31319 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_current_active", __pyx_clineno, __pyx_lineno, __pyx_filename);
31320 __Pyx_RefNannyFinishContext();
31321 return NULL((void*)0);
31322 __pyx_L4_argument_unpacking_done:;
31323 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_88playlist_current_active(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
31324
31325 /* function exit code */
31326 __Pyx_RefNannyFinishContext();
31327 return __pyx_r;
31328}
31329
31330static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_88playlist_current_active(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
31331 PyObject *__pyx_r = NULL((void*)0);
31332 __Pyx_RefNannyDeclarations
31333 PyObject *__pyx_t_1 = NULL((void*)0);
31334 struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_current_active __pyx_t_2;
31335 int __pyx_lineno = 0;
31336 const char *__pyx_filename = NULL((void*)0);
31337 int __pyx_clineno = 0;
31338 __Pyx_RefNannySetupContext("playlist_current_active", 0);
31339 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
31340 __pyx_t_2.__pyx_n = 1;
31341 __pyx_t_2.cb = __pyx_v_cb;
31342 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->playlist_current_active(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1513; __pyx_clineno = __LINE__31342; goto __pyx_L1_error;}
31343 __Pyx_GOTREF(__pyx_t_1);
31344 __pyx_r = __pyx_t_1;
31345 __pyx_t_1 = 0;
31346 goto __pyx_L0;
31347
31348 /* function exit code */
31349 __pyx_L1_error:;
31350 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
31351 __Pyx_AddTraceback("xmmsapi.XmmsApi.playlist_current_active", __pyx_clineno, __pyx_lineno, __pyx_filename);
31352 __pyx_r = NULL((void*)0);
31353 __pyx_L0:;
31354 __Pyx_XGIVEREF(__pyx_r);
31355 __Pyx_RefNannyFinishContext();
31356 return __pyx_r;
31357}
31358
31359/* "xmmsapi.pyx":1520
31360 * return self.create_result(cb, xmmsc_playlist_current_active(self.conn))
31361 *
31362 * cpdef XmmsResult broadcast_playlist_current_pos(self, cb = None): # <<<<<<<<<<<<<<
31363 * """
31364 * Set a method to handle the playlist current position updates
31365 */
31366
31367static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_91broadcast_playlist_current_pos(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
31368static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_broadcast_playlist_current_pos(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playlist_current_pos *__pyx_optional_args) {
31369 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
31370 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
31371 __Pyx_RefNannyDeclarations
31372 PyObject *__pyx_t_1 = NULL((void*)0);
31373 PyObject *__pyx_t_2 = NULL((void*)0);
31374 PyObject *__pyx_t_3 = NULL((void*)0);
31375 int __pyx_lineno = 0;
31376 const char *__pyx_filename = NULL((void*)0);
31377 int __pyx_clineno = 0;
31378 __Pyx_RefNannySetupContext("broadcast_playlist_current_pos", 0);
31379 if (__pyx_optional_args) {
31380 if (__pyx_optional_args->__pyx_n > 0) {
31381 __pyx_v_cb = __pyx_optional_args->cb;
31382 }
31383 }
31384 /* Check if called by wrapper */
31385 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
31386 /* Check if overridden in Python */
31387 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
31388 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_broadcast_playlist_current_pos); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1520; __pyx_clineno = __LINE__31388; goto __pyx_L1_error;}
31389 __Pyx_GOTREF(__pyx_t_1);
31390 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_91broadcast_playlist_current_pos)) {
31391 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
31392 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1520; __pyx_clineno = __LINE__31392; goto __pyx_L1_error;}
31393 __Pyx_GOTREF(__pyx_t_2);
31394 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
31395 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
31396 __Pyx_GIVEREF(__pyx_v_cb);
31397 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1520; __pyx_clineno = __LINE__31397; goto __pyx_L1_error;}
31398 __Pyx_GOTREF(__pyx_t_3);
31399 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
31400 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1520; __pyx_clineno = __LINE__31400; goto __pyx_L1_error;}
31401 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
31402 __pyx_t_3 = 0;
31403 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
31404 goto __pyx_L0;
31405 }
31406 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
31407 }
31408
31409 /* "xmmsapi.pyx":1528
31410 * @rtype: L{XmmsResult}
31411 * """
31412 * return self.create_result(cb, xmmsc_broadcast_playlist_current_pos(self.conn)) # <<<<<<<<<<<<<<
31413 *
31414 * cpdef XmmsResult broadcast_playlist_changed(self, cb = None):
31415 */
31416 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
31417 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_broadcast_playlist_current_pos(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1528; __pyx_clineno = __LINE__31417; goto __pyx_L1_error;}
31418 __Pyx_GOTREF(__pyx_t_1);
31419 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
31420 __pyx_t_1 = 0;
31421 goto __pyx_L0;
31422
31423 /* "xmmsapi.pyx":1520
31424 * return self.create_result(cb, xmmsc_playlist_current_active(self.conn))
31425 *
31426 * cpdef XmmsResult broadcast_playlist_current_pos(self, cb = None): # <<<<<<<<<<<<<<
31427 * """
31428 * Set a method to handle the playlist current position updates
31429 */
31430
31431 /* function exit code */
31432 __pyx_L1_error:;
31433 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
31434 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
31435 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
31436 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_playlist_current_pos", __pyx_clineno, __pyx_lineno, __pyx_filename);
31437 __pyx_r = 0;
31438 __pyx_L0:;
31439 __Pyx_XGIVEREF((PyObject *)__pyx_r);
31440 __Pyx_RefNannyFinishContext();
31441 return __pyx_r;
31442}
31443
31444/* Python wrapper */
31445static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_91broadcast_playlist_current_pos(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
31446static char __pyx_doc_7xmmsapi_7XmmsApi_90broadcast_playlist_current_pos[] = "XmmsApi.broadcast_playlist_current_pos(self, cb=None) -> XmmsResult\n\n\t\tSet a method to handle the playlist current position updates\n\t\tfrom the XMMS2 daemon. This is triggered whenever the daemon\n\t\tjumps from one playlist position to another. (not when moving\n\t\ta playlist item from one position to another)\n\t\t@rtype: L{XmmsResult}\n\t\t";
31447static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_91broadcast_playlist_current_pos(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
31448 PyObject *__pyx_v_cb = 0;
31449 int __pyx_lineno = 0;
31450 const char *__pyx_filename = NULL((void*)0);
31451 int __pyx_clineno = 0;
31452 PyObject *__pyx_r = 0;
31453 __Pyx_RefNannyDeclarations
31454 __Pyx_RefNannySetupContext("broadcast_playlist_current_pos (wrapper)", 0);
31455 {
31456 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
31457 PyObject* values[1] = {0};
31458 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
31459 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
31460 Py_ssize_t kw_args;
31461 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
31462 switch (pos_args) {
31463 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
31464 case 0: break;
31465 default: goto __pyx_L5_argtuple_error;
31466 }
31467 kw_args = PyDict_Size(__pyx_kwds);
31468 switch (pos_args) {
31469 case 0:
31470 if (kw_args > 0) {
31471 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
31472 if (value) { values[0] = value; kw_args--; }
31473 }
31474 }
31475 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
31476 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "broadcast_playlist_current_pos") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "broadcast_playlist_current_pos") <
0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1520; __pyx_clineno = __LINE__31476; goto __pyx_L3_error;}
31477 }
31478 } else {
31479 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
31480 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
31481 case 0: break;
31482 default: goto __pyx_L5_argtuple_error;
31483 }
31484 }
31485 __pyx_v_cb = values[0];
31486 }
31487 goto __pyx_L4_argument_unpacking_done;
31488 __pyx_L5_argtuple_error:;
31489 __Pyx_RaiseArgtupleInvalid("broadcast_playlist_current_pos", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1520; __pyx_clineno = __LINE__31489; goto __pyx_L3_error;}
31490 __pyx_L3_error:;
31491 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_playlist_current_pos", __pyx_clineno, __pyx_lineno, __pyx_filename);
31492 __Pyx_RefNannyFinishContext();
31493 return NULL((void*)0);
31494 __pyx_L4_argument_unpacking_done:;
31495 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_90broadcast_playlist_current_pos(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
31496
31497 /* function exit code */
31498 __Pyx_RefNannyFinishContext();
31499 return __pyx_r;
31500}
31501
31502static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_90broadcast_playlist_current_pos(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
31503 PyObject *__pyx_r = NULL((void*)0);
31504 __Pyx_RefNannyDeclarations
31505 PyObject *__pyx_t_1 = NULL((void*)0);
31506 struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playlist_current_pos __pyx_t_2;
31507 int __pyx_lineno = 0;
31508 const char *__pyx_filename = NULL((void*)0);
31509 int __pyx_clineno = 0;
31510 __Pyx_RefNannySetupContext("broadcast_playlist_current_pos", 0);
31511 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
31512 __pyx_t_2.__pyx_n = 1;
31513 __pyx_t_2.cb = __pyx_v_cb;
31514 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->broadcast_playlist_current_pos(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1520; __pyx_clineno = __LINE__31514; goto __pyx_L1_error;}
31515 __Pyx_GOTREF(__pyx_t_1);
31516 __pyx_r = __pyx_t_1;
31517 __pyx_t_1 = 0;
31518 goto __pyx_L0;
31519
31520 /* function exit code */
31521 __pyx_L1_error:;
31522 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
31523 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_playlist_current_pos", __pyx_clineno, __pyx_lineno, __pyx_filename);
31524 __pyx_r = NULL((void*)0);
31525 __pyx_L0:;
31526 __Pyx_XGIVEREF(__pyx_r);
31527 __Pyx_RefNannyFinishContext();
31528 return __pyx_r;
31529}
31530
31531/* "xmmsapi.pyx":1530
31532 * return self.create_result(cb, xmmsc_broadcast_playlist_current_pos(self.conn))
31533 *
31534 * cpdef XmmsResult broadcast_playlist_changed(self, cb = None): # <<<<<<<<<<<<<<
31535 * """
31536 * Set a method to handle the playlist changed broadcast from the
31537 */
31538
31539static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_93broadcast_playlist_changed(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
31540static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_broadcast_playlist_changed(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playlist_changed *__pyx_optional_args) {
31541 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
31542 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
31543 __Pyx_RefNannyDeclarations
31544 PyObject *__pyx_t_1 = NULL((void*)0);
31545 PyObject *__pyx_t_2 = NULL((void*)0);
31546 PyObject *__pyx_t_3 = NULL((void*)0);
31547 int __pyx_lineno = 0;
31548 const char *__pyx_filename = NULL((void*)0);
31549 int __pyx_clineno = 0;
31550 __Pyx_RefNannySetupContext("broadcast_playlist_changed", 0);
31551 if (__pyx_optional_args) {
31552 if (__pyx_optional_args->__pyx_n > 0) {
31553 __pyx_v_cb = __pyx_optional_args->cb;
31554 }
31555 }
31556 /* Check if called by wrapper */
31557 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
31558 /* Check if overridden in Python */
31559 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
31560 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_broadcast_playlist_changed); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__31560; goto __pyx_L1_error;}
31561 __Pyx_GOTREF(__pyx_t_1);
31562 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_93broadcast_playlist_changed)) {
31563 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
31564 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__31564; goto __pyx_L1_error;}
31565 __Pyx_GOTREF(__pyx_t_2);
31566 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
31567 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
31568 __Pyx_GIVEREF(__pyx_v_cb);
31569 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__31569; goto __pyx_L1_error;}
31570 __Pyx_GOTREF(__pyx_t_3);
31571 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
31572 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__31572; goto __pyx_L1_error;}
31573 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
31574 __pyx_t_3 = 0;
31575 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
31576 goto __pyx_L0;
31577 }
31578 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
31579 }
31580
31581 /* "xmmsapi.pyx":1537
31582 * @rtype: L{XmmsResult}
31583 * """
31584 * return self.create_result(cb, xmmsc_broadcast_playlist_changed(self.conn)) # <<<<<<<<<<<<<<
31585 *
31586 * cpdef XmmsResult broadcast_config_value_changed(self, cb = None):
31587 */
31588 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
31589 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_broadcast_playlist_changed(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1537; __pyx_clineno = __LINE__31589; goto __pyx_L1_error;}
31590 __Pyx_GOTREF(__pyx_t_1);
31591 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
31592 __pyx_t_1 = 0;
31593 goto __pyx_L0;
31594
31595 /* "xmmsapi.pyx":1530
31596 * return self.create_result(cb, xmmsc_broadcast_playlist_current_pos(self.conn))
31597 *
31598 * cpdef XmmsResult broadcast_playlist_changed(self, cb = None): # <<<<<<<<<<<<<<
31599 * """
31600 * Set a method to handle the playlist changed broadcast from the
31601 */
31602
31603 /* function exit code */
31604 __pyx_L1_error:;
31605 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
31606 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
31607 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
31608 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_playlist_changed", __pyx_clineno, __pyx_lineno, __pyx_filename);
31609 __pyx_r = 0;
31610 __pyx_L0:;
31611 __Pyx_XGIVEREF((PyObject *)__pyx_r);
31612 __Pyx_RefNannyFinishContext();
31613 return __pyx_r;
31614}
31615
31616/* Python wrapper */
31617static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_93broadcast_playlist_changed(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
31618static char __pyx_doc_7xmmsapi_7XmmsApi_92broadcast_playlist_changed[] = "XmmsApi.broadcast_playlist_changed(self, cb=None) -> XmmsResult\n\n\t\tSet a method to handle the playlist changed broadcast from the\n\t\tXMMS2 daemon. Updated data is sent whenever the daemon's\n\t\tplaylist changes.\n\t\t@rtype: L{XmmsResult}\n\t\t";
31619static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_93broadcast_playlist_changed(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
31620 PyObject *__pyx_v_cb = 0;
31621 int __pyx_lineno = 0;
31622 const char *__pyx_filename = NULL((void*)0);
31623 int __pyx_clineno = 0;
31624 PyObject *__pyx_r = 0;
31625 __Pyx_RefNannyDeclarations
31626 __Pyx_RefNannySetupContext("broadcast_playlist_changed (wrapper)", 0);
31627 {
31628 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
31629 PyObject* values[1] = {0};
31630 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
31631 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
31632 Py_ssize_t kw_args;
31633 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
31634 switch (pos_args) {
31635 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
31636 case 0: break;
31637 default: goto __pyx_L5_argtuple_error;
31638 }
31639 kw_args = PyDict_Size(__pyx_kwds);
31640 switch (pos_args) {
31641 case 0:
31642 if (kw_args > 0) {
31643 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
31644 if (value) { values[0] = value; kw_args--; }
31645 }
31646 }
31647 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
31648 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "broadcast_playlist_changed") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "broadcast_playlist_changed") < 0),
0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__31648; goto __pyx_L3_error;}
31649 }
31650 } else {
31651 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
31652 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
31653 case 0: break;
31654 default: goto __pyx_L5_argtuple_error;
31655 }
31656 }
31657 __pyx_v_cb = values[0];
31658 }
31659 goto __pyx_L4_argument_unpacking_done;
31660 __pyx_L5_argtuple_error:;
31661 __Pyx_RaiseArgtupleInvalid("broadcast_playlist_changed", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__31661; goto __pyx_L3_error;}
31662 __pyx_L3_error:;
31663 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_playlist_changed", __pyx_clineno, __pyx_lineno, __pyx_filename);
31664 __Pyx_RefNannyFinishContext();
31665 return NULL((void*)0);
31666 __pyx_L4_argument_unpacking_done:;
31667 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_92broadcast_playlist_changed(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
31668
31669 /* function exit code */
31670 __Pyx_RefNannyFinishContext();
31671 return __pyx_r;
31672}
31673
31674static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_92broadcast_playlist_changed(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
31675 PyObject *__pyx_r = NULL((void*)0);
31676 __Pyx_RefNannyDeclarations
31677 PyObject *__pyx_t_1 = NULL((void*)0);
31678 struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playlist_changed __pyx_t_2;
31679 int __pyx_lineno = 0;
31680 const char *__pyx_filename = NULL((void*)0);
31681 int __pyx_clineno = 0;
31682 __Pyx_RefNannySetupContext("broadcast_playlist_changed", 0);
31683 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
31684 __pyx_t_2.__pyx_n = 1;
31685 __pyx_t_2.cb = __pyx_v_cb;
31686 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->broadcast_playlist_changed(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__31686; goto __pyx_L1_error;}
31687 __Pyx_GOTREF(__pyx_t_1);
31688 __pyx_r = __pyx_t_1;
31689 __pyx_t_1 = 0;
31690 goto __pyx_L0;
31691
31692 /* function exit code */
31693 __pyx_L1_error:;
31694 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
31695 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_playlist_changed", __pyx_clineno, __pyx_lineno, __pyx_filename);
31696 __pyx_r = NULL((void*)0);
31697 __pyx_L0:;
31698 __Pyx_XGIVEREF(__pyx_r);
31699 __Pyx_RefNannyFinishContext();
31700 return __pyx_r;
31701}
31702
31703/* "xmmsapi.pyx":1539
31704 * return self.create_result(cb, xmmsc_broadcast_playlist_changed(self.conn))
31705 *
31706 * cpdef XmmsResult broadcast_config_value_changed(self, cb = None): # <<<<<<<<<<<<<<
31707 * """
31708 * Set a method to handle the config value changed broadcast
31709 */
31710
31711static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_95broadcast_config_value_changed(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
31712static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_broadcast_config_value_changed(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_config_value_changed *__pyx_optional_args) {
31713 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
31714 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
31715 __Pyx_RefNannyDeclarations
31716 PyObject *__pyx_t_1 = NULL((void*)0);
31717 PyObject *__pyx_t_2 = NULL((void*)0);
31718 PyObject *__pyx_t_3 = NULL((void*)0);
31719 int __pyx_lineno = 0;
31720 const char *__pyx_filename = NULL((void*)0);
31721 int __pyx_clineno = 0;
31722 __Pyx_RefNannySetupContext("broadcast_config_value_changed", 0);
31723 if (__pyx_optional_args) {
31724 if (__pyx_optional_args->__pyx_n > 0) {
31725 __pyx_v_cb = __pyx_optional_args->cb;
31726 }
31727 }
31728 /* Check if called by wrapper */
31729 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
31730 /* Check if overridden in Python */
31731 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
31732 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_broadcast_config_value_changed); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__31732; goto __pyx_L1_error;}
31733 __Pyx_GOTREF(__pyx_t_1);
31734 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_95broadcast_config_value_changed)) {
31735 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
31736 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__31736; goto __pyx_L1_error;}
31737 __Pyx_GOTREF(__pyx_t_2);
31738 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
31739 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
31740 __Pyx_GIVEREF(__pyx_v_cb);
31741 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__31741; goto __pyx_L1_error;}
31742 __Pyx_GOTREF(__pyx_t_3);
31743 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
31744 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__31744; goto __pyx_L1_error;}
31745 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
31746 __pyx_t_3 = 0;
31747 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
31748 goto __pyx_L0;
31749 }
31750 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
31751 }
31752
31753 /* "xmmsapi.pyx":1547
31754 * @rtype: L{XmmsResult} (the modified config key and its value)
31755 * """
31756 * return self.create_result(cb, xmmsc_broadcast_config_value_changed(self.conn)) # <<<<<<<<<<<<<<
31757 *
31758 * cpdef XmmsResult config_set_value(self, key, val, cb = None):
31759 */
31760 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
31761 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_broadcast_config_value_changed(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1547; __pyx_clineno = __LINE__31761; goto __pyx_L1_error;}
31762 __Pyx_GOTREF(__pyx_t_1);
31763 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
31764 __pyx_t_1 = 0;
31765 goto __pyx_L0;
31766
31767 /* "xmmsapi.pyx":1539
31768 * return self.create_result(cb, xmmsc_broadcast_playlist_changed(self.conn))
31769 *
31770 * cpdef XmmsResult broadcast_config_value_changed(self, cb = None): # <<<<<<<<<<<<<<
31771 * """
31772 * Set a method to handle the config value changed broadcast
31773 */
31774
31775 /* function exit code */
31776 __pyx_L1_error:;
31777 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
31778 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
31779 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
31780 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_config_value_changed", __pyx_clineno, __pyx_lineno, __pyx_filename);
31781 __pyx_r = 0;
31782 __pyx_L0:;
31783 __Pyx_XGIVEREF((PyObject *)__pyx_r);
31784 __Pyx_RefNannyFinishContext();
31785 return __pyx_r;
31786}
31787
31788/* Python wrapper */
31789static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_95broadcast_config_value_changed(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
31790static char __pyx_doc_7xmmsapi_7XmmsApi_94broadcast_config_value_changed[] = "XmmsApi.broadcast_config_value_changed(self, cb=None) -> XmmsResult\n\n\t\tSet a method to handle the config value changed broadcast\n\t\tfrom the XMMS2 daemon.(i.e. some configuration value has\n\t\tbeen modified) Updated data is sent whenever a config\n\t\tvalue is modified.\n\t\t@rtype: L{XmmsResult} (the modified config key and its value)\n\t\t";
31791static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_95broadcast_config_value_changed(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
31792 PyObject *__pyx_v_cb = 0;
31793 int __pyx_lineno = 0;
31794 const char *__pyx_filename = NULL((void*)0);
31795 int __pyx_clineno = 0;
31796 PyObject *__pyx_r = 0;
31797 __Pyx_RefNannyDeclarations
31798 __Pyx_RefNannySetupContext("broadcast_config_value_changed (wrapper)", 0);
31799 {
31800 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
31801 PyObject* values[1] = {0};
31802 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
31803 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
31804 Py_ssize_t kw_args;
31805 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
31806 switch (pos_args) {
31807 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
31808 case 0: break;
31809 default: goto __pyx_L5_argtuple_error;
31810 }
31811 kw_args = PyDict_Size(__pyx_kwds);
31812 switch (pos_args) {
31813 case 0:
31814 if (kw_args > 0) {
31815 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
31816 if (value) { values[0] = value; kw_args--; }
31817 }
31818 }
31819 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
31820 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "broadcast_config_value_changed") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "broadcast_config_value_changed") <
0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__31820; goto __pyx_L3_error;}
31821 }
31822 } else {
31823 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
31824 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
31825 case 0: break;
31826 default: goto __pyx_L5_argtuple_error;
31827 }
31828 }
31829 __pyx_v_cb = values[0];
31830 }
31831 goto __pyx_L4_argument_unpacking_done;
31832 __pyx_L5_argtuple_error:;
31833 __Pyx_RaiseArgtupleInvalid("broadcast_config_value_changed", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__31833; goto __pyx_L3_error;}
31834 __pyx_L3_error:;
31835 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_config_value_changed", __pyx_clineno, __pyx_lineno, __pyx_filename);
31836 __Pyx_RefNannyFinishContext();
31837 return NULL((void*)0);
31838 __pyx_L4_argument_unpacking_done:;
31839 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_94broadcast_config_value_changed(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
31840
31841 /* function exit code */
31842 __Pyx_RefNannyFinishContext();
31843 return __pyx_r;
31844}
31845
31846static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_94broadcast_config_value_changed(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
31847 PyObject *__pyx_r = NULL((void*)0);
31848 __Pyx_RefNannyDeclarations
31849 PyObject *__pyx_t_1 = NULL((void*)0);
31850 struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_config_value_changed __pyx_t_2;
31851 int __pyx_lineno = 0;
31852 const char *__pyx_filename = NULL((void*)0);
31853 int __pyx_clineno = 0;
31854 __Pyx_RefNannySetupContext("broadcast_config_value_changed", 0);
31855 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
31856 __pyx_t_2.__pyx_n = 1;
31857 __pyx_t_2.cb = __pyx_v_cb;
31858 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->broadcast_config_value_changed(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__31858; goto __pyx_L1_error;}
31859 __Pyx_GOTREF(__pyx_t_1);
31860 __pyx_r = __pyx_t_1;
31861 __pyx_t_1 = 0;
31862 goto __pyx_L0;
31863
31864 /* function exit code */
31865 __pyx_L1_error:;
31866 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
31867 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_config_value_changed", __pyx_clineno, __pyx_lineno, __pyx_filename);
31868 __pyx_r = NULL((void*)0);
31869 __pyx_L0:;
31870 __Pyx_XGIVEREF(__pyx_r);
31871 __Pyx_RefNannyFinishContext();
31872 return __pyx_r;
31873}
31874
31875/* "xmmsapi.pyx":1549
31876 * return self.create_result(cb, xmmsc_broadcast_config_value_changed(self.conn))
31877 *
31878 * cpdef XmmsResult config_set_value(self, key, val, cb = None): # <<<<<<<<<<<<<<
31879 * """
31880 * Set a configuration value on the daemon, given a key.
31881 */
31882
31883static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_97config_set_value(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
31884static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_config_set_value(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_val, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_config_set_value *__pyx_optional_args) {
31885 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
31886 PyObject *__pyx_v_k = NULL((void*)0);
31887 PyObject *__pyx_v_v = NULL((void*)0);
31888 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
31889 __Pyx_RefNannyDeclarations
31890 PyObject *__pyx_t_1 = NULL((void*)0);
31891 PyObject *__pyx_t_2 = NULL((void*)0);
31892 PyObject *__pyx_t_3 = NULL((void*)0);
31893 char *__pyx_t_4;
31894 char *__pyx_t_5;
31895 int __pyx_lineno = 0;
31896 const char *__pyx_filename = NULL((void*)0);
31897 int __pyx_clineno = 0;
31898 __Pyx_RefNannySetupContext("config_set_value", 0);
31899 if (__pyx_optional_args) {
31900 if (__pyx_optional_args->__pyx_n > 0) {
31901 __pyx_v_cb = __pyx_optional_args->cb;
31902 }
31903 }
31904 /* Check if called by wrapper */
31905 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
31906 /* Check if overridden in Python */
31907 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
31908 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_config_set_value); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1549; __pyx_clineno = __LINE__31908; goto __pyx_L1_error;}
31909 __Pyx_GOTREF(__pyx_t_1);
31910 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_97config_set_value)) {
31911 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
31912 __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1549; __pyx_clineno = __LINE__31912; goto __pyx_L1_error;}
31913 __Pyx_GOTREF(__pyx_t_2);
31914 __Pyx_INCREF(__pyx_v_key)( ((PyObject*)(__pyx_v_key))->ob_refcnt++);
31915 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_key)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_key);
31916 __Pyx_GIVEREF(__pyx_v_key);
31917 __Pyx_INCREF(__pyx_v_val)( ((PyObject*)(__pyx_v_val))->ob_refcnt++);
31918 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_val)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_val);
31919 __Pyx_GIVEREF(__pyx_v_val);
31920 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
31921 PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[2] = __pyx_v_cb);
31922 __Pyx_GIVEREF(__pyx_v_cb);
31923 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1549; __pyx_clineno = __LINE__31923; goto __pyx_L1_error;}
31924 __Pyx_GOTREF(__pyx_t_3);
31925 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
31926 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1549; __pyx_clineno = __LINE__31926; goto __pyx_L1_error;}
31927 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
31928 __pyx_t_3 = 0;
31929 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
31930 goto __pyx_L0;
31931 }
31932 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
31933 }
31934
31935 /* "xmmsapi.pyx":1555
31936 * @return: The result of the operation.
31937 * """
31938 * k = from_unicode(key) # <<<<<<<<<<<<<<
31939 * v = from_unicode(val)
31940 * return self.create_result(cb, xmmsc_config_set_value(self.conn, <char *>k, <char *>v))
31941 */
31942 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_key); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1555; __pyx_clineno = __LINE__31942; goto __pyx_L1_error;}
31943 __Pyx_GOTREF(__pyx_t_1);
31944 __pyx_v_k = __pyx_t_1;
31945 __pyx_t_1 = 0;
31946
31947 /* "xmmsapi.pyx":1556
31948 * """
31949 * k = from_unicode(key)
31950 * v = from_unicode(val) # <<<<<<<<<<<<<<
31951 * return self.create_result(cb, xmmsc_config_set_value(self.conn, <char *>k, <char *>v))
31952 *
31953 */
31954 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_val); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1556; __pyx_clineno = __LINE__31954; goto __pyx_L1_error;}
31955 __Pyx_GOTREF(__pyx_t_1);
31956 __pyx_v_v = __pyx_t_1;
31957 __pyx_t_1 = 0;
31958
31959 /* "xmmsapi.pyx":1557
31960 * k = from_unicode(key)
31961 * v = from_unicode(val)
31962 * return self.create_result(cb, xmmsc_config_set_value(self.conn, <char *>k, <char *>v)) # <<<<<<<<<<<<<<
31963 *
31964 * cpdef XmmsResult config_get_value(self, key, cb = None):
31965 */
31966 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
31967 __pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_k); if (unlikely((!__pyx_t_4) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_4) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1557; __pyx_clineno = __LINE__31967; goto __pyx_L1_error;}
31968 __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_v); if (unlikely((!__pyx_t_5) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_5) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1557; __pyx_clineno = __LINE__31968; goto __pyx_L1_error;}
31969 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_config_set_value(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_4), ((char *)__pyx_t_5)))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1557; __pyx_clineno = __LINE__31969; goto __pyx_L1_error;}
31970 __Pyx_GOTREF(__pyx_t_1);
31971 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
31972 __pyx_t_1 = 0;
31973 goto __pyx_L0;
31974
31975 /* "xmmsapi.pyx":1549
31976 * return self.create_result(cb, xmmsc_broadcast_config_value_changed(self.conn))
31977 *
31978 * cpdef XmmsResult config_set_value(self, key, val, cb = None): # <<<<<<<<<<<<<<
31979 * """
31980 * Set a configuration value on the daemon, given a key.
31981 */
31982
31983 /* function exit code */
31984 __pyx_L1_error:;
31985 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
31986 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
31987 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
31988 __Pyx_AddTraceback("xmmsapi.XmmsApi.config_set_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
31989 __pyx_r = 0;
31990 __pyx_L0:;
31991 __Pyx_XDECREF(__pyx_v_k)do { if ((__pyx_v_k) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_k))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_k)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_k)))); } while (0); } while (0)
;
31992 __Pyx_XDECREF(__pyx_v_v)do { if ((__pyx_v_v) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_v))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_v)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_v)))); } while (0); } while (0)
;
31993 __Pyx_XGIVEREF((PyObject *)__pyx_r);
31994 __Pyx_RefNannyFinishContext();
31995 return __pyx_r;
31996}
31997
31998/* Python wrapper */
31999static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_97config_set_value(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
32000static char __pyx_doc_7xmmsapi_7XmmsApi_96config_set_value[] = "XmmsApi.config_set_value(self, key, val, cb=None) -> XmmsResult\n\n\t\tSet a configuration value on the daemon, given a key.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
32001static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_97config_set_value(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
32002 PyObject *__pyx_v_key = 0;
32003 PyObject *__pyx_v_val = 0;
32004 PyObject *__pyx_v_cb = 0;
32005 int __pyx_lineno = 0;
32006 const char *__pyx_filename = NULL((void*)0);
32007 int __pyx_clineno = 0;
32008 PyObject *__pyx_r = 0;
32009 __Pyx_RefNannyDeclarations
32010 __Pyx_RefNannySetupContext("config_set_value (wrapper)", 0);
32011 {
32012 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,&__pyx_n_s_val,&__pyx_n_s_cb,0};
32013 PyObject* values[3] = {0,0,0};
32014 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
32015 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
32016 Py_ssize_t kw_args;
32017 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
32018 switch (pos_args) {
32019 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
32020 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
32021 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
32022 case 0: break;
32023 default: goto __pyx_L5_argtuple_error;
32024 }
32025 kw_args = PyDict_Size(__pyx_kwds);
32026 switch (pos_args) {
32027 case 0:
32028 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_key)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_key
)) != 0), 1)
) kw_args--;
32029 else goto __pyx_L5_argtuple_error;
32030 case 1:
32031 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_val)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_val
)) != 0), 1)
) kw_args--;
32032 else {
32033 __Pyx_RaiseArgtupleInvalid("config_set_value", 0, 2, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1549; __pyx_clineno = __LINE__32033; goto __pyx_L3_error;}
32034 }
32035 case 2:
32036 if (kw_args > 0) {
32037 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
32038 if (value) { values[2] = value; kw_args--; }
32039 }
32040 }
32041 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
32042 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "config_set_value") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "config_set_value") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1549; __pyx_clineno = __LINE__32042; goto __pyx_L3_error;}
32043 }
32044 } else {
32045 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
32046 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
32047 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
32048 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
32049 break;
32050 default: goto __pyx_L5_argtuple_error;
32051 }
32052 }
32053 __pyx_v_key = values[0];
32054 __pyx_v_val = values[1];
32055 __pyx_v_cb = values[2];
32056 }
32057 goto __pyx_L4_argument_unpacking_done;
32058 __pyx_L5_argtuple_error:;
32059 __Pyx_RaiseArgtupleInvalid("config_set_value", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1549; __pyx_clineno = __LINE__32059; goto __pyx_L3_error;}
32060 __pyx_L3_error:;
32061 __Pyx_AddTraceback("xmmsapi.XmmsApi.config_set_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
32062 __Pyx_RefNannyFinishContext();
32063 return NULL((void*)0);
32064 __pyx_L4_argument_unpacking_done:;
32065 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_96config_set_value(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_key, __pyx_v_val, __pyx_v_cb);
32066
32067 /* function exit code */
32068 __Pyx_RefNannyFinishContext();
32069 return __pyx_r;
32070}
32071
32072static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_96config_set_value(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_val, PyObject *__pyx_v_cb) {
32073 PyObject *__pyx_r = NULL((void*)0);
32074 __Pyx_RefNannyDeclarations
32075 PyObject *__pyx_t_1 = NULL((void*)0);
32076 struct __pyx_opt_args_7xmmsapi_7XmmsApi_config_set_value __pyx_t_2;
32077 int __pyx_lineno = 0;
32078 const char *__pyx_filename = NULL((void*)0);
32079 int __pyx_clineno = 0;
32080 __Pyx_RefNannySetupContext("config_set_value", 0);
32081 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
32082 __pyx_t_2.__pyx_n = 1;
32083 __pyx_t_2.cb = __pyx_v_cb;
32084 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->config_set_value(__pyx_v_self, __pyx_v_key, __pyx_v_val, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1549; __pyx_clineno = __LINE__32084; goto __pyx_L1_error;}
32085 __Pyx_GOTREF(__pyx_t_1);
32086 __pyx_r = __pyx_t_1;
32087 __pyx_t_1 = 0;
32088 goto __pyx_L0;
32089
32090 /* function exit code */
32091 __pyx_L1_error:;
32092 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
32093 __Pyx_AddTraceback("xmmsapi.XmmsApi.config_set_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
32094 __pyx_r = NULL((void*)0);
32095 __pyx_L0:;
32096 __Pyx_XGIVEREF(__pyx_r);
32097 __Pyx_RefNannyFinishContext();
32098 return __pyx_r;
32099}
32100
32101/* "xmmsapi.pyx":1559
32102 * return self.create_result(cb, xmmsc_config_set_value(self.conn, <char *>k, <char *>v))
32103 *
32104 * cpdef XmmsResult config_get_value(self, key, cb = None): # <<<<<<<<<<<<<<
32105 * """
32106 * Get the configuration value of a given key, from the daemon.
32107 */
32108
32109static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_99config_get_value(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
32110static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_config_get_value(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_key, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_config_get_value *__pyx_optional_args) {
32111 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
32112 PyObject *__pyx_v_k = NULL((void*)0);
32113 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
32114 __Pyx_RefNannyDeclarations
32115 PyObject *__pyx_t_1 = NULL((void*)0);
32116 PyObject *__pyx_t_2 = NULL((void*)0);
32117 PyObject *__pyx_t_3 = NULL((void*)0);
32118 char *__pyx_t_4;
32119 int __pyx_lineno = 0;
32120 const char *__pyx_filename = NULL((void*)0);
32121 int __pyx_clineno = 0;
32122 __Pyx_RefNannySetupContext("config_get_value", 0);
32123 if (__pyx_optional_args) {
32124 if (__pyx_optional_args->__pyx_n > 0) {
32125 __pyx_v_cb = __pyx_optional_args->cb;
32126 }
32127 }
32128 /* Check if called by wrapper */
32129 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
32130 /* Check if overridden in Python */
32131 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
32132 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_config_get_value); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1559; __pyx_clineno = __LINE__32132; goto __pyx_L1_error;}
32133 __Pyx_GOTREF(__pyx_t_1);
32134 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_99config_get_value)) {
32135 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
32136 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1559; __pyx_clineno = __LINE__32136; goto __pyx_L1_error;}
32137 __Pyx_GOTREF(__pyx_t_2);
32138 __Pyx_INCREF(__pyx_v_key)( ((PyObject*)(__pyx_v_key))->ob_refcnt++);
32139 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_key)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_key);
32140 __Pyx_GIVEREF(__pyx_v_key);
32141 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
32142 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_cb);
32143 __Pyx_GIVEREF(__pyx_v_cb);
32144 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1559; __pyx_clineno = __LINE__32144; goto __pyx_L1_error;}
32145 __Pyx_GOTREF(__pyx_t_3);
32146 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
32147 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1559; __pyx_clineno = __LINE__32147; goto __pyx_L1_error;}
32148 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
32149 __pyx_t_3 = 0;
32150 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
32151 goto __pyx_L0;
32152 }
32153 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
32154 }
32155
32156 /* "xmmsapi.pyx":1565
32157 * @return: The result of the operation.
32158 * """
32159 * k = from_unicode(key) # <<<<<<<<<<<<<<
32160 * return self.create_result(cb, xmmsc_config_get_value(self.conn, <char *>k))
32161 *
32162 */
32163 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_key); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1565; __pyx_clineno = __LINE__32163; goto __pyx_L1_error;}
32164 __Pyx_GOTREF(__pyx_t_1);
32165 __pyx_v_k = __pyx_t_1;
32166 __pyx_t_1 = 0;
32167
32168 /* "xmmsapi.pyx":1566
32169 * """
32170 * k = from_unicode(key)
32171 * return self.create_result(cb, xmmsc_config_get_value(self.conn, <char *>k)) # <<<<<<<<<<<<<<
32172 *
32173 * cpdef XmmsResult config_list_values(self, cb = None):
32174 */
32175 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
32176 __pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_k); if (unlikely((!__pyx_t_4) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_4) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1566; __pyx_clineno = __LINE__32176; goto __pyx_L1_error;}
32177 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_config_get_value(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_4)))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1566; __pyx_clineno = __LINE__32177; goto __pyx_L1_error;}
32178 __Pyx_GOTREF(__pyx_t_1);
32179 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
32180 __pyx_t_1 = 0;
32181 goto __pyx_L0;
32182
32183 /* "xmmsapi.pyx":1559
32184 * return self.create_result(cb, xmmsc_config_set_value(self.conn, <char *>k, <char *>v))
32185 *
32186 * cpdef XmmsResult config_get_value(self, key, cb = None): # <<<<<<<<<<<<<<
32187 * """
32188 * Get the configuration value of a given key, from the daemon.
32189 */
32190
32191 /* function exit code */
32192 __pyx_L1_error:;
32193 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
32194 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
32195 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
32196 __Pyx_AddTraceback("xmmsapi.XmmsApi.config_get_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
32197 __pyx_r = 0;
32198 __pyx_L0:;
32199 __Pyx_XDECREF(__pyx_v_k)do { if ((__pyx_v_k) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_k))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_k)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_k)))); } while (0); } while (0)
;
32200 __Pyx_XGIVEREF((PyObject *)__pyx_r);
32201 __Pyx_RefNannyFinishContext();
32202 return __pyx_r;
32203}
32204
32205/* Python wrapper */
32206static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_99config_get_value(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
32207static char __pyx_doc_7xmmsapi_7XmmsApi_98config_get_value[] = "XmmsApi.config_get_value(self, key, cb=None) -> XmmsResult\n\n\t\tGet the configuration value of a given key, from the daemon.\n\t\t@rtype: L{XmmsResult}(String)\n\t\t@return: The result of the operation.\n\t\t";
32208static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_99config_get_value(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
32209 PyObject *__pyx_v_key = 0;
32210 PyObject *__pyx_v_cb = 0;
32211 int __pyx_lineno = 0;
32212 const char *__pyx_filename = NULL((void*)0);
32213 int __pyx_clineno = 0;
32214 PyObject *__pyx_r = 0;
32215 __Pyx_RefNannyDeclarations
32216 __Pyx_RefNannySetupContext("config_get_value (wrapper)", 0);
32217 {
32218 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_key,&__pyx_n_s_cb,0};
32219 PyObject* values[2] = {0,0};
32220 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
32221 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
32222 Py_ssize_t kw_args;
32223 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
32224 switch (pos_args) {
32225 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
32226 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
32227 case 0: break;
32228 default: goto __pyx_L5_argtuple_error;
32229 }
32230 kw_args = PyDict_Size(__pyx_kwds);
32231 switch (pos_args) {
32232 case 0:
32233 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_key)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_key
)) != 0), 1)
) kw_args--;
32234 else goto __pyx_L5_argtuple_error;
32235 case 1:
32236 if (kw_args > 0) {
32237 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
32238 if (value) { values[1] = value; kw_args--; }
32239 }
32240 }
32241 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
32242 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "config_get_value") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "config_get_value") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1559; __pyx_clineno = __LINE__32242; goto __pyx_L3_error;}
32243 }
32244 } else {
32245 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
32246 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
32247 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
32248 break;
32249 default: goto __pyx_L5_argtuple_error;
32250 }
32251 }
32252 __pyx_v_key = values[0];
32253 __pyx_v_cb = values[1];
32254 }
32255 goto __pyx_L4_argument_unpacking_done;
32256 __pyx_L5_argtuple_error:;
32257 __Pyx_RaiseArgtupleInvalid("config_get_value", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1559; __pyx_clineno = __LINE__32257; goto __pyx_L3_error;}
32258 __pyx_L3_error:;
32259 __Pyx_AddTraceback("xmmsapi.XmmsApi.config_get_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
32260 __Pyx_RefNannyFinishContext();
32261 return NULL((void*)0);
32262 __pyx_L4_argument_unpacking_done:;
32263 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_98config_get_value(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_key, __pyx_v_cb);
32264
32265 /* function exit code */
32266 __Pyx_RefNannyFinishContext();
32267 return __pyx_r;
32268}
32269
32270static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_98config_get_value(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_cb) {
32271 PyObject *__pyx_r = NULL((void*)0);
32272 __Pyx_RefNannyDeclarations
32273 PyObject *__pyx_t_1 = NULL((void*)0);
32274 struct __pyx_opt_args_7xmmsapi_7XmmsApi_config_get_value __pyx_t_2;
32275 int __pyx_lineno = 0;
32276 const char *__pyx_filename = NULL((void*)0);
32277 int __pyx_clineno = 0;
32278 __Pyx_RefNannySetupContext("config_get_value", 0);
32279 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
32280 __pyx_t_2.__pyx_n = 1;
32281 __pyx_t_2.cb = __pyx_v_cb;
32282 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->config_get_value(__pyx_v_self, __pyx_v_key, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1559; __pyx_clineno = __LINE__32282; goto __pyx_L1_error;}
32283 __Pyx_GOTREF(__pyx_t_1);
32284 __pyx_r = __pyx_t_1;
32285 __pyx_t_1 = 0;
32286 goto __pyx_L0;
32287
32288 /* function exit code */
32289 __pyx_L1_error:;
32290 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
32291 __Pyx_AddTraceback("xmmsapi.XmmsApi.config_get_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
32292 __pyx_r = NULL((void*)0);
32293 __pyx_L0:;
32294 __Pyx_XGIVEREF(__pyx_r);
32295 __Pyx_RefNannyFinishContext();
32296 return __pyx_r;
32297}
32298
32299/* "xmmsapi.pyx":1568
32300 * return self.create_result(cb, xmmsc_config_get_value(self.conn, <char *>k))
32301 *
32302 * cpdef XmmsResult config_list_values(self, cb = None): # <<<<<<<<<<<<<<
32303 * """
32304 * Get list of configuration keys on the daemon. Use
32305 */
32306
32307static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_101config_list_values(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
32308static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_config_list_values(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_config_list_values *__pyx_optional_args) {
32309 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
32310 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
32311 __Pyx_RefNannyDeclarations
32312 PyObject *__pyx_t_1 = NULL((void*)0);
32313 PyObject *__pyx_t_2 = NULL((void*)0);
32314 PyObject *__pyx_t_3 = NULL((void*)0);
32315 int __pyx_lineno = 0;
32316 const char *__pyx_filename = NULL((void*)0);
32317 int __pyx_clineno = 0;
32318 __Pyx_RefNannySetupContext("config_list_values", 0);
32319 if (__pyx_optional_args) {
32320 if (__pyx_optional_args->__pyx_n > 0) {
32321 __pyx_v_cb = __pyx_optional_args->cb;
32322 }
32323 }
32324 /* Check if called by wrapper */
32325 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
32326 /* Check if overridden in Python */
32327 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
32328 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_config_list_values); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1568; __pyx_clineno = __LINE__32328; goto __pyx_L1_error;}
32329 __Pyx_GOTREF(__pyx_t_1);
32330 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_101config_list_values)) {
32331 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
32332 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1568; __pyx_clineno = __LINE__32332; goto __pyx_L1_error;}
32333 __Pyx_GOTREF(__pyx_t_2);
32334 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
32335 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
32336 __Pyx_GIVEREF(__pyx_v_cb);
32337 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1568; __pyx_clineno = __LINE__32337; goto __pyx_L1_error;}
32338 __Pyx_GOTREF(__pyx_t_3);
32339 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
32340 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1568; __pyx_clineno = __LINE__32340; goto __pyx_L1_error;}
32341 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
32342 __pyx_t_3 = 0;
32343 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
32344 goto __pyx_L0;
32345 }
32346 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
32347 }
32348
32349 /* "xmmsapi.pyx":1576
32350 * @return: The result of the operation.
32351 * """
32352 * return self.create_result(cb, xmmsc_config_list_values(self.conn)) # <<<<<<<<<<<<<<
32353 *
32354 * cpdef XmmsResult config_register_value(self, valuename, defaultvalue, cb = None):
32355 */
32356 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
32357 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_config_list_values(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1576; __pyx_clineno = __LINE__32357; goto __pyx_L1_error;}
32358 __Pyx_GOTREF(__pyx_t_1);
32359 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
32360 __pyx_t_1 = 0;
32361 goto __pyx_L0;
32362
32363 /* "xmmsapi.pyx":1568
32364 * return self.create_result(cb, xmmsc_config_get_value(self.conn, <char *>k))
32365 *
32366 * cpdef XmmsResult config_list_values(self, cb = None): # <<<<<<<<<<<<<<
32367 * """
32368 * Get list of configuration keys on the daemon. Use
32369 */
32370
32371 /* function exit code */
32372 __pyx_L1_error:;
32373 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
32374 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
32375 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
32376 __Pyx_AddTraceback("xmmsapi.XmmsApi.config_list_values", __pyx_clineno, __pyx_lineno, __pyx_filename);
32377 __pyx_r = 0;
32378 __pyx_L0:;
32379 __Pyx_XGIVEREF((PyObject *)__pyx_r);
32380 __Pyx_RefNannyFinishContext();
32381 return __pyx_r;
32382}
32383
32384/* Python wrapper */
32385static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_101config_list_values(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
32386static char __pyx_doc_7xmmsapi_7XmmsApi_100config_list_values[] = "XmmsApi.config_list_values(self, cb=None) -> XmmsResult\n\n\t\tGet list of configuration keys on the daemon. Use\n\t\tL{config_get_value} to retrieve the values corresponding to the\n\t\tconfiguration keys.\n\t\t@rtype: L{XmmsResult}(StringList)\n\t\t@return: The result of the operation.\n\t\t";
32387static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_101config_list_values(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
32388 PyObject *__pyx_v_cb = 0;
32389 int __pyx_lineno = 0;
32390 const char *__pyx_filename = NULL((void*)0);
32391 int __pyx_clineno = 0;
32392 PyObject *__pyx_r = 0;
32393 __Pyx_RefNannyDeclarations
32394 __Pyx_RefNannySetupContext("config_list_values (wrapper)", 0);
32395 {
32396 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
32397 PyObject* values[1] = {0};
32398 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
32399 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
32400 Py_ssize_t kw_args;
32401 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
32402 switch (pos_args) {
32403 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
32404 case 0: break;
32405 default: goto __pyx_L5_argtuple_error;
32406 }
32407 kw_args = PyDict_Size(__pyx_kwds);
32408 switch (pos_args) {
32409 case 0:
32410 if (kw_args > 0) {
32411 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
32412 if (value) { values[0] = value; kw_args--; }
32413 }
32414 }
32415 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
32416 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "config_list_values") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "config_list_values") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1568; __pyx_clineno = __LINE__32416; goto __pyx_L3_error;}
32417 }
32418 } else {
32419 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
32420 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
32421 case 0: break;
32422 default: goto __pyx_L5_argtuple_error;
32423 }
32424 }
32425 __pyx_v_cb = values[0];
32426 }
32427 goto __pyx_L4_argument_unpacking_done;
32428 __pyx_L5_argtuple_error:;
32429 __Pyx_RaiseArgtupleInvalid("config_list_values", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1568; __pyx_clineno = __LINE__32429; goto __pyx_L3_error;}
32430 __pyx_L3_error:;
32431 __Pyx_AddTraceback("xmmsapi.XmmsApi.config_list_values", __pyx_clineno, __pyx_lineno, __pyx_filename);
32432 __Pyx_RefNannyFinishContext();
32433 return NULL((void*)0);
32434 __pyx_L4_argument_unpacking_done:;
32435 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_100config_list_values(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
32436
32437 /* function exit code */
32438 __Pyx_RefNannyFinishContext();
32439 return __pyx_r;
32440}
32441
32442static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_100config_list_values(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
32443 PyObject *__pyx_r = NULL((void*)0);
32444 __Pyx_RefNannyDeclarations
32445 PyObject *__pyx_t_1 = NULL((void*)0);
32446 struct __pyx_opt_args_7xmmsapi_7XmmsApi_config_list_values __pyx_t_2;
32447 int __pyx_lineno = 0;
32448 const char *__pyx_filename = NULL((void*)0);
32449 int __pyx_clineno = 0;
32450 __Pyx_RefNannySetupContext("config_list_values", 0);
32451 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
32452 __pyx_t_2.__pyx_n = 1;
32453 __pyx_t_2.cb = __pyx_v_cb;
32454 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->config_list_values(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1568; __pyx_clineno = __LINE__32454; goto __pyx_L1_error;}
32455 __Pyx_GOTREF(__pyx_t_1);
32456 __pyx_r = __pyx_t_1;
32457 __pyx_t_1 = 0;
32458 goto __pyx_L0;
32459
32460 /* function exit code */
32461 __pyx_L1_error:;
32462 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
32463 __Pyx_AddTraceback("xmmsapi.XmmsApi.config_list_values", __pyx_clineno, __pyx_lineno, __pyx_filename);
32464 __pyx_r = NULL((void*)0);
32465 __pyx_L0:;
32466 __Pyx_XGIVEREF(__pyx_r);
32467 __Pyx_RefNannyFinishContext();
32468 return __pyx_r;
32469}
32470
32471/* "xmmsapi.pyx":1578
32472 * return self.create_result(cb, xmmsc_config_list_values(self.conn))
32473 *
32474 * cpdef XmmsResult config_register_value(self, valuename, defaultvalue, cb = None): # <<<<<<<<<<<<<<
32475 * """
32476 * Register a new configvalue.
32477 */
32478
32479static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_103config_register_value(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
32480static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_config_register_value(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_valuename, PyObject *__pyx_v_defaultvalue, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_config_register_value *__pyx_optional_args) {
32481 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
32482 PyObject *__pyx_v_v = NULL((void*)0);
32483 PyObject *__pyx_v_dv = NULL((void*)0);
32484 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
32485 __Pyx_RefNannyDeclarations
32486 PyObject *__pyx_t_1 = NULL((void*)0);
32487 PyObject *__pyx_t_2 = NULL((void*)0);
32488 PyObject *__pyx_t_3 = NULL((void*)0);
32489 char *__pyx_t_4;
32490 char *__pyx_t_5;
32491 int __pyx_lineno = 0;
32492 const char *__pyx_filename = NULL((void*)0);
32493 int __pyx_clineno = 0;
32494 __Pyx_RefNannySetupContext("config_register_value", 0);
32495 if (__pyx_optional_args) {
32496 if (__pyx_optional_args->__pyx_n > 0) {
32497 __pyx_v_cb = __pyx_optional_args->cb;
32498 }
32499 }
32500 /* Check if called by wrapper */
32501 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
32502 /* Check if overridden in Python */
32503 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
32504 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_config_register_value); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1578; __pyx_clineno = __LINE__32504; goto __pyx_L1_error;}
32505 __Pyx_GOTREF(__pyx_t_1);
32506 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_103config_register_value)) {
32507 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
32508 __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1578; __pyx_clineno = __LINE__32508; goto __pyx_L1_error;}
32509 __Pyx_GOTREF(__pyx_t_2);
32510 __Pyx_INCREF(__pyx_v_valuename)( ((PyObject*)(__pyx_v_valuename))->ob_refcnt++);
32511 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_valuename)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_valuename
)
;
32512 __Pyx_GIVEREF(__pyx_v_valuename);
32513 __Pyx_INCREF(__pyx_v_defaultvalue)( ((PyObject*)(__pyx_v_defaultvalue))->ob_refcnt++);
32514 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_defaultvalue)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_defaultvalue
)
;
32515 __Pyx_GIVEREF(__pyx_v_defaultvalue);
32516 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
32517 PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[2] = __pyx_v_cb);
32518 __Pyx_GIVEREF(__pyx_v_cb);
32519 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1578; __pyx_clineno = __LINE__32519; goto __pyx_L1_error;}
32520 __Pyx_GOTREF(__pyx_t_3);
32521 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
32522 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1578; __pyx_clineno = __LINE__32522; goto __pyx_L1_error;}
32523 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
32524 __pyx_t_3 = 0;
32525 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
32526 goto __pyx_L0;
32527 }
32528 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
32529 }
32530
32531 /* "xmmsapi.pyx":1586
32532 * @return: The result of the operation.
32533 * """
32534 * v = from_unicode(valuename) # <<<<<<<<<<<<<<
32535 * dv = from_unicode(defaultvalue)
32536 * return self.create_result(cb, xmmsc_config_register_value(self.conn, <char *>v, <char *>dv))
32537 */
32538 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_valuename); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1586; __pyx_clineno = __LINE__32538; goto __pyx_L1_error;}
32539 __Pyx_GOTREF(__pyx_t_1);
32540 __pyx_v_v = __pyx_t_1;
32541 __pyx_t_1 = 0;
32542
32543 /* "xmmsapi.pyx":1587
32544 * """
32545 * v = from_unicode(valuename)
32546 * dv = from_unicode(defaultvalue) # <<<<<<<<<<<<<<
32547 * return self.create_result(cb, xmmsc_config_register_value(self.conn, <char *>v, <char *>dv))
32548 *
32549 */
32550 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_defaultvalue); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1587; __pyx_clineno = __LINE__32550; goto __pyx_L1_error;}
32551 __Pyx_GOTREF(__pyx_t_1);
32552 __pyx_v_dv = __pyx_t_1;
32553 __pyx_t_1 = 0;
32554
32555 /* "xmmsapi.pyx":1588
32556 * v = from_unicode(valuename)
32557 * dv = from_unicode(defaultvalue)
32558 * return self.create_result(cb, xmmsc_config_register_value(self.conn, <char *>v, <char *>dv)) # <<<<<<<<<<<<<<
32559 *
32560 * cpdef XmmsResult medialib_add_entry(self, path, cb = None, encoded = False):
32561 */
32562 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
32563 __pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_v); if (unlikely((!__pyx_t_4) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_4) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1588; __pyx_clineno = __LINE__32563; goto __pyx_L1_error;}
32564 __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_dv); if (unlikely((!__pyx_t_5) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_5) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1588; __pyx_clineno = __LINE__32564; goto __pyx_L1_error;}
32565 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_config_register_value(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_4), ((char *)__pyx_t_5)))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1588; __pyx_clineno = __LINE__32565; goto __pyx_L1_error;}
32566 __Pyx_GOTREF(__pyx_t_1);
32567 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
32568 __pyx_t_1 = 0;
32569 goto __pyx_L0;
32570
32571 /* "xmmsapi.pyx":1578
32572 * return self.create_result(cb, xmmsc_config_list_values(self.conn))
32573 *
32574 * cpdef XmmsResult config_register_value(self, valuename, defaultvalue, cb = None): # <<<<<<<<<<<<<<
32575 * """
32576 * Register a new configvalue.
32577 */
32578
32579 /* function exit code */
32580 __pyx_L1_error:;
32581 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
32582 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
32583 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
32584 __Pyx_AddTraceback("xmmsapi.XmmsApi.config_register_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
32585 __pyx_r = 0;
32586 __pyx_L0:;
32587 __Pyx_XDECREF(__pyx_v_v)do { if ((__pyx_v_v) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_v))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_v)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_v)))); } while (0); } while (0)
;
32588 __Pyx_XDECREF(__pyx_v_dv)do { if ((__pyx_v_dv) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_dv))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_v_dv)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_dv)))); } while (0); } while (0)
;
32589 __Pyx_XGIVEREF((PyObject *)__pyx_r);
32590 __Pyx_RefNannyFinishContext();
32591 return __pyx_r;
32592}
32593
32594/* Python wrapper */
32595static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_103config_register_value(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
32596static char __pyx_doc_7xmmsapi_7XmmsApi_102config_register_value[] = "XmmsApi.config_register_value(self, valuename, defaultvalue, cb=None) -> XmmsResult\n\n\t\tRegister a new configvalue.\n\t\tThis should be called in the initcode as XMMS2 won't allow\n\t\tset/get on values that haven't been registered.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
32597static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_103config_register_value(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
32598 PyObject *__pyx_v_valuename = 0;
32599 PyObject *__pyx_v_defaultvalue = 0;
32600 PyObject *__pyx_v_cb = 0;
32601 int __pyx_lineno = 0;
32602 const char *__pyx_filename = NULL((void*)0);
32603 int __pyx_clineno = 0;
32604 PyObject *__pyx_r = 0;
32605 __Pyx_RefNannyDeclarations
32606 __Pyx_RefNannySetupContext("config_register_value (wrapper)", 0);
32607 {
32608 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_valuename,&__pyx_n_s_defaultvalue,&__pyx_n_s_cb,0};
32609 PyObject* values[3] = {0,0,0};
32610 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
32611 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
32612 Py_ssize_t kw_args;
32613 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
32614 switch (pos_args) {
32615 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
32616 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
32617 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
32618 case 0: break;
32619 default: goto __pyx_L5_argtuple_error;
32620 }
32621 kw_args = PyDict_Size(__pyx_kwds);
32622 switch (pos_args) {
32623 case 0:
32624 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_valuename)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_valuename
)) != 0), 1)
) kw_args--;
32625 else goto __pyx_L5_argtuple_error;
32626 case 1:
32627 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_defaultvalue)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_defaultvalue
)) != 0), 1)
) kw_args--;
32628 else {
32629 __Pyx_RaiseArgtupleInvalid("config_register_value", 0, 2, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1578; __pyx_clineno = __LINE__32629; goto __pyx_L3_error;}
32630 }
32631 case 2:
32632 if (kw_args > 0) {
32633 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
32634 if (value) { values[2] = value; kw_args--; }
32635 }
32636 }
32637 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
32638 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "config_register_value") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "config_register_value") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1578; __pyx_clineno = __LINE__32638; goto __pyx_L3_error;}
32639 }
32640 } else {
32641 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
32642 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
32643 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
32644 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
32645 break;
32646 default: goto __pyx_L5_argtuple_error;
32647 }
32648 }
32649 __pyx_v_valuename = values[0];
32650 __pyx_v_defaultvalue = values[1];
32651 __pyx_v_cb = values[2];
32652 }
32653 goto __pyx_L4_argument_unpacking_done;
32654 __pyx_L5_argtuple_error:;
32655 __Pyx_RaiseArgtupleInvalid("config_register_value", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1578; __pyx_clineno = __LINE__32655; goto __pyx_L3_error;}
32656 __pyx_L3_error:;
32657 __Pyx_AddTraceback("xmmsapi.XmmsApi.config_register_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
32658 __Pyx_RefNannyFinishContext();
32659 return NULL((void*)0);
32660 __pyx_L4_argument_unpacking_done:;
32661 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_102config_register_value(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_valuename, __pyx_v_defaultvalue, __pyx_v_cb);
32662
32663 /* function exit code */
32664 __Pyx_RefNannyFinishContext();
32665 return __pyx_r;
32666}
32667
32668static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_102config_register_value(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_valuename, PyObject *__pyx_v_defaultvalue, PyObject *__pyx_v_cb) {
32669 PyObject *__pyx_r = NULL((void*)0);
32670 __Pyx_RefNannyDeclarations
32671 PyObject *__pyx_t_1 = NULL((void*)0);
32672 struct __pyx_opt_args_7xmmsapi_7XmmsApi_config_register_value __pyx_t_2;
32673 int __pyx_lineno = 0;
32674 const char *__pyx_filename = NULL((void*)0);
32675 int __pyx_clineno = 0;
32676 __Pyx_RefNannySetupContext("config_register_value", 0);
32677 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
32678 __pyx_t_2.__pyx_n = 1;
32679 __pyx_t_2.cb = __pyx_v_cb;
32680 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->config_register_value(__pyx_v_self, __pyx_v_valuename, __pyx_v_defaultvalue, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1578; __pyx_clineno = __LINE__32680; goto __pyx_L1_error;}
32681 __Pyx_GOTREF(__pyx_t_1);
32682 __pyx_r = __pyx_t_1;
32683 __pyx_t_1 = 0;
32684 goto __pyx_L0;
32685
32686 /* function exit code */
32687 __pyx_L1_error:;
32688 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
32689 __Pyx_AddTraceback("xmmsapi.XmmsApi.config_register_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
32690 __pyx_r = NULL((void*)0);
32691 __pyx_L0:;
32692 __Pyx_XGIVEREF(__pyx_r);
32693 __Pyx_RefNannyFinishContext();
32694 return __pyx_r;
32695}
32696
32697/* "xmmsapi.pyx":1590
32698 * return self.create_result(cb, xmmsc_config_register_value(self.conn, <char *>v, <char *>dv))
32699 *
32700 * cpdef XmmsResult medialib_add_entry(self, path, cb = None, encoded = False): # <<<<<<<<<<<<<<
32701 * """
32702 * Add an entry to the MediaLib.
32703 */
32704
32705static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_105medialib_add_entry(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
32706static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_medialib_add_entry(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_path, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_add_entry *__pyx_optional_args) {
32707 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
32708 PyObject *__pyx_v_encoded = ((PyObject *)Py_False((PyObject *) &_Py_ZeroStruct));
32709 xmmsc_result_t *__pyx_v_res;
32710 PyObject *__pyx_v_p = NULL((void*)0);
32711 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
32712 __Pyx_RefNannyDeclarations
32713 PyObject *__pyx_t_1 = NULL((void*)0);
32714 PyObject *__pyx_t_2 = NULL((void*)0);
32715 PyObject *__pyx_t_3 = NULL((void*)0);
32716 int __pyx_t_4;
32717 char *__pyx_t_5;
32718 int __pyx_lineno = 0;
32719 const char *__pyx_filename = NULL((void*)0);
32720 int __pyx_clineno = 0;
32721 __Pyx_RefNannySetupContext("medialib_add_entry", 0);
32722 if (__pyx_optional_args) {
32723 if (__pyx_optional_args->__pyx_n > 0) {
32724 __pyx_v_cb = __pyx_optional_args->cb;
32725 if (__pyx_optional_args->__pyx_n > 1) {
32726 __pyx_v_encoded = __pyx_optional_args->encoded;
32727 }
32728 }
32729 }
32730 /* Check if called by wrapper */
32731 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
32732 /* Check if overridden in Python */
32733 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
32734 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_medialib_add_entry); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1590; __pyx_clineno = __LINE__32734; goto __pyx_L1_error;}
32735 __Pyx_GOTREF(__pyx_t_1);
32736 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_105medialib_add_entry)) {
32737 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
32738 __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1590; __pyx_clineno = __LINE__32738; goto __pyx_L1_error;}
32739 __Pyx_GOTREF(__pyx_t_2);
32740 __Pyx_INCREF(__pyx_v_path)( ((PyObject*)(__pyx_v_path))->ob_refcnt++);
32741 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_path)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_path
)
;
32742 __Pyx_GIVEREF(__pyx_v_path);
32743 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
32744 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_cb);
32745 __Pyx_GIVEREF(__pyx_v_cb);
32746 __Pyx_INCREF(__pyx_v_encoded)( ((PyObject*)(__pyx_v_encoded))->ob_refcnt++);
32747 PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_encoded)(((PyTupleObject *)(__pyx_t_2))->ob_item[2] = __pyx_v_encoded
)
;
32748 __Pyx_GIVEREF(__pyx_v_encoded);
32749 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1590; __pyx_clineno = __LINE__32749; goto __pyx_L1_error;}
32750 __Pyx_GOTREF(__pyx_t_3);
32751 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
32752 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1590; __pyx_clineno = __LINE__32752; goto __pyx_L1_error;}
32753 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
32754 __pyx_t_3 = 0;
32755 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
32756 goto __pyx_L0;
32757 }
32758 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
32759 }
32760
32761 /* "xmmsapi.pyx":1597
32762 * """
32763 * cdef xmmsc_result_t *res
32764 * p = from_unicode(path) # <<<<<<<<<<<<<<
32765 * if encoded:
32766 * res = xmmsc_medialib_add_entry_encoded(self.conn, <char *>p)
32767 */
32768 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_path); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1597; __pyx_clineno = __LINE__32768; goto __pyx_L1_error;}
32769 __Pyx_GOTREF(__pyx_t_1);
32770 __pyx_v_p = __pyx_t_1;
32771 __pyx_t_1 = 0;
32772
32773 /* "xmmsapi.pyx":1598
32774 * cdef xmmsc_result_t *res
32775 * p = from_unicode(path)
32776 * if encoded: # <<<<<<<<<<<<<<
32777 * res = xmmsc_medialib_add_entry_encoded(self.conn, <char *>p)
32778 * else:
32779 */
32780 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_encoded); if (unlikely(__pyx_t_4 < 0)__builtin_expect(!!(__pyx_t_4 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1598; __pyx_clineno = __LINE__32780; goto __pyx_L1_error;}
32781 if (__pyx_t_4) {
32782
32783 /* "xmmsapi.pyx":1599
32784 * p = from_unicode(path)
32785 * if encoded:
32786 * res = xmmsc_medialib_add_entry_encoded(self.conn, <char *>p) # <<<<<<<<<<<<<<
32787 * else:
32788 * res = xmmsc_medialib_add_entry(self.conn, <char *>p)
32789 */
32790 __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_5) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_5) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1599; __pyx_clineno = __LINE__32790; goto __pyx_L1_error;}
32791 __pyx_v_res = xmmsc_medialib_add_entry_encoded(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_5));
32792 goto __pyx_L3;
32793 }
32794 /*else*/ {
32795
32796 /* "xmmsapi.pyx":1601
32797 * res = xmmsc_medialib_add_entry_encoded(self.conn, <char *>p)
32798 * else:
32799 * res = xmmsc_medialib_add_entry(self.conn, <char *>p) # <<<<<<<<<<<<<<
32800 * return self.create_result(cb, res)
32801 *
32802 */
32803 __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_5) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_5) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1601; __pyx_clineno = __LINE__32803; goto __pyx_L1_error;}
32804 __pyx_v_res = xmmsc_medialib_add_entry(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_5));
32805 }
32806 __pyx_L3:;
32807
32808 /* "xmmsapi.pyx":1602
32809 * else:
32810 * res = xmmsc_medialib_add_entry(self.conn, <char *>p)
32811 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
32812 *
32813 * @deprecated
32814 */
32815 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
32816 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1602; __pyx_clineno = __LINE__32816; goto __pyx_L1_error;}
32817 __Pyx_GOTREF(__pyx_t_1);
32818 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
32819 __pyx_t_1 = 0;
32820 goto __pyx_L0;
32821
32822 /* "xmmsapi.pyx":1590
32823 * return self.create_result(cb, xmmsc_config_register_value(self.conn, <char *>v, <char *>dv))
32824 *
32825 * cpdef XmmsResult medialib_add_entry(self, path, cb = None, encoded = False): # <<<<<<<<<<<<<<
32826 * """
32827 * Add an entry to the MediaLib.
32828 */
32829
32830 /* function exit code */
32831 __pyx_L1_error:;
32832 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
32833 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
32834 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
32835 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_add_entry", __pyx_clineno, __pyx_lineno, __pyx_filename);
32836 __pyx_r = 0;
32837 __pyx_L0:;
32838 __Pyx_XDECREF(__pyx_v_p)do { if ((__pyx_v_p) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_p))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_p)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_p)))); } while (0); } while (0)
;
32839 __Pyx_XGIVEREF((PyObject *)__pyx_r);
32840 __Pyx_RefNannyFinishContext();
32841 return __pyx_r;
32842}
32843
32844/* Python wrapper */
32845static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_105medialib_add_entry(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
32846static char __pyx_doc_7xmmsapi_7XmmsApi_104medialib_add_entry[] = "XmmsApi.medialib_add_entry(self, path, cb=None, encoded=False) -> XmmsResult\n\n\t\tAdd an entry to the MediaLib.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
32847static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_105medialib_add_entry(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
32848 PyObject *__pyx_v_path = 0;
32849 PyObject *__pyx_v_cb = 0;
32850 PyObject *__pyx_v_encoded = 0;
32851 int __pyx_lineno = 0;
32852 const char *__pyx_filename = NULL((void*)0);
32853 int __pyx_clineno = 0;
32854 PyObject *__pyx_r = 0;
32855 __Pyx_RefNannyDeclarations
32856 __Pyx_RefNannySetupContext("medialib_add_entry (wrapper)", 0);
32857 {
32858 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_path,&__pyx_n_s_cb,&__pyx_n_s_encoded,0};
32859 PyObject* values[3] = {0,0,0};
32860 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
32861 values[2] = ((PyObject *)Py_False((PyObject *) &_Py_ZeroStruct));
32862 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
32863 Py_ssize_t kw_args;
32864 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
32865 switch (pos_args) {
32866 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
32867 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
32868 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
32869 case 0: break;
32870 default: goto __pyx_L5_argtuple_error;
32871 }
32872 kw_args = PyDict_Size(__pyx_kwds);
32873 switch (pos_args) {
32874 case 0:
32875 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path
)) != 0), 1)
) kw_args--;
32876 else goto __pyx_L5_argtuple_error;
32877 case 1:
32878 if (kw_args > 0) {
32879 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
32880 if (value) { values[1] = value; kw_args--; }
32881 }
32882 case 2:
32883 if (kw_args > 0) {
32884 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_encoded);
32885 if (value) { values[2] = value; kw_args--; }
32886 }
32887 }
32888 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
32889 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "medialib_add_entry") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "medialib_add_entry") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1590; __pyx_clineno = __LINE__32889; goto __pyx_L3_error;}
32890 }
32891 } else {
32892 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
32893 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
32894 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
32895 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
32896 break;
32897 default: goto __pyx_L5_argtuple_error;
32898 }
32899 }
32900 __pyx_v_path = values[0];
32901 __pyx_v_cb = values[1];
32902 __pyx_v_encoded = values[2];
32903 }
32904 goto __pyx_L4_argument_unpacking_done;
32905 __pyx_L5_argtuple_error:;
32906 __Pyx_RaiseArgtupleInvalid("medialib_add_entry", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1590; __pyx_clineno = __LINE__32906; goto __pyx_L3_error;}
32907 __pyx_L3_error:;
32908 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_add_entry", __pyx_clineno, __pyx_lineno, __pyx_filename);
32909 __Pyx_RefNannyFinishContext();
32910 return NULL((void*)0);
32911 __pyx_L4_argument_unpacking_done:;
32912 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_104medialib_add_entry(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_path, __pyx_v_cb, __pyx_v_encoded);
32913
32914 /* function exit code */
32915 __Pyx_RefNannyFinishContext();
32916 return __pyx_r;
32917}
32918
32919static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_104medialib_add_entry(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_path, PyObject *__pyx_v_cb, PyObject *__pyx_v_encoded) {
32920 PyObject *__pyx_r = NULL((void*)0);
32921 __Pyx_RefNannyDeclarations
32922 PyObject *__pyx_t_1 = NULL((void*)0);
32923 struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_add_entry __pyx_t_2;
32924 int __pyx_lineno = 0;
32925 const char *__pyx_filename = NULL((void*)0);
32926 int __pyx_clineno = 0;
32927 __Pyx_RefNannySetupContext("medialib_add_entry", 0);
32928 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
32929 __pyx_t_2.__pyx_n = 2;
32930 __pyx_t_2.cb = __pyx_v_cb;
32931 __pyx_t_2.encoded = __pyx_v_encoded;
32932 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->medialib_add_entry(__pyx_v_self, __pyx_v_path, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1590; __pyx_clineno = __LINE__32932; goto __pyx_L1_error;}
32933 __Pyx_GOTREF(__pyx_t_1);
32934 __pyx_r = __pyx_t_1;
32935 __pyx_t_1 = 0;
32936 goto __pyx_L0;
32937
32938 /* function exit code */
32939 __pyx_L1_error:;
32940 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
32941 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_add_entry", __pyx_clineno, __pyx_lineno, __pyx_filename);
32942 __pyx_r = NULL((void*)0);
32943 __pyx_L0:;
32944 __Pyx_XGIVEREF(__pyx_r);
32945 __Pyx_RefNannyFinishContext();
32946 return __pyx_r;
32947}
32948
32949/* "xmmsapi.pyx":1605
32950 *
32951 * @deprecated
32952 * def medialib_add_entry_encoded(self, path, cb = None): # <<<<<<<<<<<<<<
32953 * """
32954 * @deprecated
32955 */
32956
32957/* Python wrapper */
32958static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_107medialib_add_entry_encoded(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
32959static char __pyx_doc_7xmmsapi_7XmmsApi_106medialib_add_entry_encoded[] = "XmmsApi.medialib_add_entry_encoded(self, path, cb=None)\n\n\t\t@deprecated\n\t\tUse medialib_add_entry(file, ..., encoded = True) instead\n\t\t";
32960static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_107medialib_add_entry_encoded(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
32961 PyObject *__pyx_v_path = 0;
32962 PyObject *__pyx_v_cb = 0;
32963 int __pyx_lineno = 0;
32964 const char *__pyx_filename = NULL((void*)0);
32965 int __pyx_clineno = 0;
32966 PyObject *__pyx_r = 0;
32967 __Pyx_RefNannyDeclarations
32968 __Pyx_RefNannySetupContext("medialib_add_entry_encoded (wrapper)", 0);
32969 {
32970 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_path,&__pyx_n_s_cb,0};
32971 PyObject* values[2] = {0,0};
32972 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
32973 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
32974 Py_ssize_t kw_args;
32975 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
32976 switch (pos_args) {
32977 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
32978 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
32979 case 0: break;
32980 default: goto __pyx_L5_argtuple_error;
32981 }
32982 kw_args = PyDict_Size(__pyx_kwds);
32983 switch (pos_args) {
32984 case 0:
32985 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path
)) != 0), 1)
) kw_args--;
32986 else goto __pyx_L5_argtuple_error;
32987 case 1:
32988 if (kw_args > 0) {
32989 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
32990 if (value) { values[1] = value; kw_args--; }
32991 }
32992 }
32993 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
32994 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "medialib_add_entry_encoded") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "medialib_add_entry_encoded") < 0),
0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1605; __pyx_clineno = __LINE__32994; goto __pyx_L3_error;}
32995 }
32996 } else {
32997 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
32998 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
32999 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
33000 break;
33001 default: goto __pyx_L5_argtuple_error;
33002 }
33003 }
33004 __pyx_v_path = values[0];
33005 __pyx_v_cb = values[1];
33006 }
33007 goto __pyx_L4_argument_unpacking_done;
33008 __pyx_L5_argtuple_error:;
33009 __Pyx_RaiseArgtupleInvalid("medialib_add_entry_encoded", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1605; __pyx_clineno = __LINE__33009; goto __pyx_L3_error;}
33010 __pyx_L3_error:;
33011 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_add_entry_encoded", __pyx_clineno, __pyx_lineno, __pyx_filename);
33012 __Pyx_RefNannyFinishContext();
33013 return NULL((void*)0);
33014 __pyx_L4_argument_unpacking_done:;
33015 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_106medialib_add_entry_encoded(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_path, __pyx_v_cb);
33016
33017 /* function exit code */
33018 __Pyx_RefNannyFinishContext();
33019 return __pyx_r;
33020}
33021
33022static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_106medialib_add_entry_encoded(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_path, PyObject *__pyx_v_cb) {
33023 PyObject *__pyx_r = NULL((void*)0);
33024 __Pyx_RefNannyDeclarations
33025 PyObject *__pyx_t_1 = NULL((void*)0);
33026 struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_add_entry __pyx_t_2;
33027 int __pyx_lineno = 0;
33028 const char *__pyx_filename = NULL((void*)0);
33029 int __pyx_clineno = 0;
33030 __Pyx_RefNannySetupContext("medialib_add_entry_encoded", 0);
33031
33032 /* "xmmsapi.pyx":1610
33033 * Use medialib_add_entry(file, ..., encoded = True) instead
33034 * """
33035 * return self.medialib_add_entry(path, cb = cb, encoded = True) # <<<<<<<<<<<<<<
33036 *
33037 * cpdef XmmsResult medialib_remove_entry(self, int id, cb = None):
33038 */
33039 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
33040 __pyx_t_2.__pyx_n = 2;
33041 __pyx_t_2.cb = __pyx_v_cb;
33042 __pyx_t_2.encoded = Py_True((PyObject *) &_Py_TrueStruct);
33043 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->medialib_add_entry(__pyx_v_self, __pyx_v_path, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1610; __pyx_clineno = __LINE__33043; goto __pyx_L1_error;}
33044 __Pyx_GOTREF(__pyx_t_1);
33045 __pyx_r = __pyx_t_1;
33046 __pyx_t_1 = 0;
33047 goto __pyx_L0;
33048
33049 /* "xmmsapi.pyx":1605
33050 *
33051 * @deprecated
33052 * def medialib_add_entry_encoded(self, path, cb = None): # <<<<<<<<<<<<<<
33053 * """
33054 * @deprecated
33055 */
33056
33057 /* function exit code */
33058 __pyx_L1_error:;
33059 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
33060 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_add_entry_encoded", __pyx_clineno, __pyx_lineno, __pyx_filename);
33061 __pyx_r = NULL((void*)0);
33062 __pyx_L0:;
33063 __Pyx_XGIVEREF(__pyx_r);
33064 __Pyx_RefNannyFinishContext();
33065 return __pyx_r;
33066}
33067
33068/* "xmmsapi.pyx":1612
33069 * return self.medialib_add_entry(path, cb = cb, encoded = True)
33070 *
33071 * cpdef XmmsResult medialib_remove_entry(self, int id, cb = None): # <<<<<<<<<<<<<<
33072 * """
33073 * Remove an entry from the medialib.
33074 */
33075
33076static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_109medialib_remove_entry(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
33077static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_medialib_remove_entry(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_id, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_remove_entry *__pyx_optional_args) {
33078 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
33079 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
33080 __Pyx_RefNannyDeclarations
33081 PyObject *__pyx_t_1 = NULL((void*)0);
33082 PyObject *__pyx_t_2 = NULL((void*)0);
33083 PyObject *__pyx_t_3 = NULL((void*)0);
33084 int __pyx_lineno = 0;
33085 const char *__pyx_filename = NULL((void*)0);
33086 int __pyx_clineno = 0;
33087 __Pyx_RefNannySetupContext("medialib_remove_entry", 0);
33088 if (__pyx_optional_args) {
33089 if (__pyx_optional_args->__pyx_n > 0) {
33090 __pyx_v_cb = __pyx_optional_args->cb;
33091 }
33092 }
33093 /* Check if called by wrapper */
33094 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
33095 /* Check if overridden in Python */
33096 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
33097 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_medialib_remove_entry); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1612; __pyx_clineno = __LINE__33097; goto __pyx_L1_error;}
33098 __Pyx_GOTREF(__pyx_t_1);
33099 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_109medialib_remove_entry)) {
33100 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
33101 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_id); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1612; __pyx_clineno = __LINE__33101; goto __pyx_L1_error;}
33102 __Pyx_GOTREF(__pyx_t_2);
33103 __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1612; __pyx_clineno = __LINE__33103; goto __pyx_L1_error;}
33104 __Pyx_GOTREF(__pyx_t_3);
33105 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
33106 __Pyx_GIVEREF(__pyx_t_2);
33107 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
33108 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_cb);
33109 __Pyx_GIVEREF(__pyx_v_cb);
33110 __pyx_t_2 = 0;
33111 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1612; __pyx_clineno = __LINE__33111; goto __pyx_L1_error;}
33112 __Pyx_GOTREF(__pyx_t_2);
33113 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
33114 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_2) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1612; __pyx_clineno = __LINE__33114; goto __pyx_L1_error;}
33115 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_2);
33116 __pyx_t_2 = 0;
33117 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
33118 goto __pyx_L0;
33119 }
33120 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
33121 }
33122
33123 /* "xmmsapi.pyx":1618
33124 * @return: The result of the operation.
33125 * """
33126 * return self.create_result(cb, xmmsc_medialib_remove_entry(self.conn, id)) # <<<<<<<<<<<<<<
33127 *
33128 * cpdef XmmsResult medialib_move_entry(self, int id, url, cb = None, encoded = False):
33129 */
33130 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
33131 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_medialib_remove_entry(__pyx_v_self->__pyx_base.conn, __pyx_v_id))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1618; __pyx_clineno = __LINE__33131; goto __pyx_L1_error;}
33132 __Pyx_GOTREF(__pyx_t_1);
33133 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
33134 __pyx_t_1 = 0;
33135 goto __pyx_L0;
33136
33137 /* "xmmsapi.pyx":1612
33138 * return self.medialib_add_entry(path, cb = cb, encoded = True)
33139 *
33140 * cpdef XmmsResult medialib_remove_entry(self, int id, cb = None): # <<<<<<<<<<<<<<
33141 * """
33142 * Remove an entry from the medialib.
33143 */
33144
33145 /* function exit code */
33146 __pyx_L1_error:;
33147 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
33148 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
33149 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
33150 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_remove_entry", __pyx_clineno, __pyx_lineno, __pyx_filename);
33151 __pyx_r = 0;
33152 __pyx_L0:;
33153 __Pyx_XGIVEREF((PyObject *)__pyx_r);
33154 __Pyx_RefNannyFinishContext();
33155 return __pyx_r;
33156}
33157
33158/* Python wrapper */
33159static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_109medialib_remove_entry(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
33160static char __pyx_doc_7xmmsapi_7XmmsApi_108medialib_remove_entry[] = "XmmsApi.medialib_remove_entry(self, int id, cb=None) -> XmmsResult\n\n\t\tRemove an entry from the medialib.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
33161static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_109medialib_remove_entry(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
33162 int __pyx_v_id;
33163 PyObject *__pyx_v_cb = 0;
33164 int __pyx_lineno = 0;
33165 const char *__pyx_filename = NULL((void*)0);
33166 int __pyx_clineno = 0;
33167 PyObject *__pyx_r = 0;
33168 __Pyx_RefNannyDeclarations
33169 __Pyx_RefNannySetupContext("medialib_remove_entry (wrapper)", 0);
33170 {
33171 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_id,&__pyx_n_s_cb,0};
33172 PyObject* values[2] = {0,0};
33173 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
33174 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
33175 Py_ssize_t kw_args;
33176 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
33177 switch (pos_args) {
33178 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
33179 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
33180 case 0: break;
33181 default: goto __pyx_L5_argtuple_error;
33182 }
33183 kw_args = PyDict_Size(__pyx_kwds);
33184 switch (pos_args) {
33185 case 0:
33186 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_id)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_id
)) != 0), 1)
) kw_args--;
33187 else goto __pyx_L5_argtuple_error;
33188 case 1:
33189 if (kw_args > 0) {
33190 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
33191 if (value) { values[1] = value; kw_args--; }
33192 }
33193 }
33194 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
33195 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "medialib_remove_entry") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "medialib_remove_entry") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1612; __pyx_clineno = __LINE__33195; goto __pyx_L3_error;}
33196 }
33197 } else {
33198 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
33199 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
33200 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
33201 break;
33202 default: goto __pyx_L5_argtuple_error;
33203 }
33204 }
33205 __pyx_v_id = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_id == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_id == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1612; __pyx_clineno = __LINE__33205; goto __pyx_L3_error;}
33206 __pyx_v_cb = values[1];
33207 }
33208 goto __pyx_L4_argument_unpacking_done;
33209 __pyx_L5_argtuple_error:;
33210 __Pyx_RaiseArgtupleInvalid("medialib_remove_entry", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1612; __pyx_clineno = __LINE__33210; goto __pyx_L3_error;}
33211 __pyx_L3_error:;
33212 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_remove_entry", __pyx_clineno, __pyx_lineno, __pyx_filename);
33213 __Pyx_RefNannyFinishContext();
33214 return NULL((void*)0);
33215 __pyx_L4_argument_unpacking_done:;
33216 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_108medialib_remove_entry(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_id, __pyx_v_cb);
33217
33218 /* function exit code */
33219 __Pyx_RefNannyFinishContext();
33220 return __pyx_r;
33221}
33222
33223static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_108medialib_remove_entry(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_id, PyObject *__pyx_v_cb) {
33224 PyObject *__pyx_r = NULL((void*)0);
33225 __Pyx_RefNannyDeclarations
33226 PyObject *__pyx_t_1 = NULL((void*)0);
33227 struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_remove_entry __pyx_t_2;
33228 int __pyx_lineno = 0;
33229 const char *__pyx_filename = NULL((void*)0);
33230 int __pyx_clineno = 0;
33231 __Pyx_RefNannySetupContext("medialib_remove_entry", 0);
33232 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
33233 __pyx_t_2.__pyx_n = 1;
33234 __pyx_t_2.cb = __pyx_v_cb;
33235 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->medialib_remove_entry(__pyx_v_self, __pyx_v_id, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1612; __pyx_clineno = __LINE__33235; goto __pyx_L1_error;}
33236 __Pyx_GOTREF(__pyx_t_1);
33237 __pyx_r = __pyx_t_1;
33238 __pyx_t_1 = 0;
33239 goto __pyx_L0;
33240
33241 /* function exit code */
33242 __pyx_L1_error:;
33243 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
33244 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_remove_entry", __pyx_clineno, __pyx_lineno, __pyx_filename);
33245 __pyx_r = NULL((void*)0);
33246 __pyx_L0:;
33247 __Pyx_XGIVEREF(__pyx_r);
33248 __Pyx_RefNannyFinishContext();
33249 return __pyx_r;
33250}
33251
33252/* "xmmsapi.pyx":1620
33253 * return self.create_result(cb, xmmsc_medialib_remove_entry(self.conn, id))
33254 *
33255 * cpdef XmmsResult medialib_move_entry(self, int id, url, cb = None, encoded = False): # <<<<<<<<<<<<<<
33256 * """
33257 * Set a new url for an entry in the medialib.
33258 */
33259
33260static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_111medialib_move_entry(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
33261static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_medialib_move_entry(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_id, PyObject *__pyx_v_url, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_move_entry *__pyx_optional_args) {
33262 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
33263 PyObject *__pyx_v_encoded = ((PyObject *)Py_False((PyObject *) &_Py_ZeroStruct));
33264 PyObject *__pyx_v_unquote_plus = NULL((void*)0);
33265 PyObject *__pyx_v_u = NULL((void*)0);
33266 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
33267 __Pyx_RefNannyDeclarations
33268 PyObject *__pyx_t_1 = NULL((void*)0);
33269 PyObject *__pyx_t_2 = NULL((void*)0);
33270 PyObject *__pyx_t_3 = NULL((void*)0);
33271 int __pyx_t_4;
33272 PyObject *__pyx_t_5 = NULL((void*)0);
33273 PyObject *__pyx_t_6 = NULL((void*)0);
33274 PyObject *__pyx_t_7 = NULL((void*)0);
33275 int __pyx_t_8;
33276 PyObject *__pyx_t_9 = NULL((void*)0);
33277 PyObject *__pyx_t_10 = NULL((void*)0);
33278 char *__pyx_t_11;
33279 int __pyx_lineno = 0;
33280 const char *__pyx_filename = NULL((void*)0);
33281 int __pyx_clineno = 0;
33282 __Pyx_RefNannySetupContext("medialib_move_entry", 0);
33283 if (__pyx_optional_args) {
33284 if (__pyx_optional_args->__pyx_n > 0) {
33285 __pyx_v_cb = __pyx_optional_args->cb;
33286 if (__pyx_optional_args->__pyx_n > 1) {
33287 __pyx_v_encoded = __pyx_optional_args->encoded;
33288 }
33289 }
33290 }
33291 __Pyx_INCREF(__pyx_v_url)( ((PyObject*)(__pyx_v_url))->ob_refcnt++);
33292 /* Check if called by wrapper */
33293 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
33294 /* Check if overridden in Python */
33295 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
33296 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_medialib_move_entry); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1620; __pyx_clineno = __LINE__33296; goto __pyx_L1_error;}
33297 __Pyx_GOTREF(__pyx_t_1);
33298 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_111medialib_move_entry)) {
33299 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
33300 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_id); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1620; __pyx_clineno = __LINE__33300; goto __pyx_L1_error;}
33301 __Pyx_GOTREF(__pyx_t_2);
33302 __pyx_t_3 = PyTuple_New(4); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1620; __pyx_clineno = __LINE__33302; goto __pyx_L1_error;}
33303 __Pyx_GOTREF(__pyx_t_3);
33304 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
33305 __Pyx_GIVEREF(__pyx_t_2);
33306 __Pyx_INCREF(__pyx_v_url)( ((PyObject*)(__pyx_v_url))->ob_refcnt++);
33307 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_url)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_url);
33308 __Pyx_GIVEREF(__pyx_v_url);
33309 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
33310 PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_3))->ob_item[2] = __pyx_v_cb);
33311 __Pyx_GIVEREF(__pyx_v_cb);
33312 __Pyx_INCREF(__pyx_v_encoded)( ((PyObject*)(__pyx_v_encoded))->ob_refcnt++);
33313 PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_v_encoded)(((PyTupleObject *)(__pyx_t_3))->ob_item[3] = __pyx_v_encoded
)
;
33314 __Pyx_GIVEREF(__pyx_v_encoded);
33315 __pyx_t_2 = 0;
33316 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1620; __pyx_clineno = __LINE__33316; goto __pyx_L1_error;}
33317 __Pyx_GOTREF(__pyx_t_2);
33318 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
33319 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_2) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1620; __pyx_clineno = __LINE__33319; goto __pyx_L1_error;}
33320 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_2);
33321 __pyx_t_2 = 0;
33322 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
33323 goto __pyx_L0;
33324 }
33325 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
33326 }
33327
33328 /* "xmmsapi.pyx":1626
33329 * @return The result of the operation.
33330 * """
33331 * if encoded: # <<<<<<<<<<<<<<
33332 * try:
33333 * from urllib import unquote_plus
33334 */
33335 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_encoded); if (unlikely(__pyx_t_4 < 0)__builtin_expect(!!(__pyx_t_4 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1626; __pyx_clineno = __LINE__33335; goto __pyx_L1_error;}
33336 if (__pyx_t_4) {
33337
33338 /* "xmmsapi.pyx":1627
33339 * """
33340 * if encoded:
33341 * try: # <<<<<<<<<<<<<<
33342 * from urllib import unquote_plus
33343 * except ImportError: #Py3k
33344 */
33345 {
33346 __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
33347 __Pyx_XGOTREF(__pyx_t_5);
33348 __Pyx_XGOTREF(__pyx_t_6);
33349 __Pyx_XGOTREF(__pyx_t_7);
33350 /*try:*/ {
33351
33352 /* "xmmsapi.pyx":1628
33353 * if encoded:
33354 * try:
33355 * from urllib import unquote_plus # <<<<<<<<<<<<<<
33356 * except ImportError: #Py3k
33357 * from urllib.parse import unquote_plus
33358 */
33359 __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1628; __pyx_clineno = __LINE__33359; goto __pyx_L4_error;}
33360 __Pyx_GOTREF(__pyx_t_1);
33361 __Pyx_INCREF(__pyx_n_s_unquote_plus)( ((PyObject*)(__pyx_n_s_unquote_plus))->ob_refcnt++);
33362 PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_unquote_plus)(((PyListObject *)(__pyx_t_1))->ob_item[0] = (__pyx_n_s_unquote_plus
))
;
33363 __Pyx_GIVEREF(__pyx_n_s_unquote_plus);
33364 __pyx_t_2 = __Pyx_Import(__pyx_n_s_urllib, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1628; __pyx_clineno = __LINE__33364; goto __pyx_L4_error;}
33365 __Pyx_GOTREF(__pyx_t_2);
33366 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
33367 __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_unquote_plus); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1628; __pyx_clineno = __LINE__33367; goto __pyx_L4_error;}
33368 __Pyx_GOTREF(__pyx_t_1);
33369 __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++);
33370 __pyx_v_unquote_plus = __pyx_t_1;
33371 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
33372 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
33373 }
33374 __Pyx_XDECREF(__pyx_t_5)do { if ((__pyx_t_5) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_5))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_5)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_5)))); } while (0); } while (0)
; __pyx_t_5 = 0;
33375 __Pyx_XDECREF(__pyx_t_6)do { if ((__pyx_t_6) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_6))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_6)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_6)))); } while (0); } while (0)
; __pyx_t_6 = 0;
33376 __Pyx_XDECREF(__pyx_t_7)do { if ((__pyx_t_7) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_7))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_7)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_7)))); } while (0); } while (0)
; __pyx_t_7 = 0;
33377 goto __pyx_L11_try_end;
33378 __pyx_L4_error:;
33379 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
; __pyx_t_3 = 0;
33380 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
; __pyx_t_1 = 0;
33381 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
; __pyx_t_2 = 0;
33382
33383 /* "xmmsapi.pyx":1629
33384 * try:
33385 * from urllib import unquote_plus
33386 * except ImportError: #Py3k # <<<<<<<<<<<<<<
33387 * from urllib.parse import unquote_plus
33388 * url = unquote_plus(url)
33389 */
33390 __pyx_t_8 = PyErr_ExceptionMatches(__pyx_builtin_ImportError);
33391 if (__pyx_t_8) {
33392 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_move_entry", __pyx_clineno, __pyx_lineno, __pyx_filename);
33393 if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1629; __pyx_clineno = __LINE__33393; goto __pyx_L6_except_error;}
33394 __Pyx_GOTREF(__pyx_t_2);
33395 __Pyx_GOTREF(__pyx_t_1);
33396 __Pyx_GOTREF(__pyx_t_3);
33397
33398 /* "xmmsapi.pyx":1630
33399 * from urllib import unquote_plus
33400 * except ImportError: #Py3k
33401 * from urllib.parse import unquote_plus # <<<<<<<<<<<<<<
33402 * url = unquote_plus(url)
33403 * u = from_unicode(url)
33404 */
33405 __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)__builtin_expect(!!(!__pyx_t_9), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1630; __pyx_clineno = __LINE__33405; goto __pyx_L6_except_error;}
33406 __Pyx_GOTREF(__pyx_t_9);
33407 __Pyx_INCREF(__pyx_n_s_unquote_plus)( ((PyObject*)(__pyx_n_s_unquote_plus))->ob_refcnt++);
33408 PyList_SET_ITEM(__pyx_t_9, 0, __pyx_n_s_unquote_plus)(((PyListObject *)(__pyx_t_9))->ob_item[0] = (__pyx_n_s_unquote_plus
))
;
33409 __Pyx_GIVEREF(__pyx_n_s_unquote_plus);
33410 __pyx_t_10 = __Pyx_Import(__pyx_n_s_urllib_parse, __pyx_t_9, -1); if (unlikely(!__pyx_t_10)__builtin_expect(!!(!__pyx_t_10), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1630; __pyx_clineno = __LINE__33410; goto __pyx_L6_except_error;}
33411 __Pyx_GOTREF(__pyx_t_10);
33412 __Pyx_DECREF(__pyx_t_9)do { if ( --((PyObject*)(__pyx_t_9))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_9)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_9)))); } while (
0)
; __pyx_t_9 = 0;
33413 __pyx_t_9 = __Pyx_ImportFrom(__pyx_t_10, __pyx_n_s_unquote_plus); if (unlikely(!__pyx_t_9)__builtin_expect(!!(!__pyx_t_9), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1630; __pyx_clineno = __LINE__33413; goto __pyx_L6_except_error;}
33414 __Pyx_GOTREF(__pyx_t_9);
33415 __Pyx_INCREF(__pyx_t_9)( ((PyObject*)(__pyx_t_9))->ob_refcnt++);
33416 __Pyx_XDECREF_SET(__pyx_v_unquote_plus, __pyx_t_9)do { PyObject *tmp = (PyObject *) __pyx_v_unquote_plus; __pyx_v_unquote_plus
= __pyx_t_9; do { if ((tmp) == ((void*)0)) ; else do { if ( --
((PyObject*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject
*)((PyObject *)(tmp)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(tmp)))); } while (0); } while (0); } while (
0)
;
33417 __Pyx_DECREF(__pyx_t_9)do { if ( --((PyObject*)(__pyx_t_9))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_9)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_9)))); } while (
0)
; __pyx_t_9 = 0;
33418 __Pyx_DECREF(__pyx_t_10)do { if ( --((PyObject*)(__pyx_t_10))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_10)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_10)))); } while
(0)
; __pyx_t_10 = 0;
33419 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
33420 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
33421 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
33422 goto __pyx_L5_exception_handled;
33423 }
33424 goto __pyx_L6_except_error;
33425 __pyx_L6_except_error:;
33426 __Pyx_XGIVEREF(__pyx_t_5);
33427 __Pyx_XGIVEREF(__pyx_t_6);
33428 __Pyx_XGIVEREF(__pyx_t_7);
33429 __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
33430 goto __pyx_L1_error;
33431 __pyx_L5_exception_handled:;
33432 __Pyx_XGIVEREF(__pyx_t_5);
33433 __Pyx_XGIVEREF(__pyx_t_6);
33434 __Pyx_XGIVEREF(__pyx_t_7);
33435 __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
33436 __pyx_L11_try_end:;
33437 }
33438
33439 /* "xmmsapi.pyx":1631
33440 * except ImportError: #Py3k
33441 * from urllib.parse import unquote_plus
33442 * url = unquote_plus(url) # <<<<<<<<<<<<<<
33443 * u = from_unicode(url)
33444 * return self.create_result(cb, xmmsc_medialib_move_entry(self.conn, id, <char *>u))
33445 */
33446 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1631; __pyx_clineno = __LINE__33446; goto __pyx_L1_error;}
33447 __Pyx_GOTREF(__pyx_t_3);
33448 __Pyx_INCREF(__pyx_v_url)( ((PyObject*)(__pyx_v_url))->ob_refcnt++);
33449 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_url)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_v_url);
33450 __Pyx_GIVEREF(__pyx_v_url);
33451 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_v_unquote_plus, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1631; __pyx_clineno = __LINE__33451; goto __pyx_L1_error;}
33452 __Pyx_GOTREF(__pyx_t_1);
33453 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
33454 __Pyx_DECREF_SET(__pyx_v_url, __pyx_t_1)do { PyObject *tmp = (PyObject *) __pyx_v_url; __pyx_v_url = __pyx_t_1
; do { if ( --((PyObject*)(tmp))->ob_refcnt != 0) ; else (
(*(((PyObject*)((PyObject *)(tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(tmp)))); } while (0); } while (0)
;
33455 __pyx_t_1 = 0;
33456 goto __pyx_L3;
33457 }
33458 __pyx_L3:;
33459
33460 /* "xmmsapi.pyx":1632
33461 * from urllib.parse import unquote_plus
33462 * url = unquote_plus(url)
33463 * u = from_unicode(url) # <<<<<<<<<<<<<<
33464 * return self.create_result(cb, xmmsc_medialib_move_entry(self.conn, id, <char *>u))
33465 *
33466 */
33467 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_url); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1632; __pyx_clineno = __LINE__33467; goto __pyx_L1_error;}
33468 __Pyx_GOTREF(__pyx_t_1);
33469 __pyx_v_u = __pyx_t_1;
33470 __pyx_t_1 = 0;
33471
33472 /* "xmmsapi.pyx":1633
33473 * url = unquote_plus(url)
33474 * u = from_unicode(url)
33475 * return self.create_result(cb, xmmsc_medialib_move_entry(self.conn, id, <char *>u)) # <<<<<<<<<<<<<<
33476 *
33477 * cpdef XmmsResult medialib_get_info(self, int id, cb = None):
33478 */
33479 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
33480 __pyx_t_11 = __Pyx_PyObject_AsString(__pyx_v_u); if (unlikely((!__pyx_t_11) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_11) && PyErr_Occurred()
), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1633; __pyx_clineno = __LINE__33480; goto __pyx_L1_error;}
33481 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_medialib_move_entry(__pyx_v_self->__pyx_base.conn, __pyx_v_id, ((char *)__pyx_t_11)))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1633; __pyx_clineno = __LINE__33481; goto __pyx_L1_error;}
33482 __Pyx_GOTREF(__pyx_t_1);
33483 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
33484 __pyx_t_1 = 0;
33485 goto __pyx_L0;
33486
33487 /* "xmmsapi.pyx":1620
33488 * return self.create_result(cb, xmmsc_medialib_remove_entry(self.conn, id))
33489 *
33490 * cpdef XmmsResult medialib_move_entry(self, int id, url, cb = None, encoded = False): # <<<<<<<<<<<<<<
33491 * """
33492 * Set a new url for an entry in the medialib.
33493 */
33494
33495 /* function exit code */
33496 __pyx_L1_error:;
33497 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
33498 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
33499 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
33500 __Pyx_XDECREF(__pyx_t_9)do { if ((__pyx_t_9) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_9))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_9)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_9)))); } while (0); } while (0)
;
33501 __Pyx_XDECREF(__pyx_t_10)do { if ((__pyx_t_10) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_10))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_t_10)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_10)))); } while (0); } while (0)
;
33502 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_move_entry", __pyx_clineno, __pyx_lineno, __pyx_filename);
33503 __pyx_r = 0;
33504 __pyx_L0:;
33505 __Pyx_XDECREF(__pyx_v_unquote_plus)do { if ((__pyx_v_unquote_plus) == ((void*)0)) ; else do { if
( --((PyObject*)(__pyx_v_unquote_plus))->ob_refcnt != 0) ;
else ( (*(((PyObject*)((PyObject *)(__pyx_v_unquote_plus)))->
ob_type)->tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_unquote_plus
)))); } while (0); } while (0)
;
33506 __Pyx_XDECREF(__pyx_v_u)do { if ((__pyx_v_u) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_u))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_u)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_u)))); } while (0); } while (0)
;
33507 __Pyx_XDECREF(__pyx_v_url)do { if ((__pyx_v_url) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_url))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(__pyx_v_url)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_url)))); } while (0); } while (0)
;
33508 __Pyx_XGIVEREF((PyObject *)__pyx_r);
33509 __Pyx_RefNannyFinishContext();
33510 return __pyx_r;
33511}
33512
33513/* Python wrapper */
33514static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_111medialib_move_entry(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
33515static char __pyx_doc_7xmmsapi_7XmmsApi_110medialib_move_entry[] = "XmmsApi.medialib_move_entry(self, int id, url, cb=None, encoded=False) -> XmmsResult\n\n\t\tSet a new url for an entry in the medialib.\n\t\t@rtype: L{XmmsResult}\n\t\t@return The result of the operation.\n\t\t";
33516static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_111medialib_move_entry(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
33517 int __pyx_v_id;
33518 PyObject *__pyx_v_url = 0;
33519 PyObject *__pyx_v_cb = 0;
33520 PyObject *__pyx_v_encoded = 0;
33521 int __pyx_lineno = 0;
33522 const char *__pyx_filename = NULL((void*)0);
33523 int __pyx_clineno = 0;
33524 PyObject *__pyx_r = 0;
33525 __Pyx_RefNannyDeclarations
33526 __Pyx_RefNannySetupContext("medialib_move_entry (wrapper)", 0);
33527 {
33528 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_id,&__pyx_n_s_url,&__pyx_n_s_cb,&__pyx_n_s_encoded,0};
33529 PyObject* values[4] = {0,0,0,0};
33530 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
33531 values[3] = ((PyObject *)Py_False((PyObject *) &_Py_ZeroStruct));
33532 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
33533 Py_ssize_t kw_args;
33534 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
33535 switch (pos_args) {
33536 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
33537 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
33538 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
33539 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
33540 case 0: break;
33541 default: goto __pyx_L5_argtuple_error;
33542 }
33543 kw_args = PyDict_Size(__pyx_kwds);
33544 switch (pos_args) {
33545 case 0:
33546 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_id)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_id
)) != 0), 1)
) kw_args--;
33547 else goto __pyx_L5_argtuple_error;
33548 case 1:
33549 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_url)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_url
)) != 0), 1)
) kw_args--;
33550 else {
33551 __Pyx_RaiseArgtupleInvalid("medialib_move_entry", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1620; __pyx_clineno = __LINE__33551; goto __pyx_L3_error;}
33552 }
33553 case 2:
33554 if (kw_args > 0) {
33555 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
33556 if (value) { values[2] = value; kw_args--; }
33557 }
33558 case 3:
33559 if (kw_args > 0) {
33560 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_encoded);
33561 if (value) { values[3] = value; kw_args--; }
33562 }
33563 }
33564 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
33565 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "medialib_move_entry") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "medialib_move_entry") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1620; __pyx_clineno = __LINE__33565; goto __pyx_L3_error;}
33566 }
33567 } else {
33568 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
33569 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
33570 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
33571 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
33572 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
33573 break;
33574 default: goto __pyx_L5_argtuple_error;
33575 }
33576 }
33577 __pyx_v_id = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_id == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_id == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1620; __pyx_clineno = __LINE__33577; goto __pyx_L3_error;}
33578 __pyx_v_url = values[1];
33579 __pyx_v_cb = values[2];
33580 __pyx_v_encoded = values[3];
33581 }
33582 goto __pyx_L4_argument_unpacking_done;
33583 __pyx_L5_argtuple_error:;
33584 __Pyx_RaiseArgtupleInvalid("medialib_move_entry", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1620; __pyx_clineno = __LINE__33584; goto __pyx_L3_error;}
33585 __pyx_L3_error:;
33586 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_move_entry", __pyx_clineno, __pyx_lineno, __pyx_filename);
33587 __Pyx_RefNannyFinishContext();
33588 return NULL((void*)0);
33589 __pyx_L4_argument_unpacking_done:;
33590 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_110medialib_move_entry(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_id, __pyx_v_url, __pyx_v_cb, __pyx_v_encoded);
33591
33592 /* function exit code */
33593 __Pyx_RefNannyFinishContext();
33594 return __pyx_r;
33595}
33596
33597static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_110medialib_move_entry(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_id, PyObject *__pyx_v_url, PyObject *__pyx_v_cb, PyObject *__pyx_v_encoded) {
33598 PyObject *__pyx_r = NULL((void*)0);
33599 __Pyx_RefNannyDeclarations
33600 PyObject *__pyx_t_1 = NULL((void*)0);
33601 struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_move_entry __pyx_t_2;
33602 int __pyx_lineno = 0;
33603 const char *__pyx_filename = NULL((void*)0);
33604 int __pyx_clineno = 0;
33605 __Pyx_RefNannySetupContext("medialib_move_entry", 0);
33606 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
33607 __pyx_t_2.__pyx_n = 2;
33608 __pyx_t_2.cb = __pyx_v_cb;
33609 __pyx_t_2.encoded = __pyx_v_encoded;
33610 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->medialib_move_entry(__pyx_v_self, __pyx_v_id, __pyx_v_url, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1620; __pyx_clineno = __LINE__33610; goto __pyx_L1_error;}
33611 __Pyx_GOTREF(__pyx_t_1);
33612 __pyx_r = __pyx_t_1;
33613 __pyx_t_1 = 0;
33614 goto __pyx_L0;
33615
33616 /* function exit code */
33617 __pyx_L1_error:;
33618 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
33619 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_move_entry", __pyx_clineno, __pyx_lineno, __pyx_filename);
33620 __pyx_r = NULL((void*)0);
33621 __pyx_L0:;
33622 __Pyx_XGIVEREF(__pyx_r);
33623 __Pyx_RefNannyFinishContext();
33624 return __pyx_r;
33625}
33626
33627/* "xmmsapi.pyx":1635
33628 * return self.create_result(cb, xmmsc_medialib_move_entry(self.conn, id, <char *>u))
33629 *
33630 * cpdef XmmsResult medialib_get_info(self, int id, cb = None): # <<<<<<<<<<<<<<
33631 * """
33632 * @rtype: L{XmmsResult}(HashTable)
33633 */
33634
33635static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_113medialib_get_info(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
33636static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_medialib_get_info(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_id, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_get_info *__pyx_optional_args) {
33637 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
33638 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_res = 0;
33639 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
33640 __Pyx_RefNannyDeclarations
33641 PyObject *__pyx_t_1 = NULL((void*)0);
33642 PyObject *__pyx_t_2 = NULL((void*)0);
33643 PyObject *__pyx_t_3 = NULL((void*)0);
33644 int __pyx_lineno = 0;
33645 const char *__pyx_filename = NULL((void*)0);
33646 int __pyx_clineno = 0;
33647 __Pyx_RefNannySetupContext("medialib_get_info", 0);
33648 if (__pyx_optional_args) {
33649 if (__pyx_optional_args->__pyx_n > 0) {
33650 __pyx_v_cb = __pyx_optional_args->cb;
33651 }
33652 }
33653 /* Check if called by wrapper */
33654 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
33655 /* Check if overridden in Python */
33656 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
33657 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_medialib_get_info); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1635; __pyx_clineno = __LINE__33657; goto __pyx_L1_error;}
33658 __Pyx_GOTREF(__pyx_t_1);
33659 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_113medialib_get_info)) {
33660 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
33661 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_id); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1635; __pyx_clineno = __LINE__33661; goto __pyx_L1_error;}
33662 __Pyx_GOTREF(__pyx_t_2);
33663 __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1635; __pyx_clineno = __LINE__33663; goto __pyx_L1_error;}
33664 __Pyx_GOTREF(__pyx_t_3);
33665 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
33666 __Pyx_GIVEREF(__pyx_t_2);
33667 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
33668 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_cb);
33669 __Pyx_GIVEREF(__pyx_v_cb);
33670 __pyx_t_2 = 0;
33671 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1635; __pyx_clineno = __LINE__33671; goto __pyx_L1_error;}
33672 __Pyx_GOTREF(__pyx_t_2);
33673 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
33674 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_2) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1635; __pyx_clineno = __LINE__33674; goto __pyx_L1_error;}
33675 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_2);
33676 __pyx_t_2 = 0;
33677 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
33678 goto __pyx_L0;
33679 }
33680 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
33681 }
33682
33683 /* "xmmsapi.pyx":1642
33684 * """
33685 * cdef XmmsResult res
33686 * res = self.create_result(cb, xmmsc_medialib_get_info(self.conn, id)) # <<<<<<<<<<<<<<
33687 * res.ispropdict = 1
33688 * return res
33689 */
33690 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_medialib_get_info(__pyx_v_self->__pyx_base.conn, __pyx_v_id))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1642; __pyx_clineno = __LINE__33690; goto __pyx_L1_error;}
33691 __Pyx_GOTREF(__pyx_t_1);
33692 __pyx_v_res = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
33693 __pyx_t_1 = 0;
33694
33695 /* "xmmsapi.pyx":1643
33696 * cdef XmmsResult res
33697 * res = self.create_result(cb, xmmsc_medialib_get_info(self.conn, id))
33698 * res.ispropdict = 1 # <<<<<<<<<<<<<<
33699 * return res
33700 *
33701 */
33702 __pyx_v_res->ispropdict = 1;
33703
33704 /* "xmmsapi.pyx":1644
33705 * res = self.create_result(cb, xmmsc_medialib_get_info(self.conn, id))
33706 * res.ispropdict = 1
33707 * return res # <<<<<<<<<<<<<<
33708 *
33709 * cpdef XmmsResult medialib_rehash(self, int id = 0, cb = None):
33710 */
33711 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
33712 __Pyx_INCREF(((PyObject *)__pyx_v_res))( ((PyObject*)(((PyObject *)__pyx_v_res)))->ob_refcnt++);
33713 __pyx_r = __pyx_v_res;
33714 goto __pyx_L0;
33715
33716 /* "xmmsapi.pyx":1635
33717 * return self.create_result(cb, xmmsc_medialib_move_entry(self.conn, id, <char *>u))
33718 *
33719 * cpdef XmmsResult medialib_get_info(self, int id, cb = None): # <<<<<<<<<<<<<<
33720 * """
33721 * @rtype: L{XmmsResult}(HashTable)
33722 */
33723
33724 /* function exit code */
33725 __pyx_L1_error:;
33726 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
33727 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
33728 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
33729 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_get_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
33730 __pyx_r = 0;
33731 __pyx_L0:;
33732 __Pyx_XDECREF((PyObject *)__pyx_v_res)do { if (((PyObject *)__pyx_v_res) == ((void*)0)) ; else do {
if ( --((PyObject*)((PyObject *)__pyx_v_res))->ob_refcnt !=
0) ; else ( (*(((PyObject*)((PyObject *)((PyObject *)__pyx_v_res
)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)((PyObject
*)__pyx_v_res)))); } while (0); } while (0)
;
33733 __Pyx_XGIVEREF((PyObject *)__pyx_r);
33734 __Pyx_RefNannyFinishContext();
33735 return __pyx_r;
33736}
33737
33738/* Python wrapper */
33739static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_113medialib_get_info(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
33740static char __pyx_doc_7xmmsapi_7XmmsApi_112medialib_get_info[] = "XmmsApi.medialib_get_info(self, int id, cb=None) -> XmmsResult\n\n\t\t@rtype: L{XmmsResult}(HashTable)\n\t\t@return: Information about the medialib entry position\n\t\tspecified.\n\t\t";
33741static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_113medialib_get_info(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
33742 int __pyx_v_id;
33743 PyObject *__pyx_v_cb = 0;
33744 int __pyx_lineno = 0;
33745 const char *__pyx_filename = NULL((void*)0);
33746 int __pyx_clineno = 0;
33747 PyObject *__pyx_r = 0;
33748 __Pyx_RefNannyDeclarations
33749 __Pyx_RefNannySetupContext("medialib_get_info (wrapper)", 0);
33750 {
33751 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_id,&__pyx_n_s_cb,0};
33752 PyObject* values[2] = {0,0};
33753 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
33754 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
33755 Py_ssize_t kw_args;
33756 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
33757 switch (pos_args) {
33758 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
33759 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
33760 case 0: break;
33761 default: goto __pyx_L5_argtuple_error;
33762 }
33763 kw_args = PyDict_Size(__pyx_kwds);
33764 switch (pos_args) {
33765 case 0:
33766 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_id)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_id
)) != 0), 1)
) kw_args--;
33767 else goto __pyx_L5_argtuple_error;
33768 case 1:
33769 if (kw_args > 0) {
33770 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
33771 if (value) { values[1] = value; kw_args--; }
33772 }
33773 }
33774 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
33775 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "medialib_get_info") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "medialib_get_info") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1635; __pyx_clineno = __LINE__33775; goto __pyx_L3_error;}
33776 }
33777 } else {
33778 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
33779 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
33780 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
33781 break;
33782 default: goto __pyx_L5_argtuple_error;
33783 }
33784 }
33785 __pyx_v_id = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_id == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_id == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1635; __pyx_clineno = __LINE__33785; goto __pyx_L3_error;}
33786 __pyx_v_cb = values[1];
33787 }
33788 goto __pyx_L4_argument_unpacking_done;
33789 __pyx_L5_argtuple_error:;
33790 __Pyx_RaiseArgtupleInvalid("medialib_get_info", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1635; __pyx_clineno = __LINE__33790; goto __pyx_L3_error;}
33791 __pyx_L3_error:;
33792 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_get_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
33793 __Pyx_RefNannyFinishContext();
33794 return NULL((void*)0);
33795 __pyx_L4_argument_unpacking_done:;
33796 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_112medialib_get_info(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_id, __pyx_v_cb);
33797
33798 /* function exit code */
33799 __Pyx_RefNannyFinishContext();
33800 return __pyx_r;
33801}
33802
33803static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_112medialib_get_info(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_id, PyObject *__pyx_v_cb) {
33804 PyObject *__pyx_r = NULL((void*)0);
33805 __Pyx_RefNannyDeclarations
33806 PyObject *__pyx_t_1 = NULL((void*)0);
33807 struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_get_info __pyx_t_2;
33808 int __pyx_lineno = 0;
33809 const char *__pyx_filename = NULL((void*)0);
33810 int __pyx_clineno = 0;
33811 __Pyx_RefNannySetupContext("medialib_get_info", 0);
33812 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
33813 __pyx_t_2.__pyx_n = 1;
33814 __pyx_t_2.cb = __pyx_v_cb;
33815 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->medialib_get_info(__pyx_v_self, __pyx_v_id, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1635; __pyx_clineno = __LINE__33815; goto __pyx_L1_error;}
33816 __Pyx_GOTREF(__pyx_t_1);
33817 __pyx_r = __pyx_t_1;
33818 __pyx_t_1 = 0;
33819 goto __pyx_L0;
33820
33821 /* function exit code */
33822 __pyx_L1_error:;
33823 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
33824 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_get_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
33825 __pyx_r = NULL((void*)0);
33826 __pyx_L0:;
33827 __Pyx_XGIVEREF(__pyx_r);
33828 __Pyx_RefNannyFinishContext();
33829 return __pyx_r;
33830}
33831
33832/* "xmmsapi.pyx":1646
33833 * return res
33834 *
33835 * cpdef XmmsResult medialib_rehash(self, int id = 0, cb = None): # <<<<<<<<<<<<<<
33836 * """
33837 * Force the medialib to check that metadata stored is up to
33838 */
33839
33840static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_115medialib_rehash(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
33841static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_medialib_rehash(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_rehash *__pyx_optional_args) {
33842 int __pyx_v_id = ((int)0);
33843 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
33844 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
33845 __Pyx_RefNannyDeclarations
33846 PyObject *__pyx_t_1 = NULL((void*)0);
33847 PyObject *__pyx_t_2 = NULL((void*)0);
33848 PyObject *__pyx_t_3 = NULL((void*)0);
33849 int __pyx_lineno = 0;
33850 const char *__pyx_filename = NULL((void*)0);
33851 int __pyx_clineno = 0;
33852 __Pyx_RefNannySetupContext("medialib_rehash", 0);
33853 if (__pyx_optional_args) {
33854 if (__pyx_optional_args->__pyx_n > 0) {
33855 __pyx_v_id = __pyx_optional_args->id;
33856 if (__pyx_optional_args->__pyx_n > 1) {
33857 __pyx_v_cb = __pyx_optional_args->cb;
33858 }
33859 }
33860 }
33861 /* Check if called by wrapper */
33862 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
33863 /* Check if overridden in Python */
33864 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
33865 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_medialib_rehash); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1646; __pyx_clineno = __LINE__33865; goto __pyx_L1_error;}
33866 __Pyx_GOTREF(__pyx_t_1);
33867 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_115medialib_rehash)) {
33868 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
33869 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_id); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1646; __pyx_clineno = __LINE__33869; goto __pyx_L1_error;}
33870 __Pyx_GOTREF(__pyx_t_2);
33871 __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1646; __pyx_clineno = __LINE__33871; goto __pyx_L1_error;}
33872 __Pyx_GOTREF(__pyx_t_3);
33873 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
33874 __Pyx_GIVEREF(__pyx_t_2);
33875 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
33876 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_cb);
33877 __Pyx_GIVEREF(__pyx_v_cb);
33878 __pyx_t_2 = 0;
33879 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1646; __pyx_clineno = __LINE__33879; goto __pyx_L1_error;}
33880 __Pyx_GOTREF(__pyx_t_2);
33881 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
33882 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_2) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1646; __pyx_clineno = __LINE__33882; goto __pyx_L1_error;}
33883 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_2);
33884 __pyx_t_2 = 0;
33885 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
33886 goto __pyx_L0;
33887 }
33888 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
33889 }
33890
33891 /* "xmmsapi.pyx":1653
33892 * @return: The result of the operation.
33893 * """
33894 * return self.create_result(cb, xmmsc_medialib_rehash(self.conn, id)) # <<<<<<<<<<<<<<
33895 *
33896 * cpdef XmmsResult medialib_get_id(self, url, cb = None, encoded = False):
33897 */
33898 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
33899 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_medialib_rehash(__pyx_v_self->__pyx_base.conn, __pyx_v_id))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1653; __pyx_clineno = __LINE__33899; goto __pyx_L1_error;}
33900 __Pyx_GOTREF(__pyx_t_1);
33901 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
33902 __pyx_t_1 = 0;
33903 goto __pyx_L0;
33904
33905 /* "xmmsapi.pyx":1646
33906 * return res
33907 *
33908 * cpdef XmmsResult medialib_rehash(self, int id = 0, cb = None): # <<<<<<<<<<<<<<
33909 * """
33910 * Force the medialib to check that metadata stored is up to
33911 */
33912
33913 /* function exit code */
33914 __pyx_L1_error:;
33915 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
33916 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
33917 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
33918 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_rehash", __pyx_clineno, __pyx_lineno, __pyx_filename);
33919 __pyx_r = 0;
33920 __pyx_L0:;
33921 __Pyx_XGIVEREF((PyObject *)__pyx_r);
33922 __Pyx_RefNannyFinishContext();
33923 return __pyx_r;
33924}
33925
33926/* Python wrapper */
33927static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_115medialib_rehash(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
33928static char __pyx_doc_7xmmsapi_7XmmsApi_114medialib_rehash[] = "XmmsApi.medialib_rehash(self, int id=0, cb=None) -> XmmsResult\n\n\t\tForce the medialib to check that metadata stored is up to\n\t\tdate.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
33929static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_115medialib_rehash(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
33930 int __pyx_v_id;
33931 PyObject *__pyx_v_cb = 0;
33932 int __pyx_lineno = 0;
33933 const char *__pyx_filename = NULL((void*)0);
33934 int __pyx_clineno = 0;
33935 PyObject *__pyx_r = 0;
33936 __Pyx_RefNannyDeclarations
33937 __Pyx_RefNannySetupContext("medialib_rehash (wrapper)", 0);
33938 {
33939 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_id,&__pyx_n_s_cb,0};
33940 PyObject* values[2] = {0,0};
33941 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
33942 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
33943 Py_ssize_t kw_args;
33944 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
33945 switch (pos_args) {
33946 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
33947 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
33948 case 0: break;
33949 default: goto __pyx_L5_argtuple_error;
33950 }
33951 kw_args = PyDict_Size(__pyx_kwds);
33952 switch (pos_args) {
33953 case 0:
33954 if (kw_args > 0) {
33955 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_id);
33956 if (value) { values[0] = value; kw_args--; }
33957 }
33958 case 1:
33959 if (kw_args > 0) {
33960 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
33961 if (value) { values[1] = value; kw_args--; }
33962 }
33963 }
33964 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
33965 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "medialib_rehash") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "medialib_rehash") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1646; __pyx_clineno = __LINE__33965; goto __pyx_L3_error;}
33966 }
33967 } else {
33968 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
33969 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
33970 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
33971 case 0: break;
33972 default: goto __pyx_L5_argtuple_error;
33973 }
33974 }
33975 if (values[0]) {
33976 __pyx_v_id = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_id == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_id == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1646; __pyx_clineno = __LINE__33976; goto __pyx_L3_error;}
33977 } else {
33978 __pyx_v_id = ((int)0);
33979 }
33980 __pyx_v_cb = values[1];
33981 }
33982 goto __pyx_L4_argument_unpacking_done;
33983 __pyx_L5_argtuple_error:;
33984 __Pyx_RaiseArgtupleInvalid("medialib_rehash", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1646; __pyx_clineno = __LINE__33984; goto __pyx_L3_error;}
33985 __pyx_L3_error:;
33986 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_rehash", __pyx_clineno, __pyx_lineno, __pyx_filename);
33987 __Pyx_RefNannyFinishContext();
33988 return NULL((void*)0);
33989 __pyx_L4_argument_unpacking_done:;
33990 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_114medialib_rehash(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_id, __pyx_v_cb);
33991
33992 /* function exit code */
33993 __Pyx_RefNannyFinishContext();
33994 return __pyx_r;
33995}
33996
33997static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_114medialib_rehash(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_id, PyObject *__pyx_v_cb) {
33998 PyObject *__pyx_r = NULL((void*)0);
33999 __Pyx_RefNannyDeclarations
34000 PyObject *__pyx_t_1 = NULL((void*)0);
34001 struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_rehash __pyx_t_2;
34002 int __pyx_lineno = 0;
34003 const char *__pyx_filename = NULL((void*)0);
34004 int __pyx_clineno = 0;
34005 __Pyx_RefNannySetupContext("medialib_rehash", 0);
34006 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
34007 __pyx_t_2.__pyx_n = 2;
34008 __pyx_t_2.id = __pyx_v_id;
34009 __pyx_t_2.cb = __pyx_v_cb;
34010 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->medialib_rehash(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1646; __pyx_clineno = __LINE__34010; goto __pyx_L1_error;}
34011 __Pyx_GOTREF(__pyx_t_1);
34012 __pyx_r = __pyx_t_1;
34013 __pyx_t_1 = 0;
34014 goto __pyx_L0;
34015
34016 /* function exit code */
34017 __pyx_L1_error:;
34018 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
34019 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_rehash", __pyx_clineno, __pyx_lineno, __pyx_filename);
34020 __pyx_r = NULL((void*)0);
34021 __pyx_L0:;
34022 __Pyx_XGIVEREF(__pyx_r);
34023 __Pyx_RefNannyFinishContext();
34024 return __pyx_r;
34025}
34026
34027/* "xmmsapi.pyx":1655
34028 * return self.create_result(cb, xmmsc_medialib_rehash(self.conn, id))
34029 *
34030 * cpdef XmmsResult medialib_get_id(self, url, cb = None, encoded = False): # <<<<<<<<<<<<<<
34031 * """
34032 * Search for an entry (URL) in the medialib and return its ID
34033 */
34034
34035static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_117medialib_get_id(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
34036static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_medialib_get_id(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_url, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_get_id *__pyx_optional_args) {
34037 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
34038 PyObject *__pyx_v_encoded = ((PyObject *)Py_False((PyObject *) &_Py_ZeroStruct));
34039 xmmsc_result_t *__pyx_v_res;
34040 PyObject *__pyx_v_u = NULL((void*)0);
34041 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
34042 __Pyx_RefNannyDeclarations
34043 PyObject *__pyx_t_1 = NULL((void*)0);
34044 PyObject *__pyx_t_2 = NULL((void*)0);
34045 PyObject *__pyx_t_3 = NULL((void*)0);
34046 int __pyx_t_4;
34047 char *__pyx_t_5;
34048 int __pyx_lineno = 0;
34049 const char *__pyx_filename = NULL((void*)0);
34050 int __pyx_clineno = 0;
34051 __Pyx_RefNannySetupContext("medialib_get_id", 0);
34052 if (__pyx_optional_args) {
34053 if (__pyx_optional_args->__pyx_n > 0) {
34054 __pyx_v_cb = __pyx_optional_args->cb;
34055 if (__pyx_optional_args->__pyx_n > 1) {
34056 __pyx_v_encoded = __pyx_optional_args->encoded;
34057 }
34058 }
34059 }
34060 /* Check if called by wrapper */
34061 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
34062 /* Check if overridden in Python */
34063 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
34064 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_medialib_get_id); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1655; __pyx_clineno = __LINE__34064; goto __pyx_L1_error;}
34065 __Pyx_GOTREF(__pyx_t_1);
34066 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_117medialib_get_id)) {
34067 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
34068 __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1655; __pyx_clineno = __LINE__34068; goto __pyx_L1_error;}
34069 __Pyx_GOTREF(__pyx_t_2);
34070 __Pyx_INCREF(__pyx_v_url)( ((PyObject*)(__pyx_v_url))->ob_refcnt++);
34071 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_url)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_url);
34072 __Pyx_GIVEREF(__pyx_v_url);
34073 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
34074 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_cb);
34075 __Pyx_GIVEREF(__pyx_v_cb);
34076 __Pyx_INCREF(__pyx_v_encoded)( ((PyObject*)(__pyx_v_encoded))->ob_refcnt++);
34077 PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_encoded)(((PyTupleObject *)(__pyx_t_2))->ob_item[2] = __pyx_v_encoded
)
;
34078 __Pyx_GIVEREF(__pyx_v_encoded);
34079 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1655; __pyx_clineno = __LINE__34079; goto __pyx_L1_error;}
34080 __Pyx_GOTREF(__pyx_t_3);
34081 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
34082 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1655; __pyx_clineno = __LINE__34082; goto __pyx_L1_error;}
34083 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
34084 __pyx_t_3 = 0;
34085 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
34086 goto __pyx_L0;
34087 }
34088 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
34089 }
34090
34091 /* "xmmsapi.pyx":1663
34092 * """
34093 * cdef xmmsc_result_t *res
34094 * u = from_unicode(url) # <<<<<<<<<<<<<<
34095 * if encoded:
34096 * res = xmmsc_medialib_get_id_encoded(self.conn, <char *>u)
34097 */
34098 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_url); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1663; __pyx_clineno = __LINE__34098; goto __pyx_L1_error;}
34099 __Pyx_GOTREF(__pyx_t_1);
34100 __pyx_v_u = __pyx_t_1;
34101 __pyx_t_1 = 0;
34102
34103 /* "xmmsapi.pyx":1664
34104 * cdef xmmsc_result_t *res
34105 * u = from_unicode(url)
34106 * if encoded: # <<<<<<<<<<<<<<
34107 * res = xmmsc_medialib_get_id_encoded(self.conn, <char *>u)
34108 * else:
34109 */
34110 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_encoded); if (unlikely(__pyx_t_4 < 0)__builtin_expect(!!(__pyx_t_4 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1664; __pyx_clineno = __LINE__34110; goto __pyx_L1_error;}
34111 if (__pyx_t_4) {
34112
34113 /* "xmmsapi.pyx":1665
34114 * u = from_unicode(url)
34115 * if encoded:
34116 * res = xmmsc_medialib_get_id_encoded(self.conn, <char *>u) # <<<<<<<<<<<<<<
34117 * else:
34118 * res = xmmsc_medialib_get_id(self.conn, <char *>u)
34119 */
34120 __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_u); if (unlikely((!__pyx_t_5) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_5) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1665; __pyx_clineno = __LINE__34120; goto __pyx_L1_error;}
34121 __pyx_v_res = xmmsc_medialib_get_id_encoded(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_5));
34122 goto __pyx_L3;
34123 }
34124 /*else*/ {
34125
34126 /* "xmmsapi.pyx":1667
34127 * res = xmmsc_medialib_get_id_encoded(self.conn, <char *>u)
34128 * else:
34129 * res = xmmsc_medialib_get_id(self.conn, <char *>u) # <<<<<<<<<<<<<<
34130 * return self.create_result(cb, res)
34131 *
34132 */
34133 __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_u); if (unlikely((!__pyx_t_5) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_5) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1667; __pyx_clineno = __LINE__34133; goto __pyx_L1_error;}
34134 __pyx_v_res = xmmsc_medialib_get_id(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_5));
34135 }
34136 __pyx_L3:;
34137
34138 /* "xmmsapi.pyx":1668
34139 * else:
34140 * res = xmmsc_medialib_get_id(self.conn, <char *>u)
34141 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
34142 *
34143 * cpdef XmmsResult medialib_import_path(self, path, cb = None, encoded = False):
34144 */
34145 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
34146 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1668; __pyx_clineno = __LINE__34146; goto __pyx_L1_error;}
34147 __Pyx_GOTREF(__pyx_t_1);
34148 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
34149 __pyx_t_1 = 0;
34150 goto __pyx_L0;
34151
34152 /* "xmmsapi.pyx":1655
34153 * return self.create_result(cb, xmmsc_medialib_rehash(self.conn, id))
34154 *
34155 * cpdef XmmsResult medialib_get_id(self, url, cb = None, encoded = False): # <<<<<<<<<<<<<<
34156 * """
34157 * Search for an entry (URL) in the medialib and return its ID
34158 */
34159
34160 /* function exit code */
34161 __pyx_L1_error:;
34162 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
34163 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
34164 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
34165 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_get_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
34166 __pyx_r = 0;
34167 __pyx_L0:;
34168 __Pyx_XDECREF(__pyx_v_u)do { if ((__pyx_v_u) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_u))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_u)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_u)))); } while (0); } while (0)
;
34169 __Pyx_XGIVEREF((PyObject *)__pyx_r);
34170 __Pyx_RefNannyFinishContext();
34171 return __pyx_r;
34172}
34173
34174/* Python wrapper */
34175static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_117medialib_get_id(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
34176static char __pyx_doc_7xmmsapi_7XmmsApi_116medialib_get_id[] = "XmmsApi.medialib_get_id(self, url, cb=None, encoded=False) -> XmmsResult\n\n\t\tSearch for an entry (URL) in the medialib and return its ID\n\t\tnumber.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
34177static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_117medialib_get_id(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
34178 PyObject *__pyx_v_url = 0;
34179 PyObject *__pyx_v_cb = 0;
34180 PyObject *__pyx_v_encoded = 0;
34181 int __pyx_lineno = 0;
34182 const char *__pyx_filename = NULL((void*)0);
34183 int __pyx_clineno = 0;
34184 PyObject *__pyx_r = 0;
34185 __Pyx_RefNannyDeclarations
34186 __Pyx_RefNannySetupContext("medialib_get_id (wrapper)", 0);
34187 {
34188 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_url,&__pyx_n_s_cb,&__pyx_n_s_encoded,0};
34189 PyObject* values[3] = {0,0,0};
34190 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
34191 values[2] = ((PyObject *)Py_False((PyObject *) &_Py_ZeroStruct));
34192 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
34193 Py_ssize_t kw_args;
34194 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
34195 switch (pos_args) {
34196 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
34197 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
34198 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
34199 case 0: break;
34200 default: goto __pyx_L5_argtuple_error;
34201 }
34202 kw_args = PyDict_Size(__pyx_kwds);
34203 switch (pos_args) {
34204 case 0:
34205 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_url)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_url
)) != 0), 1)
) kw_args--;
34206 else goto __pyx_L5_argtuple_error;
34207 case 1:
34208 if (kw_args > 0) {
34209 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
34210 if (value) { values[1] = value; kw_args--; }
34211 }
34212 case 2:
34213 if (kw_args > 0) {
34214 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_encoded);
34215 if (value) { values[2] = value; kw_args--; }
34216 }
34217 }
34218 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
34219 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "medialib_get_id") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "medialib_get_id") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1655; __pyx_clineno = __LINE__34219; goto __pyx_L3_error;}
34220 }
34221 } else {
34222 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
34223 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
34224 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
34225 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
34226 break;
34227 default: goto __pyx_L5_argtuple_error;
34228 }
34229 }
34230 __pyx_v_url = values[0];
34231 __pyx_v_cb = values[1];
34232 __pyx_v_encoded = values[2];
34233 }
34234 goto __pyx_L4_argument_unpacking_done;
34235 __pyx_L5_argtuple_error:;
34236 __Pyx_RaiseArgtupleInvalid("medialib_get_id", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1655; __pyx_clineno = __LINE__34236; goto __pyx_L3_error;}
34237 __pyx_L3_error:;
34238 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_get_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
34239 __Pyx_RefNannyFinishContext();
34240 return NULL((void*)0);
34241 __pyx_L4_argument_unpacking_done:;
34242 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_116medialib_get_id(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_url, __pyx_v_cb, __pyx_v_encoded);
34243
34244 /* function exit code */
34245 __Pyx_RefNannyFinishContext();
34246 return __pyx_r;
34247}
34248
34249static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_116medialib_get_id(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_url, PyObject *__pyx_v_cb, PyObject *__pyx_v_encoded) {
34250 PyObject *__pyx_r = NULL((void*)0);
34251 __Pyx_RefNannyDeclarations
34252 PyObject *__pyx_t_1 = NULL((void*)0);
34253 struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_get_id __pyx_t_2;
34254 int __pyx_lineno = 0;
34255 const char *__pyx_filename = NULL((void*)0);
34256 int __pyx_clineno = 0;
34257 __Pyx_RefNannySetupContext("medialib_get_id", 0);
34258 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
34259 __pyx_t_2.__pyx_n = 2;
34260 __pyx_t_2.cb = __pyx_v_cb;
34261 __pyx_t_2.encoded = __pyx_v_encoded;
34262 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->medialib_get_id(__pyx_v_self, __pyx_v_url, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1655; __pyx_clineno = __LINE__34262; goto __pyx_L1_error;}
34263 __Pyx_GOTREF(__pyx_t_1);
34264 __pyx_r = __pyx_t_1;
34265 __pyx_t_1 = 0;
34266 goto __pyx_L0;
34267
34268 /* function exit code */
34269 __pyx_L1_error:;
34270 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
34271 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_get_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
34272 __pyx_r = NULL((void*)0);
34273 __pyx_L0:;
34274 __Pyx_XGIVEREF(__pyx_r);
34275 __Pyx_RefNannyFinishContext();
34276 return __pyx_r;
34277}
34278
34279/* "xmmsapi.pyx":1670
34280 * return self.create_result(cb, res)
34281 *
34282 * cpdef XmmsResult medialib_import_path(self, path, cb = None, encoded = False): # <<<<<<<<<<<<<<
34283 * """
34284 * Import metadata from all files recursively from the directory
34285 */
34286
34287static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_119medialib_import_path(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
34288static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_medialib_import_path(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_path, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_import_path *__pyx_optional_args) {
34289 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
34290 PyObject *__pyx_v_encoded = ((PyObject *)Py_False((PyObject *) &_Py_ZeroStruct));
34291 xmmsc_result_t *__pyx_v_res;
34292 PyObject *__pyx_v_p = NULL((void*)0);
34293 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
34294 __Pyx_RefNannyDeclarations
34295 PyObject *__pyx_t_1 = NULL((void*)0);
34296 PyObject *__pyx_t_2 = NULL((void*)0);
34297 PyObject *__pyx_t_3 = NULL((void*)0);
34298 int __pyx_t_4;
34299 char *__pyx_t_5;
34300 int __pyx_lineno = 0;
34301 const char *__pyx_filename = NULL((void*)0);
34302 int __pyx_clineno = 0;
34303 __Pyx_RefNannySetupContext("medialib_import_path", 0);
34304 if (__pyx_optional_args) {
34305 if (__pyx_optional_args->__pyx_n > 0) {
34306 __pyx_v_cb = __pyx_optional_args->cb;
34307 if (__pyx_optional_args->__pyx_n > 1) {
34308 __pyx_v_encoded = __pyx_optional_args->encoded;
34309 }
34310 }
34311 }
34312 /* Check if called by wrapper */
34313 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
34314 /* Check if overridden in Python */
34315 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
34316 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_medialib_import_path); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1670; __pyx_clineno = __LINE__34316; goto __pyx_L1_error;}
34317 __Pyx_GOTREF(__pyx_t_1);
34318 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_119medialib_import_path)) {
34319 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
34320 __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1670; __pyx_clineno = __LINE__34320; goto __pyx_L1_error;}
34321 __Pyx_GOTREF(__pyx_t_2);
34322 __Pyx_INCREF(__pyx_v_path)( ((PyObject*)(__pyx_v_path))->ob_refcnt++);
34323 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_path)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_path
)
;
34324 __Pyx_GIVEREF(__pyx_v_path);
34325 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
34326 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_cb);
34327 __Pyx_GIVEREF(__pyx_v_cb);
34328 __Pyx_INCREF(__pyx_v_encoded)( ((PyObject*)(__pyx_v_encoded))->ob_refcnt++);
34329 PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_encoded)(((PyTupleObject *)(__pyx_t_2))->ob_item[2] = __pyx_v_encoded
)
;
34330 __Pyx_GIVEREF(__pyx_v_encoded);
34331 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1670; __pyx_clineno = __LINE__34331; goto __pyx_L1_error;}
34332 __Pyx_GOTREF(__pyx_t_3);
34333 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
34334 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1670; __pyx_clineno = __LINE__34334; goto __pyx_L1_error;}
34335 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
34336 __pyx_t_3 = 0;
34337 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
34338 goto __pyx_L0;
34339 }
34340 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
34341 }
34342
34343 /* "xmmsapi.pyx":1678
34344 * """
34345 * cdef xmmsc_result_t *res
34346 * p = from_unicode(path) # <<<<<<<<<<<<<<
34347 * if encoded:
34348 * res = xmmsc_medialib_import_path_encoded(self.conn, <char *>p)
34349 */
34350 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_path); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1678; __pyx_clineno = __LINE__34350; goto __pyx_L1_error;}
34351 __Pyx_GOTREF(__pyx_t_1);
34352 __pyx_v_p = __pyx_t_1;
34353 __pyx_t_1 = 0;
34354
34355 /* "xmmsapi.pyx":1679
34356 * cdef xmmsc_result_t *res
34357 * p = from_unicode(path)
34358 * if encoded: # <<<<<<<<<<<<<<
34359 * res = xmmsc_medialib_import_path_encoded(self.conn, <char *>p)
34360 * else:
34361 */
34362 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_encoded); if (unlikely(__pyx_t_4 < 0)__builtin_expect(!!(__pyx_t_4 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1679; __pyx_clineno = __LINE__34362; goto __pyx_L1_error;}
34363 if (__pyx_t_4) {
34364
34365 /* "xmmsapi.pyx":1680
34366 * p = from_unicode(path)
34367 * if encoded:
34368 * res = xmmsc_medialib_import_path_encoded(self.conn, <char *>p) # <<<<<<<<<<<<<<
34369 * else:
34370 * res = xmmsc_medialib_import_path(self.conn, <char *>p)
34371 */
34372 __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_5) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_5) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1680; __pyx_clineno = __LINE__34372; goto __pyx_L1_error;}
34373 __pyx_v_res = xmmsc_medialib_import_path_encoded(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_5));
34374 goto __pyx_L3;
34375 }
34376 /*else*/ {
34377
34378 /* "xmmsapi.pyx":1682
34379 * res = xmmsc_medialib_import_path_encoded(self.conn, <char *>p)
34380 * else:
34381 * res = xmmsc_medialib_import_path(self.conn, <char *>p) # <<<<<<<<<<<<<<
34382 * return self.create_result(cb, res)
34383 *
34384 */
34385 __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_5) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_5) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1682; __pyx_clineno = __LINE__34385; goto __pyx_L1_error;}
34386 __pyx_v_res = xmmsc_medialib_import_path(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_5));
34387 }
34388 __pyx_L3:;
34389
34390 /* "xmmsapi.pyx":1683
34391 * else:
34392 * res = xmmsc_medialib_import_path(self.conn, <char *>p)
34393 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
34394 *
34395 * @deprecated
34396 */
34397 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
34398 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1683; __pyx_clineno = __LINE__34398; goto __pyx_L1_error;}
34399 __Pyx_GOTREF(__pyx_t_1);
34400 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
34401 __pyx_t_1 = 0;
34402 goto __pyx_L0;
34403
34404 /* "xmmsapi.pyx":1670
34405 * return self.create_result(cb, res)
34406 *
34407 * cpdef XmmsResult medialib_import_path(self, path, cb = None, encoded = False): # <<<<<<<<<<<<<<
34408 * """
34409 * Import metadata from all files recursively from the directory
34410 */
34411
34412 /* function exit code */
34413 __pyx_L1_error:;
34414 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
34415 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
34416 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
34417 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_import_path", __pyx_clineno, __pyx_lineno, __pyx_filename);
34418 __pyx_r = 0;
34419 __pyx_L0:;
34420 __Pyx_XDECREF(__pyx_v_p)do { if ((__pyx_v_p) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_p))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_p)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_p)))); } while (0); } while (0)
;
34421 __Pyx_XGIVEREF((PyObject *)__pyx_r);
34422 __Pyx_RefNannyFinishContext();
34423 return __pyx_r;
34424}
34425
34426/* Python wrapper */
34427static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_119medialib_import_path(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
34428static char __pyx_doc_7xmmsapi_7XmmsApi_118medialib_import_path[] = "XmmsApi.medialib_import_path(self, path, cb=None, encoded=False) -> XmmsResult\n\n\t\tImport metadata from all files recursively from the directory\n\t\tpassed as argument.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
34429static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_119medialib_import_path(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
34430 PyObject *__pyx_v_path = 0;
34431 PyObject *__pyx_v_cb = 0;
34432 PyObject *__pyx_v_encoded = 0;
34433 int __pyx_lineno = 0;
34434 const char *__pyx_filename = NULL((void*)0);
34435 int __pyx_clineno = 0;
34436 PyObject *__pyx_r = 0;
34437 __Pyx_RefNannyDeclarations
34438 __Pyx_RefNannySetupContext("medialib_import_path (wrapper)", 0);
34439 {
34440 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_path,&__pyx_n_s_cb,&__pyx_n_s_encoded,0};
34441 PyObject* values[3] = {0,0,0};
34442 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
34443 values[2] = ((PyObject *)Py_False((PyObject *) &_Py_ZeroStruct));
34444 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
34445 Py_ssize_t kw_args;
34446 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
34447 switch (pos_args) {
34448 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
34449 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
34450 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
34451 case 0: break;
34452 default: goto __pyx_L5_argtuple_error;
34453 }
34454 kw_args = PyDict_Size(__pyx_kwds);
34455 switch (pos_args) {
34456 case 0:
34457 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path
)) != 0), 1)
) kw_args--;
34458 else goto __pyx_L5_argtuple_error;
34459 case 1:
34460 if (kw_args > 0) {
34461 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
34462 if (value) { values[1] = value; kw_args--; }
34463 }
34464 case 2:
34465 if (kw_args > 0) {
34466 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_encoded);
34467 if (value) { values[2] = value; kw_args--; }
34468 }
34469 }
34470 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
34471 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "medialib_import_path") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "medialib_import_path") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1670; __pyx_clineno = __LINE__34471; goto __pyx_L3_error;}
34472 }
34473 } else {
34474 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
34475 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
34476 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
34477 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
34478 break;
34479 default: goto __pyx_L5_argtuple_error;
34480 }
34481 }
34482 __pyx_v_path = values[0];
34483 __pyx_v_cb = values[1];
34484 __pyx_v_encoded = values[2];
34485 }
34486 goto __pyx_L4_argument_unpacking_done;
34487 __pyx_L5_argtuple_error:;
34488 __Pyx_RaiseArgtupleInvalid("medialib_import_path", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1670; __pyx_clineno = __LINE__34488; goto __pyx_L3_error;}
34489 __pyx_L3_error:;
34490 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_import_path", __pyx_clineno, __pyx_lineno, __pyx_filename);
34491 __Pyx_RefNannyFinishContext();
34492 return NULL((void*)0);
34493 __pyx_L4_argument_unpacking_done:;
34494 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_118medialib_import_path(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_path, __pyx_v_cb, __pyx_v_encoded);
34495
34496 /* function exit code */
34497 __Pyx_RefNannyFinishContext();
34498 return __pyx_r;
34499}
34500
34501static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_118medialib_import_path(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_path, PyObject *__pyx_v_cb, PyObject *__pyx_v_encoded) {
34502 PyObject *__pyx_r = NULL((void*)0);
34503 __Pyx_RefNannyDeclarations
34504 PyObject *__pyx_t_1 = NULL((void*)0);
34505 struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_import_path __pyx_t_2;
34506 int __pyx_lineno = 0;
34507 const char *__pyx_filename = NULL((void*)0);
34508 int __pyx_clineno = 0;
34509 __Pyx_RefNannySetupContext("medialib_import_path", 0);
34510 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
34511 __pyx_t_2.__pyx_n = 2;
34512 __pyx_t_2.cb = __pyx_v_cb;
34513 __pyx_t_2.encoded = __pyx_v_encoded;
34514 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->medialib_import_path(__pyx_v_self, __pyx_v_path, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1670; __pyx_clineno = __LINE__34514; goto __pyx_L1_error;}
34515 __Pyx_GOTREF(__pyx_t_1);
34516 __pyx_r = __pyx_t_1;
34517 __pyx_t_1 = 0;
34518 goto __pyx_L0;
34519
34520 /* function exit code */
34521 __pyx_L1_error:;
34522 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
34523 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_import_path", __pyx_clineno, __pyx_lineno, __pyx_filename);
34524 __pyx_r = NULL((void*)0);
34525 __pyx_L0:;
34526 __Pyx_XGIVEREF(__pyx_r);
34527 __Pyx_RefNannyFinishContext();
34528 return __pyx_r;
34529}
34530
34531/* "xmmsapi.pyx":1686
34532 *
34533 * @deprecated
34534 * def medialib_path_import(self, path, cb = None, encoded = False): # <<<<<<<<<<<<<<
34535 * """
34536 * @deprecated
34537 */
34538
34539/* Python wrapper */
34540static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_121medialib_path_import(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
34541static char __pyx_doc_7xmmsapi_7XmmsApi_120medialib_path_import[] = "XmmsApi.medialib_path_import(self, path, cb=None, encoded=False)\n\n\t\t@deprecated\n\t\tUse medialib_import_path(path, ...) instead\n\t\t";
34542static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_121medialib_path_import(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
34543 PyObject *__pyx_v_path = 0;
34544 PyObject *__pyx_v_cb = 0;
34545 PyObject *__pyx_v_encoded = 0;
34546 int __pyx_lineno = 0;
34547 const char *__pyx_filename = NULL((void*)0);
34548 int __pyx_clineno = 0;
34549 PyObject *__pyx_r = 0;
34550 __Pyx_RefNannyDeclarations
34551 __Pyx_RefNannySetupContext("medialib_path_import (wrapper)", 0);
34552 {
34553 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_path,&__pyx_n_s_cb,&__pyx_n_s_encoded,0};
34554 PyObject* values[3] = {0,0,0};
34555 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
34556 values[2] = ((PyObject *)Py_False((PyObject *) &_Py_ZeroStruct));
34557 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
34558 Py_ssize_t kw_args;
34559 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
34560 switch (pos_args) {
34561 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
34562 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
34563 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
34564 case 0: break;
34565 default: goto __pyx_L5_argtuple_error;
34566 }
34567 kw_args = PyDict_Size(__pyx_kwds);
34568 switch (pos_args) {
34569 case 0:
34570 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path
)) != 0), 1)
) kw_args--;
34571 else goto __pyx_L5_argtuple_error;
34572 case 1:
34573 if (kw_args > 0) {
34574 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
34575 if (value) { values[1] = value; kw_args--; }
34576 }
34577 case 2:
34578 if (kw_args > 0) {
34579 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_encoded);
34580 if (value) { values[2] = value; kw_args--; }
34581 }
34582 }
34583 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
34584 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "medialib_path_import") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "medialib_path_import") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1686; __pyx_clineno = __LINE__34584; goto __pyx_L3_error;}
34585 }
34586 } else {
34587 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
34588 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
34589 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
34590 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
34591 break;
34592 default: goto __pyx_L5_argtuple_error;
34593 }
34594 }
34595 __pyx_v_path = values[0];
34596 __pyx_v_cb = values[1];
34597 __pyx_v_encoded = values[2];
34598 }
34599 goto __pyx_L4_argument_unpacking_done;
34600 __pyx_L5_argtuple_error:;
34601 __Pyx_RaiseArgtupleInvalid("medialib_path_import", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1686; __pyx_clineno = __LINE__34601; goto __pyx_L3_error;}
34602 __pyx_L3_error:;
34603 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_path_import", __pyx_clineno, __pyx_lineno, __pyx_filename);
34604 __Pyx_RefNannyFinishContext();
34605 return NULL((void*)0);
34606 __pyx_L4_argument_unpacking_done:;
34607 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_120medialib_path_import(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_path, __pyx_v_cb, __pyx_v_encoded);
34608
34609 /* function exit code */
34610 __Pyx_RefNannyFinishContext();
34611 return __pyx_r;
34612}
34613
34614static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_120medialib_path_import(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_path, PyObject *__pyx_v_cb, PyObject *__pyx_v_encoded) {
34615 PyObject *__pyx_r = NULL((void*)0);
34616 __Pyx_RefNannyDeclarations
34617 PyObject *__pyx_t_1 = NULL((void*)0);
34618 struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_import_path __pyx_t_2;
34619 int __pyx_lineno = 0;
34620 const char *__pyx_filename = NULL((void*)0);
34621 int __pyx_clineno = 0;
34622 __Pyx_RefNannySetupContext("medialib_path_import", 0);
34623
34624 /* "xmmsapi.pyx":1691
34625 * Use medialib_import_path(path, ...) instead
34626 * """
34627 * return self.medialib_import_path(path, cb = cb, encoded = encoded) # <<<<<<<<<<<<<<
34628 *
34629 * @deprecated
34630 */
34631 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
34632 __pyx_t_2.__pyx_n = 2;
34633 __pyx_t_2.cb = __pyx_v_cb;
34634 __pyx_t_2.encoded = __pyx_v_encoded;
34635 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->medialib_import_path(__pyx_v_self, __pyx_v_path, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1691; __pyx_clineno = __LINE__34635; goto __pyx_L1_error;}
34636 __Pyx_GOTREF(__pyx_t_1);
34637 __pyx_r = __pyx_t_1;
34638 __pyx_t_1 = 0;
34639 goto __pyx_L0;
34640
34641 /* "xmmsapi.pyx":1686
34642 *
34643 * @deprecated
34644 * def medialib_path_import(self, path, cb = None, encoded = False): # <<<<<<<<<<<<<<
34645 * """
34646 * @deprecated
34647 */
34648
34649 /* function exit code */
34650 __pyx_L1_error:;
34651 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
34652 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_path_import", __pyx_clineno, __pyx_lineno, __pyx_filename);
34653 __pyx_r = NULL((void*)0);
34654 __pyx_L0:;
34655 __Pyx_XGIVEREF(__pyx_r);
34656 __Pyx_RefNannyFinishContext();
34657 return __pyx_r;
34658}
34659
34660/* "xmmsapi.pyx":1694
34661 *
34662 * @deprecated
34663 * def medialib_path_import_encoded(self, path, cb = None): # <<<<<<<<<<<<<<
34664 * """
34665 * @deprecated
34666 */
34667
34668/* Python wrapper */
34669static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_123medialib_path_import_encoded(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
34670static char __pyx_doc_7xmmsapi_7XmmsApi_122medialib_path_import_encoded[] = "XmmsApi.medialib_path_import_encoded(self, path, cb=None)\n\n\t\t@deprecated\n\t\tUse medialib_import_path(path, ..., encoded = True) instead\n\t\t";
34671static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_123medialib_path_import_encoded(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
34672 PyObject *__pyx_v_path = 0;
34673 PyObject *__pyx_v_cb = 0;
34674 int __pyx_lineno = 0;
34675 const char *__pyx_filename = NULL((void*)0);
34676 int __pyx_clineno = 0;
34677 PyObject *__pyx_r = 0;
34678 __Pyx_RefNannyDeclarations
34679 __Pyx_RefNannySetupContext("medialib_path_import_encoded (wrapper)", 0);
34680 {
34681 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_path,&__pyx_n_s_cb,0};
34682 PyObject* values[2] = {0,0};
34683 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
34684 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
34685 Py_ssize_t kw_args;
34686 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
34687 switch (pos_args) {
34688 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
34689 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
34690 case 0: break;
34691 default: goto __pyx_L5_argtuple_error;
34692 }
34693 kw_args = PyDict_Size(__pyx_kwds);
34694 switch (pos_args) {
34695 case 0:
34696 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path
)) != 0), 1)
) kw_args--;
34697 else goto __pyx_L5_argtuple_error;
34698 case 1:
34699 if (kw_args > 0) {
34700 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
34701 if (value) { values[1] = value; kw_args--; }
34702 }
34703 }
34704 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
34705 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "medialib_path_import_encoded") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "medialib_path_import_encoded") < 0
), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1694; __pyx_clineno = __LINE__34705; goto __pyx_L3_error;}
34706 }
34707 } else {
34708 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
34709 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
34710 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
34711 break;
34712 default: goto __pyx_L5_argtuple_error;
34713 }
34714 }
34715 __pyx_v_path = values[0];
34716 __pyx_v_cb = values[1];
34717 }
34718 goto __pyx_L4_argument_unpacking_done;
34719 __pyx_L5_argtuple_error:;
34720 __Pyx_RaiseArgtupleInvalid("medialib_path_import_encoded", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1694; __pyx_clineno = __LINE__34720; goto __pyx_L3_error;}
34721 __pyx_L3_error:;
34722 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_path_import_encoded", __pyx_clineno, __pyx_lineno, __pyx_filename);
34723 __Pyx_RefNannyFinishContext();
34724 return NULL((void*)0);
34725 __pyx_L4_argument_unpacking_done:;
34726 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_122medialib_path_import_encoded(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_path, __pyx_v_cb);
34727
34728 /* function exit code */
34729 __Pyx_RefNannyFinishContext();
34730 return __pyx_r;
34731}
34732
34733static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_122medialib_path_import_encoded(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_path, PyObject *__pyx_v_cb) {
34734 PyObject *__pyx_r = NULL((void*)0);
34735 __Pyx_RefNannyDeclarations
34736 PyObject *__pyx_t_1 = NULL((void*)0);
34737 struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_import_path __pyx_t_2;
34738 int __pyx_lineno = 0;
34739 const char *__pyx_filename = NULL((void*)0);
34740 int __pyx_clineno = 0;
34741 __Pyx_RefNannySetupContext("medialib_path_import_encoded", 0);
34742
34743 /* "xmmsapi.pyx":1699
34744 * Use medialib_import_path(path, ..., encoded = True) instead
34745 * """
34746 * return self.medialib_import_path(path, cb = cb, encoded = True) # <<<<<<<<<<<<<<
34747 *
34748 * cpdef XmmsResult medialib_property_set(self, int id, key, value, source = None, cb = None):
34749 */
34750 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
34751 __pyx_t_2.__pyx_n = 2;
34752 __pyx_t_2.cb = __pyx_v_cb;
34753 __pyx_t_2.encoded = Py_True((PyObject *) &_Py_TrueStruct);
34754 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->medialib_import_path(__pyx_v_self, __pyx_v_path, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1699; __pyx_clineno = __LINE__34754; goto __pyx_L1_error;}
34755 __Pyx_GOTREF(__pyx_t_1);
34756 __pyx_r = __pyx_t_1;
34757 __pyx_t_1 = 0;
34758 goto __pyx_L0;
34759
34760 /* "xmmsapi.pyx":1694
34761 *
34762 * @deprecated
34763 * def medialib_path_import_encoded(self, path, cb = None): # <<<<<<<<<<<<<<
34764 * """
34765 * @deprecated
34766 */
34767
34768 /* function exit code */
34769 __pyx_L1_error:;
34770 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
34771 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_path_import_encoded", __pyx_clineno, __pyx_lineno, __pyx_filename);
34772 __pyx_r = NULL((void*)0);
34773 __pyx_L0:;
34774 __Pyx_XGIVEREF(__pyx_r);
34775 __Pyx_RefNannyFinishContext();
34776 return __pyx_r;
34777}
34778
34779/* "xmmsapi.pyx":1701
34780 * return self.medialib_import_path(path, cb = cb, encoded = True)
34781 *
34782 * cpdef XmmsResult medialib_property_set(self, int id, key, value, source = None, cb = None): # <<<<<<<<<<<<<<
34783 * """
34784 * Associate a value with a medialib entry. Source is optional.
34785 */
34786
34787static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_125medialib_property_set(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
34788static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_medialib_property_set(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_id, PyObject *__pyx_v_key, PyObject *__pyx_v_value, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_property_set *__pyx_optional_args) {
34789 PyObject *__pyx_v_source = ((PyObject *)Py_None(&_Py_NoneStruct));
34790 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
34791 xmmsc_result_t *__pyx_v_res;
34792 PyObject *__pyx_v_k = NULL((void*)0);
34793 PyObject *__pyx_v_s = NULL((void*)0);
34794 PyObject *__pyx_v_v = NULL((void*)0);
34795 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
34796 __Pyx_RefNannyDeclarations
34797 PyObject *__pyx_t_1 = NULL((void*)0);
34798 PyObject *__pyx_t_2 = NULL((void*)0);
34799 PyObject *__pyx_t_3 = NULL((void*)0);
34800 int __pyx_t_4;
34801 int __pyx_t_5;
34802 char *__pyx_t_6;
34803 char *__pyx_t_7;
34804 int __pyx_t_8;
34805 char *__pyx_t_9;
34806 int __pyx_lineno = 0;
34807 const char *__pyx_filename = NULL((void*)0);
34808 int __pyx_clineno = 0;
34809 __Pyx_RefNannySetupContext("medialib_property_set", 0);
34810 if (__pyx_optional_args) {
34811 if (__pyx_optional_args->__pyx_n > 0) {
34812 __pyx_v_source = __pyx_optional_args->source;
34813 if (__pyx_optional_args->__pyx_n > 1) {
34814 __pyx_v_cb = __pyx_optional_args->cb;
34815 }
34816 }
34817 }
34818 /* Check if called by wrapper */
34819 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
34820 /* Check if overridden in Python */
34821 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
34822 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_medialib_property_set); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1701; __pyx_clineno = __LINE__34822; goto __pyx_L1_error;}
34823 __Pyx_GOTREF(__pyx_t_1);
34824 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_125medialib_property_set)) {
34825 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
34826 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_id); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1701; __pyx_clineno = __LINE__34826; goto __pyx_L1_error;}
34827 __Pyx_GOTREF(__pyx_t_2);
34828 __pyx_t_3 = PyTuple_New(5); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1701; __pyx_clineno = __LINE__34828; goto __pyx_L1_error;}
34829 __Pyx_GOTREF(__pyx_t_3);
34830 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
34831 __Pyx_GIVEREF(__pyx_t_2);
34832 __Pyx_INCREF(__pyx_v_key)( ((PyObject*)(__pyx_v_key))->ob_refcnt++);
34833 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_key)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_key);
34834 __Pyx_GIVEREF(__pyx_v_key);
34835 __Pyx_INCREF(__pyx_v_value)( ((PyObject*)(__pyx_v_value))->ob_refcnt++);
34836 PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_value)(((PyTupleObject *)(__pyx_t_3))->ob_item[2] = __pyx_v_value
)
;
34837 __Pyx_GIVEREF(__pyx_v_value);
34838 __Pyx_INCREF(__pyx_v_source)( ((PyObject*)(__pyx_v_source))->ob_refcnt++);
34839 PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_v_source)(((PyTupleObject *)(__pyx_t_3))->ob_item[3] = __pyx_v_source
)
;
34840 __Pyx_GIVEREF(__pyx_v_source);
34841 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
34842 PyTuple_SET_ITEM(__pyx_t_3, 4, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_3))->ob_item[4] = __pyx_v_cb);
34843 __Pyx_GIVEREF(__pyx_v_cb);
34844 __pyx_t_2 = 0;
34845 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1701; __pyx_clineno = __LINE__34845; goto __pyx_L1_error;}
34846 __Pyx_GOTREF(__pyx_t_2);
34847 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
34848 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_2) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1701; __pyx_clineno = __LINE__34848; goto __pyx_L1_error;}
34849 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_2);
34850 __pyx_t_2 = 0;
34851 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
34852 goto __pyx_L0;
34853 }
34854 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
34855 }
34856
34857 /* "xmmsapi.pyx":1708
34858 * """
34859 * cdef xmmsc_result_t *res
34860 * k = from_unicode(key) # <<<<<<<<<<<<<<
34861 * if isinstance(value, int):
34862 * if source:
34863 */
34864 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_key); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1708; __pyx_clineno = __LINE__34864; goto __pyx_L1_error;}
34865 __Pyx_GOTREF(__pyx_t_1);
34866 __pyx_v_k = __pyx_t_1;
34867 __pyx_t_1 = 0;
34868
34869 /* "xmmsapi.pyx":1709
34870 * cdef xmmsc_result_t *res
34871 * k = from_unicode(key)
34872 * if isinstance(value, int): # <<<<<<<<<<<<<<
34873 * if source:
34874 * s = from_unicode(source)
34875 */
34876 __pyx_t_4 = PyInt_Check(__pyx_v_value)((((__pyx_v_value)->ob_type)->tp_flags & ((1L<<
23))) != 0)
;
34877 __pyx_t_5 = (__pyx_t_4 != 0);
34878 if (__pyx_t_5) {
34879
34880 /* "xmmsapi.pyx":1710
34881 * k = from_unicode(key)
34882 * if isinstance(value, int):
34883 * if source: # <<<<<<<<<<<<<<
34884 * s = from_unicode(source)
34885 * res = xmmsc_medialib_entry_property_set_int_with_source(self.conn, id, <char *>s, <char *>k, value)
34886 */
34887 __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_source); if (unlikely(__pyx_t_5 < 0)__builtin_expect(!!(__pyx_t_5 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1710; __pyx_clineno = __LINE__34887; goto __pyx_L1_error;}
34888 if (__pyx_t_5) {
34889
34890 /* "xmmsapi.pyx":1711
34891 * if isinstance(value, int):
34892 * if source:
34893 * s = from_unicode(source) # <<<<<<<<<<<<<<
34894 * res = xmmsc_medialib_entry_property_set_int_with_source(self.conn, id, <char *>s, <char *>k, value)
34895 * else:
34896 */
34897 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_source); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1711; __pyx_clineno = __LINE__34897; goto __pyx_L1_error;}
34898 __Pyx_GOTREF(__pyx_t_1);
34899 __pyx_v_s = __pyx_t_1;
34900 __pyx_t_1 = 0;
34901
34902 /* "xmmsapi.pyx":1712
34903 * if source:
34904 * s = from_unicode(source)
34905 * res = xmmsc_medialib_entry_property_set_int_with_source(self.conn, id, <char *>s, <char *>k, value) # <<<<<<<<<<<<<<
34906 * else:
34907 * res = xmmsc_medialib_entry_property_set_int(self.conn, id, <char *>k, value)
34908 */
34909 __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_s); if (unlikely((!__pyx_t_6) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_6) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1712; __pyx_clineno = __LINE__34909; goto __pyx_L1_error;}
34910 __pyx_t_7 = __Pyx_PyObject_AsString(__pyx_v_k); if (unlikely((!__pyx_t_7) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_7) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1712; __pyx_clineno = __LINE__34910; goto __pyx_L1_error;}
34911 __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_t_8 == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1712; __pyx_clineno = __LINE__34911; goto __pyx_L1_error;}
34912 __pyx_v_res = xmmsc_medialib_entry_property_set_int_with_source(__pyx_v_self->__pyx_base.conn, __pyx_v_id, ((char *)__pyx_t_6), ((char *)__pyx_t_7), __pyx_t_8);
34913 goto __pyx_L4;
34914 }
34915 /*else*/ {
34916
34917 /* "xmmsapi.pyx":1714
34918 * res = xmmsc_medialib_entry_property_set_int_with_source(self.conn, id, <char *>s, <char *>k, value)
34919 * else:
34920 * res = xmmsc_medialib_entry_property_set_int(self.conn, id, <char *>k, value) # <<<<<<<<<<<<<<
34921 * else:
34922 * v = from_unicode(value)
34923 */
34924 __pyx_t_7 = __Pyx_PyObject_AsString(__pyx_v_k); if (unlikely((!__pyx_t_7) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_7) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1714; __pyx_clineno = __LINE__34924; goto __pyx_L1_error;}
34925 __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_t_8 == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1714; __pyx_clineno = __LINE__34925; goto __pyx_L1_error;}
34926 __pyx_v_res = xmmsc_medialib_entry_property_set_int(__pyx_v_self->__pyx_base.conn, __pyx_v_id, ((char *)__pyx_t_7), __pyx_t_8);
34927 }
34928 __pyx_L4:;
34929 goto __pyx_L3;
34930 }
34931 /*else*/ {
34932
34933 /* "xmmsapi.pyx":1716
34934 * res = xmmsc_medialib_entry_property_set_int(self.conn, id, <char *>k, value)
34935 * else:
34936 * v = from_unicode(value) # <<<<<<<<<<<<<<
34937 * if source:
34938 * s = from_unicode(source)
34939 */
34940 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_value); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1716; __pyx_clineno = __LINE__34940; goto __pyx_L1_error;}
34941 __Pyx_GOTREF(__pyx_t_1);
34942 __pyx_v_v = __pyx_t_1;
34943 __pyx_t_1 = 0;
34944
34945 /* "xmmsapi.pyx":1717
34946 * else:
34947 * v = from_unicode(value)
34948 * if source: # <<<<<<<<<<<<<<
34949 * s = from_unicode(source)
34950 * res = xmmsc_medialib_entry_property_set_str_with_source(self.conn, id, <char *>s, <char *>k, <char *>v)
34951 */
34952 __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_source); if (unlikely(__pyx_t_5 < 0)__builtin_expect(!!(__pyx_t_5 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1717; __pyx_clineno = __LINE__34952; goto __pyx_L1_error;}
34953 if (__pyx_t_5) {
34954
34955 /* "xmmsapi.pyx":1718
34956 * v = from_unicode(value)
34957 * if source:
34958 * s = from_unicode(source) # <<<<<<<<<<<<<<
34959 * res = xmmsc_medialib_entry_property_set_str_with_source(self.conn, id, <char *>s, <char *>k, <char *>v)
34960 * else:
34961 */
34962 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_source); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1718; __pyx_clineno = __LINE__34962; goto __pyx_L1_error;}
34963 __Pyx_GOTREF(__pyx_t_1);
34964 __pyx_v_s = __pyx_t_1;
34965 __pyx_t_1 = 0;
34966
34967 /* "xmmsapi.pyx":1719
34968 * if source:
34969 * s = from_unicode(source)
34970 * res = xmmsc_medialib_entry_property_set_str_with_source(self.conn, id, <char *>s, <char *>k, <char *>v) # <<<<<<<<<<<<<<
34971 * else:
34972 * res = xmmsc_medialib_entry_property_set_str(self.conn, id, <char *>k, <char *>v)
34973 */
34974 __pyx_t_7 = __Pyx_PyObject_AsString(__pyx_v_s); if (unlikely((!__pyx_t_7) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_7) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1719; __pyx_clineno = __LINE__34974; goto __pyx_L1_error;}
34975 __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_k); if (unlikely((!__pyx_t_6) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_6) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1719; __pyx_clineno = __LINE__34975; goto __pyx_L1_error;}
34976 __pyx_t_9 = __Pyx_PyObject_AsString(__pyx_v_v); if (unlikely((!__pyx_t_9) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_9) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1719; __pyx_clineno = __LINE__34976; goto __pyx_L1_error;}
34977 __pyx_v_res = xmmsc_medialib_entry_property_set_str_with_source(__pyx_v_self->__pyx_base.conn, __pyx_v_id, ((char *)__pyx_t_7), ((char *)__pyx_t_6), ((char *)__pyx_t_9));
34978 goto __pyx_L5;
34979 }
34980 /*else*/ {
34981
34982 /* "xmmsapi.pyx":1721
34983 * res = xmmsc_medialib_entry_property_set_str_with_source(self.conn, id, <char *>s, <char *>k, <char *>v)
34984 * else:
34985 * res = xmmsc_medialib_entry_property_set_str(self.conn, id, <char *>k, <char *>v) # <<<<<<<<<<<<<<
34986 * return self.create_result(cb, res)
34987 *
34988 */
34989 __pyx_t_9 = __Pyx_PyObject_AsString(__pyx_v_k); if (unlikely((!__pyx_t_9) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_9) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1721; __pyx_clineno = __LINE__34989; goto __pyx_L1_error;}
34990 __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_v); if (unlikely((!__pyx_t_6) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_6) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1721; __pyx_clineno = __LINE__34990; goto __pyx_L1_error;}
34991 __pyx_v_res = xmmsc_medialib_entry_property_set_str(__pyx_v_self->__pyx_base.conn, __pyx_v_id, ((char *)__pyx_t_9), ((char *)__pyx_t_6));
34992 }
34993 __pyx_L5:;
34994 }
34995 __pyx_L3:;
34996
34997 /* "xmmsapi.pyx":1722
34998 * else:
34999 * res = xmmsc_medialib_entry_property_set_str(self.conn, id, <char *>k, <char *>v)
35000 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
35001 *
35002 * cpdef XmmsResult medialib_property_remove(self, int id, key, source = None, cb = None):
35003 */
35004 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
35005 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1722; __pyx_clineno = __LINE__35005; goto __pyx_L1_error;}
35006 __Pyx_GOTREF(__pyx_t_1);
35007 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
35008 __pyx_t_1 = 0;
35009 goto __pyx_L0;
35010
35011 /* "xmmsapi.pyx":1701
35012 * return self.medialib_import_path(path, cb = cb, encoded = True)
35013 *
35014 * cpdef XmmsResult medialib_property_set(self, int id, key, value, source = None, cb = None): # <<<<<<<<<<<<<<
35015 * """
35016 * Associate a value with a medialib entry. Source is optional.
35017 */
35018
35019 /* function exit code */
35020 __pyx_L1_error:;
35021 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
35022 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
35023 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
35024 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_property_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
35025 __pyx_r = 0;
35026 __pyx_L0:;
35027 __Pyx_XDECREF(__pyx_v_k)do { if ((__pyx_v_k) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_k))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_k)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_k)))); } while (0); } while (0)
;
35028 __Pyx_XDECREF(__pyx_v_s)do { if ((__pyx_v_s) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_s))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_s)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_s)))); } while (0); } while (0)
;
35029 __Pyx_XDECREF(__pyx_v_v)do { if ((__pyx_v_v) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_v))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_v)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_v)))); } while (0); } while (0)
;
35030 __Pyx_XGIVEREF((PyObject *)__pyx_r);
35031 __Pyx_RefNannyFinishContext();
35032 return __pyx_r;
35033}
35034
35035/* Python wrapper */
35036static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_125medialib_property_set(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
35037static char __pyx_doc_7xmmsapi_7XmmsApi_124medialib_property_set[] = "XmmsApi.medialib_property_set(self, int id, key, value, source=None, cb=None) -> XmmsResult\n\n\t\tAssociate a value with a medialib entry. Source is optional.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
35038static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_125medialib_property_set(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
35039 int __pyx_v_id;
35040 PyObject *__pyx_v_key = 0;
35041 PyObject *__pyx_v_value = 0;
35042 PyObject *__pyx_v_source = 0;
35043 PyObject *__pyx_v_cb = 0;
35044 int __pyx_lineno = 0;
35045 const char *__pyx_filename = NULL((void*)0);
35046 int __pyx_clineno = 0;
35047 PyObject *__pyx_r = 0;
35048 __Pyx_RefNannyDeclarations
35049 __Pyx_RefNannySetupContext("medialib_property_set (wrapper)", 0);
35050 {
35051 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_id,&__pyx_n_s_key,&__pyx_n_s_value,&__pyx_n_s_source,&__pyx_n_s_cb,0};
35052 PyObject* values[5] = {0,0,0,0,0};
35053 values[3] = ((PyObject *)Py_None(&_Py_NoneStruct));
35054 values[4] = ((PyObject *)Py_None(&_Py_NoneStruct));
35055 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
35056 Py_ssize_t kw_args;
35057 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
35058 switch (pos_args) {
35059 case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4)(((PyTupleObject *)(__pyx_args))->ob_item[4]);
35060 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
35061 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
35062 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
35063 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
35064 case 0: break;
35065 default: goto __pyx_L5_argtuple_error;
35066 }
35067 kw_args = PyDict_Size(__pyx_kwds);
35068 switch (pos_args) {
35069 case 0:
35070 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_id)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_id
)) != 0), 1)
) kw_args--;
35071 else goto __pyx_L5_argtuple_error;
35072 case 1:
35073 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_key)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_key
)) != 0), 1)
) kw_args--;
35074 else {
35075 __Pyx_RaiseArgtupleInvalid("medialib_property_set", 0, 3, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1701; __pyx_clineno = __LINE__35075; goto __pyx_L3_error;}
35076 }
35077 case 2:
35078 if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_value)) != 0)__builtin_expect(!!((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_value
)) != 0), 1)
) kw_args--;
35079 else {
35080 __Pyx_RaiseArgtupleInvalid("medialib_property_set", 0, 3, 5, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1701; __pyx_clineno = __LINE__35080; goto __pyx_L3_error;}
35081 }
35082 case 3:
35083 if (kw_args > 0) {
35084 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_source);
35085 if (value) { values[3] = value; kw_args--; }
35086 }
35087 case 4:
35088 if (kw_args > 0) {
35089 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
35090 if (value) { values[4] = value; kw_args--; }
35091 }
35092 }
35093 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
35094 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "medialib_property_set") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "medialib_property_set") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1701; __pyx_clineno = __LINE__35094; goto __pyx_L3_error;}
35095 }
35096 } else {
35097 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
35098 case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4)(((PyTupleObject *)(__pyx_args))->ob_item[4]);
35099 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
35100 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
35101 values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
35102 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
35103 break;
35104 default: goto __pyx_L5_argtuple_error;
35105 }
35106 }
35107 __pyx_v_id = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_id == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_id == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1701; __pyx_clineno = __LINE__35107; goto __pyx_L3_error;}
35108 __pyx_v_key = values[1];
35109 __pyx_v_value = values[2];
35110 __pyx_v_source = values[3];
35111 __pyx_v_cb = values[4];
35112 }
35113 goto __pyx_L4_argument_unpacking_done;
35114 __pyx_L5_argtuple_error:;
35115 __Pyx_RaiseArgtupleInvalid("medialib_property_set", 0, 3, 5, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1701; __pyx_clineno = __LINE__35115; goto __pyx_L3_error;}
35116 __pyx_L3_error:;
35117 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_property_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
35118 __Pyx_RefNannyFinishContext();
35119 return NULL((void*)0);
35120 __pyx_L4_argument_unpacking_done:;
35121 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_124medialib_property_set(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_id, __pyx_v_key, __pyx_v_value, __pyx_v_source, __pyx_v_cb);
35122
35123 /* function exit code */
35124 __Pyx_RefNannyFinishContext();
35125 return __pyx_r;
35126}
35127
35128static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_124medialib_property_set(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_id, PyObject *__pyx_v_key, PyObject *__pyx_v_value, PyObject *__pyx_v_source, PyObject *__pyx_v_cb) {
35129 PyObject *__pyx_r = NULL((void*)0);
35130 __Pyx_RefNannyDeclarations
35131 PyObject *__pyx_t_1 = NULL((void*)0);
35132 struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_property_set __pyx_t_2;
35133 int __pyx_lineno = 0;
35134 const char *__pyx_filename = NULL((void*)0);
35135 int __pyx_clineno = 0;
35136 __Pyx_RefNannySetupContext("medialib_property_set", 0);
35137 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
35138 __pyx_t_2.__pyx_n = 2;
35139 __pyx_t_2.source = __pyx_v_source;
35140 __pyx_t_2.cb = __pyx_v_cb;
35141 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->medialib_property_set(__pyx_v_self, __pyx_v_id, __pyx_v_key, __pyx_v_value, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1701; __pyx_clineno = __LINE__35141; goto __pyx_L1_error;}
35142 __Pyx_GOTREF(__pyx_t_1);
35143 __pyx_r = __pyx_t_1;
35144 __pyx_t_1 = 0;
35145 goto __pyx_L0;
35146
35147 /* function exit code */
35148 __pyx_L1_error:;
35149 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
35150 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_property_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
35151 __pyx_r = NULL((void*)0);
35152 __pyx_L0:;
35153 __Pyx_XGIVEREF(__pyx_r);
35154 __Pyx_RefNannyFinishContext();
35155 return __pyx_r;
35156}
35157
35158/* "xmmsapi.pyx":1724
35159 * return self.create_result(cb, res)
35160 *
35161 * cpdef XmmsResult medialib_property_remove(self, int id, key, source = None, cb = None): # <<<<<<<<<<<<<<
35162 * """
35163 * Remove a value from a medialib entry. Source is optional.
35164 */
35165
35166static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_127medialib_property_remove(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
35167static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_medialib_property_remove(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_id, PyObject *__pyx_v_key, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_property_remove *__pyx_optional_args) {
35168 PyObject *__pyx_v_source = ((PyObject *)Py_None(&_Py_NoneStruct));
35169 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
35170 xmmsc_result_t *__pyx_v_res;
35171 PyObject *__pyx_v_k = NULL((void*)0);
35172 PyObject *__pyx_v_s = NULL((void*)0);
35173 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
35174 __Pyx_RefNannyDeclarations
35175 PyObject *__pyx_t_1 = NULL((void*)0);
35176 PyObject *__pyx_t_2 = NULL((void*)0);
35177 PyObject *__pyx_t_3 = NULL((void*)0);
35178 int __pyx_t_4;
35179 char *__pyx_t_5;
35180 char *__pyx_t_6;
35181 int __pyx_lineno = 0;
35182 const char *__pyx_filename = NULL((void*)0);
35183 int __pyx_clineno = 0;
35184 __Pyx_RefNannySetupContext("medialib_property_remove", 0);
35185 if (__pyx_optional_args) {
35186 if (__pyx_optional_args->__pyx_n > 0) {
35187 __pyx_v_source = __pyx_optional_args->source;
35188 if (__pyx_optional_args->__pyx_n > 1) {
35189 __pyx_v_cb = __pyx_optional_args->cb;
35190 }
35191 }
35192 }
35193 /* Check if called by wrapper */
35194 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
35195 /* Check if overridden in Python */
35196 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
35197 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_medialib_property_remove); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1724; __pyx_clineno = __LINE__35197; goto __pyx_L1_error;}
35198 __Pyx_GOTREF(__pyx_t_1);
35199 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_127medialib_property_remove)) {
35200 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
35201 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_id); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1724; __pyx_clineno = __LINE__35201; goto __pyx_L1_error;}
35202 __Pyx_GOTREF(__pyx_t_2);
35203 __pyx_t_3 = PyTuple_New(4); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1724; __pyx_clineno = __LINE__35203; goto __pyx_L1_error;}
35204 __Pyx_GOTREF(__pyx_t_3);
35205 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
35206 __Pyx_GIVEREF(__pyx_t_2);
35207 __Pyx_INCREF(__pyx_v_key)( ((PyObject*)(__pyx_v_key))->ob_refcnt++);
35208 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_key)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_key);
35209 __Pyx_GIVEREF(__pyx_v_key);
35210 __Pyx_INCREF(__pyx_v_source)( ((PyObject*)(__pyx_v_source))->ob_refcnt++);
35211 PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_source)(((PyTupleObject *)(__pyx_t_3))->ob_item[2] = __pyx_v_source
)
;
35212 __Pyx_GIVEREF(__pyx_v_source);
35213 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
35214 PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_3))->ob_item[3] = __pyx_v_cb);
35215 __Pyx_GIVEREF(__pyx_v_cb);
35216 __pyx_t_2 = 0;
35217 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1724; __pyx_clineno = __LINE__35217; goto __pyx_L1_error;}
35218 __Pyx_GOTREF(__pyx_t_2);
35219 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
35220 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_2) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1724; __pyx_clineno = __LINE__35220; goto __pyx_L1_error;}
35221 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_2);
35222 __pyx_t_2 = 0;
35223 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
35224 goto __pyx_L0;
35225 }
35226 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
35227 }
35228
35229 /* "xmmsapi.pyx":1731
35230 * """
35231 * cdef xmmsc_result_t *res
35232 * k = from_unicode(key) # <<<<<<<<<<<<<<
35233 * if source:
35234 * s = from_unicode(source)
35235 */
35236 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_key); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1731; __pyx_clineno = __LINE__35236; goto __pyx_L1_error;}
35237 __Pyx_GOTREF(__pyx_t_1);
35238 __pyx_v_k = __pyx_t_1;
35239 __pyx_t_1 = 0;
35240
35241 /* "xmmsapi.pyx":1732
35242 * cdef xmmsc_result_t *res
35243 * k = from_unicode(key)
35244 * if source: # <<<<<<<<<<<<<<
35245 * s = from_unicode(source)
35246 * res = xmmsc_medialib_entry_property_remove_with_source(self.conn, id, <char *>s, <char *>k)
35247 */
35248 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_source); if (unlikely(__pyx_t_4 < 0)__builtin_expect(!!(__pyx_t_4 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1732; __pyx_clineno = __LINE__35248; goto __pyx_L1_error;}
35249 if (__pyx_t_4) {
35250
35251 /* "xmmsapi.pyx":1733
35252 * k = from_unicode(key)
35253 * if source:
35254 * s = from_unicode(source) # <<<<<<<<<<<<<<
35255 * res = xmmsc_medialib_entry_property_remove_with_source(self.conn, id, <char *>s, <char *>k)
35256 * else:
35257 */
35258 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_source); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1733; __pyx_clineno = __LINE__35258; goto __pyx_L1_error;}
35259 __Pyx_GOTREF(__pyx_t_1);
35260 __pyx_v_s = __pyx_t_1;
35261 __pyx_t_1 = 0;
35262
35263 /* "xmmsapi.pyx":1734
35264 * if source:
35265 * s = from_unicode(source)
35266 * res = xmmsc_medialib_entry_property_remove_with_source(self.conn, id, <char *>s, <char *>k) # <<<<<<<<<<<<<<
35267 * else:
35268 * res = xmmsc_medialib_entry_property_remove(self.conn, id, <char *>k)
35269 */
35270 __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_s); if (unlikely((!__pyx_t_5) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_5) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1734; __pyx_clineno = __LINE__35270; goto __pyx_L1_error;}
35271 __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_k); if (unlikely((!__pyx_t_6) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_6) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1734; __pyx_clineno = __LINE__35271; goto __pyx_L1_error;}
35272 __pyx_v_res = xmmsc_medialib_entry_property_remove_with_source(__pyx_v_self->__pyx_base.conn, __pyx_v_id, ((char *)__pyx_t_5), ((char *)__pyx_t_6));
35273 goto __pyx_L3;
35274 }
35275 /*else*/ {
35276
35277 /* "xmmsapi.pyx":1736
35278 * res = xmmsc_medialib_entry_property_remove_with_source(self.conn, id, <char *>s, <char *>k)
35279 * else:
35280 * res = xmmsc_medialib_entry_property_remove(self.conn, id, <char *>k) # <<<<<<<<<<<<<<
35281 * return self.create_result(cb, res)
35282 *
35283 */
35284 __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_k); if (unlikely((!__pyx_t_6) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_6) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1736; __pyx_clineno = __LINE__35284; goto __pyx_L1_error;}
35285 __pyx_v_res = xmmsc_medialib_entry_property_remove(__pyx_v_self->__pyx_base.conn, __pyx_v_id, ((char *)__pyx_t_6));
35286 }
35287 __pyx_L3:;
35288
35289 /* "xmmsapi.pyx":1737
35290 * else:
35291 * res = xmmsc_medialib_entry_property_remove(self.conn, id, <char *>k)
35292 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
35293 *
35294 * cpdef XmmsResult broadcast_medialib_entry_added(self, cb = None):
35295 */
35296 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
35297 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1737; __pyx_clineno = __LINE__35297; goto __pyx_L1_error;}
35298 __Pyx_GOTREF(__pyx_t_1);
35299 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
35300 __pyx_t_1 = 0;
35301 goto __pyx_L0;
35302
35303 /* "xmmsapi.pyx":1724
35304 * return self.create_result(cb, res)
35305 *
35306 * cpdef XmmsResult medialib_property_remove(self, int id, key, source = None, cb = None): # <<<<<<<<<<<<<<
35307 * """
35308 * Remove a value from a medialib entry. Source is optional.
35309 */
35310
35311 /* function exit code */
35312 __pyx_L1_error:;
35313 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
35314 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
35315 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
35316 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_property_remove", __pyx_clineno, __pyx_lineno, __pyx_filename);
35317 __pyx_r = 0;
35318 __pyx_L0:;
35319 __Pyx_XDECREF(__pyx_v_k)do { if ((__pyx_v_k) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_k))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_k)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_k)))); } while (0); } while (0)
;
35320 __Pyx_XDECREF(__pyx_v_s)do { if ((__pyx_v_s) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_s))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_s)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_s)))); } while (0); } while (0)
;
35321 __Pyx_XGIVEREF((PyObject *)__pyx_r);
35322 __Pyx_RefNannyFinishContext();
35323 return __pyx_r;
35324}
35325
35326/* Python wrapper */
35327static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_127medialib_property_remove(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
35328static char __pyx_doc_7xmmsapi_7XmmsApi_126medialib_property_remove[] = "XmmsApi.medialib_property_remove(self, int id, key, source=None, cb=None) -> XmmsResult\n\n\t\tRemove a value from a medialib entry. Source is optional.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
35329static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_127medialib_property_remove(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
35330 int __pyx_v_id;
35331 PyObject *__pyx_v_key = 0;
35332 PyObject *__pyx_v_source = 0;
35333 PyObject *__pyx_v_cb = 0;
35334 int __pyx_lineno = 0;
35335 const char *__pyx_filename = NULL((void*)0);
35336 int __pyx_clineno = 0;
35337 PyObject *__pyx_r = 0;
35338 __Pyx_RefNannyDeclarations
35339 __Pyx_RefNannySetupContext("medialib_property_remove (wrapper)", 0);
35340 {
35341 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_id,&__pyx_n_s_key,&__pyx_n_s_source,&__pyx_n_s_cb,0};
35342 PyObject* values[4] = {0,0,0,0};
35343 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
35344 values[3] = ((PyObject *)Py_None(&_Py_NoneStruct));
35345 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
35346 Py_ssize_t kw_args;
35347 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
35348 switch (pos_args) {
35349 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
35350 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
35351 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
35352 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
35353 case 0: break;
35354 default: goto __pyx_L5_argtuple_error;
35355 }
35356 kw_args = PyDict_Size(__pyx_kwds);
35357 switch (pos_args) {
35358 case 0:
35359 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_id)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_id
)) != 0), 1)
) kw_args--;
35360 else goto __pyx_L5_argtuple_error;
35361 case 1:
35362 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_key)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_key
)) != 0), 1)
) kw_args--;
35363 else {
35364 __Pyx_RaiseArgtupleInvalid("medialib_property_remove", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1724; __pyx_clineno = __LINE__35364; goto __pyx_L3_error;}
35365 }
35366 case 2:
35367 if (kw_args > 0) {
35368 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_source);
35369 if (value) { values[2] = value; kw_args--; }
35370 }
35371 case 3:
35372 if (kw_args > 0) {
35373 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
35374 if (value) { values[3] = value; kw_args--; }
35375 }
35376 }
35377 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
35378 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "medialib_property_remove") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "medialib_property_remove") < 0), 0
)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1724; __pyx_clineno = __LINE__35378; goto __pyx_L3_error;}
35379 }
35380 } else {
35381 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
35382 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
35383 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
35384 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
35385 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
35386 break;
35387 default: goto __pyx_L5_argtuple_error;
35388 }
35389 }
35390 __pyx_v_id = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_id == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_id == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1724; __pyx_clineno = __LINE__35390; goto __pyx_L3_error;}
35391 __pyx_v_key = values[1];
35392 __pyx_v_source = values[2];
35393 __pyx_v_cb = values[3];
35394 }
35395 goto __pyx_L4_argument_unpacking_done;
35396 __pyx_L5_argtuple_error:;
35397 __Pyx_RaiseArgtupleInvalid("medialib_property_remove", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1724; __pyx_clineno = __LINE__35397; goto __pyx_L3_error;}
35398 __pyx_L3_error:;
35399 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_property_remove", __pyx_clineno, __pyx_lineno, __pyx_filename);
35400 __Pyx_RefNannyFinishContext();
35401 return NULL((void*)0);
35402 __pyx_L4_argument_unpacking_done:;
35403 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_126medialib_property_remove(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_id, __pyx_v_key, __pyx_v_source, __pyx_v_cb);
35404
35405 /* function exit code */
35406 __Pyx_RefNannyFinishContext();
35407 return __pyx_r;
35408}
35409
35410static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_126medialib_property_remove(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_id, PyObject *__pyx_v_key, PyObject *__pyx_v_source, PyObject *__pyx_v_cb) {
35411 PyObject *__pyx_r = NULL((void*)0);
35412 __Pyx_RefNannyDeclarations
35413 PyObject *__pyx_t_1 = NULL((void*)0);
35414 struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_property_remove __pyx_t_2;
35415 int __pyx_lineno = 0;
35416 const char *__pyx_filename = NULL((void*)0);
35417 int __pyx_clineno = 0;
35418 __Pyx_RefNannySetupContext("medialib_property_remove", 0);
35419 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
35420 __pyx_t_2.__pyx_n = 2;
35421 __pyx_t_2.source = __pyx_v_source;
35422 __pyx_t_2.cb = __pyx_v_cb;
35423 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->medialib_property_remove(__pyx_v_self, __pyx_v_id, __pyx_v_key, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1724; __pyx_clineno = __LINE__35423; goto __pyx_L1_error;}
35424 __Pyx_GOTREF(__pyx_t_1);
35425 __pyx_r = __pyx_t_1;
35426 __pyx_t_1 = 0;
35427 goto __pyx_L0;
35428
35429 /* function exit code */
35430 __pyx_L1_error:;
35431 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
35432 __Pyx_AddTraceback("xmmsapi.XmmsApi.medialib_property_remove", __pyx_clineno, __pyx_lineno, __pyx_filename);
35433 __pyx_r = NULL((void*)0);
35434 __pyx_L0:;
35435 __Pyx_XGIVEREF(__pyx_r);
35436 __Pyx_RefNannyFinishContext();
35437 return __pyx_r;
35438}
35439
35440/* "xmmsapi.pyx":1739
35441 * return self.create_result(cb, res)
35442 *
35443 * cpdef XmmsResult broadcast_medialib_entry_added(self, cb = None): # <<<<<<<<<<<<<<
35444 * """
35445 * Set a method to handle the medialib entry added broadcast
35446 */
35447
35448static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_129broadcast_medialib_entry_added(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
35449static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_broadcast_medialib_entry_added(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_medialib_entry_added *__pyx_optional_args) {
35450 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
35451 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
35452 __Pyx_RefNannyDeclarations
35453 PyObject *__pyx_t_1 = NULL((void*)0);
35454 PyObject *__pyx_t_2 = NULL((void*)0);
35455 PyObject *__pyx_t_3 = NULL((void*)0);
35456 int __pyx_lineno = 0;
35457 const char *__pyx_filename = NULL((void*)0);
35458 int __pyx_clineno = 0;
35459 __Pyx_RefNannySetupContext("broadcast_medialib_entry_added", 0);
35460 if (__pyx_optional_args) {
35461 if (__pyx_optional_args->__pyx_n > 0) {
35462 __pyx_v_cb = __pyx_optional_args->cb;
35463 }
35464 }
35465 /* Check if called by wrapper */
35466 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
35467 /* Check if overridden in Python */
35468 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
35469 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_broadcast_medialib_entry_added); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1739; __pyx_clineno = __LINE__35469; goto __pyx_L1_error;}
35470 __Pyx_GOTREF(__pyx_t_1);
35471 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_129broadcast_medialib_entry_added)) {
35472 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
35473 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1739; __pyx_clineno = __LINE__35473; goto __pyx_L1_error;}
35474 __Pyx_GOTREF(__pyx_t_2);
35475 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
35476 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
35477 __Pyx_GIVEREF(__pyx_v_cb);
35478 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1739; __pyx_clineno = __LINE__35478; goto __pyx_L1_error;}
35479 __Pyx_GOTREF(__pyx_t_3);
35480 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
35481 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1739; __pyx_clineno = __LINE__35481; goto __pyx_L1_error;}
35482 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
35483 __pyx_t_3 = 0;
35484 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
35485 goto __pyx_L0;
35486 }
35487 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
35488 }
35489
35490 /* "xmmsapi.pyx":1745
35491 * @rtype: L{XmmsResult}
35492 * """
35493 * return self.create_result(cb, xmmsc_broadcast_medialib_entry_added(self.conn)) # <<<<<<<<<<<<<<
35494 *
35495 * @deprecated
35496 */
35497 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
35498 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_broadcast_medialib_entry_added(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1745; __pyx_clineno = __LINE__35498; goto __pyx_L1_error;}
35499 __Pyx_GOTREF(__pyx_t_1);
35500 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
35501 __pyx_t_1 = 0;
35502 goto __pyx_L0;
35503
35504 /* "xmmsapi.pyx":1739
35505 * return self.create_result(cb, res)
35506 *
35507 * cpdef XmmsResult broadcast_medialib_entry_added(self, cb = None): # <<<<<<<<<<<<<<
35508 * """
35509 * Set a method to handle the medialib entry added broadcast
35510 */
35511
35512 /* function exit code */
35513 __pyx_L1_error:;
35514 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
35515 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
35516 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
35517 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_medialib_entry_added", __pyx_clineno, __pyx_lineno, __pyx_filename);
35518 __pyx_r = 0;
35519 __pyx_L0:;
35520 __Pyx_XGIVEREF((PyObject *)__pyx_r);
35521 __Pyx_RefNannyFinishContext();
35522 return __pyx_r;
35523}
35524
35525/* Python wrapper */
35526static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_129broadcast_medialib_entry_added(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
35527static char __pyx_doc_7xmmsapi_7XmmsApi_128broadcast_medialib_entry_added[] = "XmmsApi.broadcast_medialib_entry_added(self, cb=None) -> XmmsResult\n\n\t\tSet a method to handle the medialib entry added broadcast\n\t\tfrom the XMMS2 daemon. (i.e. a new entry has been added)\n\t\t@rtype: L{XmmsResult}\n\t\t";
35528static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_129broadcast_medialib_entry_added(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
35529 PyObject *__pyx_v_cb = 0;
35530 int __pyx_lineno = 0;
35531 const char *__pyx_filename = NULL((void*)0);
35532 int __pyx_clineno = 0;
35533 PyObject *__pyx_r = 0;
35534 __Pyx_RefNannyDeclarations
35535 __Pyx_RefNannySetupContext("broadcast_medialib_entry_added (wrapper)", 0);
35536 {
35537 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
35538 PyObject* values[1] = {0};
35539 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
35540 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
35541 Py_ssize_t kw_args;
35542 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
35543 switch (pos_args) {
35544 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
35545 case 0: break;
35546 default: goto __pyx_L5_argtuple_error;
35547 }
35548 kw_args = PyDict_Size(__pyx_kwds);
35549 switch (pos_args) {
35550 case 0:
35551 if (kw_args > 0) {
35552 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
35553 if (value) { values[0] = value; kw_args--; }
35554 }
35555 }
35556 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
35557 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "broadcast_medialib_entry_added") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "broadcast_medialib_entry_added") <
0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1739; __pyx_clineno = __LINE__35557; goto __pyx_L3_error;}
35558 }
35559 } else {
35560 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
35561 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
35562 case 0: break;
35563 default: goto __pyx_L5_argtuple_error;
35564 }
35565 }
35566 __pyx_v_cb = values[0];
35567 }
35568 goto __pyx_L4_argument_unpacking_done;
35569 __pyx_L5_argtuple_error:;
35570 __Pyx_RaiseArgtupleInvalid("broadcast_medialib_entry_added", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1739; __pyx_clineno = __LINE__35570; goto __pyx_L3_error;}
35571 __pyx_L3_error:;
35572 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_medialib_entry_added", __pyx_clineno, __pyx_lineno, __pyx_filename);
35573 __Pyx_RefNannyFinishContext();
35574 return NULL((void*)0);
35575 __pyx_L4_argument_unpacking_done:;
35576 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_128broadcast_medialib_entry_added(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
35577
35578 /* function exit code */
35579 __Pyx_RefNannyFinishContext();
35580 return __pyx_r;
35581}
35582
35583static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_128broadcast_medialib_entry_added(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
35584 PyObject *__pyx_r = NULL((void*)0);
35585 __Pyx_RefNannyDeclarations
35586 PyObject *__pyx_t_1 = NULL((void*)0);
35587 struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_medialib_entry_added __pyx_t_2;
35588 int __pyx_lineno = 0;
35589 const char *__pyx_filename = NULL((void*)0);
35590 int __pyx_clineno = 0;
35591 __Pyx_RefNannySetupContext("broadcast_medialib_entry_added", 0);
35592 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
35593 __pyx_t_2.__pyx_n = 1;
35594 __pyx_t_2.cb = __pyx_v_cb;
35595 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->broadcast_medialib_entry_added(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1739; __pyx_clineno = __LINE__35595; goto __pyx_L1_error;}
35596 __Pyx_GOTREF(__pyx_t_1);
35597 __pyx_r = __pyx_t_1;
35598 __pyx_t_1 = 0;
35599 goto __pyx_L0;
35600
35601 /* function exit code */
35602 __pyx_L1_error:;
35603 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
35604 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_medialib_entry_added", __pyx_clineno, __pyx_lineno, __pyx_filename);
35605 __pyx_r = NULL((void*)0);
35606 __pyx_L0:;
35607 __Pyx_XGIVEREF(__pyx_r);
35608 __Pyx_RefNannyFinishContext();
35609 return __pyx_r;
35610}
35611
35612/* "xmmsapi.pyx":1748
35613 *
35614 * @deprecated
35615 * def broadcast_medialib_entry_changed(self, cb = None): # <<<<<<<<<<<<<<
35616 * """
35617 * @deprecated
35618 */
35619
35620/* Python wrapper */
35621static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_131broadcast_medialib_entry_changed(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
35622static char __pyx_doc_7xmmsapi_7XmmsApi_130broadcast_medialib_entry_changed[] = "XmmsApi.broadcast_medialib_entry_changed(self, cb=None)\n\n\t\t@deprecated\n\t\tUse broadcast_medialib_entry_updated(self, cb = None) instead\n\t\t";
35623static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_131broadcast_medialib_entry_changed(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
35624 PyObject *__pyx_v_cb = 0;
35625 int __pyx_lineno = 0;
35626 const char *__pyx_filename = NULL((void*)0);
35627 int __pyx_clineno = 0;
35628 PyObject *__pyx_r = 0;
35629 __Pyx_RefNannyDeclarations
35630 __Pyx_RefNannySetupContext("broadcast_medialib_entry_changed (wrapper)", 0);
35631 {
35632 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
35633 PyObject* values[1] = {0};
35634 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
35635 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
35636 Py_ssize_t kw_args;
35637 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
35638 switch (pos_args) {
35639 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
35640 case 0: break;
35641 default: goto __pyx_L5_argtuple_error;
35642 }
35643 kw_args = PyDict_Size(__pyx_kwds);
35644 switch (pos_args) {
35645 case 0:
35646 if (kw_args > 0) {
35647 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
35648 if (value) { values[0] = value; kw_args--; }
35649 }
35650 }
35651 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
35652 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "broadcast_medialib_entry_changed") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "broadcast_medialib_entry_changed") <
0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1748; __pyx_clineno = __LINE__35652; goto __pyx_L3_error;}
35653 }
35654 } else {
35655 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
35656 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
35657 case 0: break;
35658 default: goto __pyx_L5_argtuple_error;
35659 }
35660 }
35661 __pyx_v_cb = values[0];
35662 }
35663 goto __pyx_L4_argument_unpacking_done;
35664 __pyx_L5_argtuple_error:;
35665 __Pyx_RaiseArgtupleInvalid("broadcast_medialib_entry_changed", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1748; __pyx_clineno = __LINE__35665; goto __pyx_L3_error;}
35666 __pyx_L3_error:;
35667 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_medialib_entry_changed", __pyx_clineno, __pyx_lineno, __pyx_filename);
35668 __Pyx_RefNannyFinishContext();
35669 return NULL((void*)0);
35670 __pyx_L4_argument_unpacking_done:;
35671 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_130broadcast_medialib_entry_changed(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
35672
35673 /* function exit code */
35674 __Pyx_RefNannyFinishContext();
35675 return __pyx_r;
35676}
35677
35678static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_130broadcast_medialib_entry_changed(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
35679 PyObject *__pyx_r = NULL((void*)0);
35680 __Pyx_RefNannyDeclarations
35681 PyObject *__pyx_t_1 = NULL((void*)0);
35682 struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_medialib_entry_updated __pyx_t_2;
35683 int __pyx_lineno = 0;
35684 const char *__pyx_filename = NULL((void*)0);
35685 int __pyx_clineno = 0;
35686 __Pyx_RefNannySetupContext("broadcast_medialib_entry_changed", 0);
35687
35688 /* "xmmsapi.pyx":1753
35689 * Use broadcast_medialib_entry_updated(self, cb = None) instead
35690 * """
35691 * return self.broadcast_medialib_entry_updated(cb) # <<<<<<<<<<<<<<
35692 *
35693 * cpdef XmmsResult broadcast_medialib_entry_updated(self, cb = None):
35694 */
35695 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
35696 __pyx_t_2.__pyx_n = 1;
35697 __pyx_t_2.cb = __pyx_v_cb;
35698 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->broadcast_medialib_entry_updated(__pyx_v_self, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1753; __pyx_clineno = __LINE__35698; goto __pyx_L1_error;}
35699 __Pyx_GOTREF(__pyx_t_1);
35700 __pyx_r = __pyx_t_1;
35701 __pyx_t_1 = 0;
35702 goto __pyx_L0;
35703
35704 /* "xmmsapi.pyx":1748
35705 *
35706 * @deprecated
35707 * def broadcast_medialib_entry_changed(self, cb = None): # <<<<<<<<<<<<<<
35708 * """
35709 * @deprecated
35710 */
35711
35712 /* function exit code */
35713 __pyx_L1_error:;
35714 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
35715 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_medialib_entry_changed", __pyx_clineno, __pyx_lineno, __pyx_filename);
35716 __pyx_r = NULL((void*)0);
35717 __pyx_L0:;
35718 __Pyx_XGIVEREF(__pyx_r);
35719 __Pyx_RefNannyFinishContext();
35720 return __pyx_r;
35721}
35722
35723/* "xmmsapi.pyx":1755
35724 * return self.broadcast_medialib_entry_updated(cb)
35725 *
35726 * cpdef XmmsResult broadcast_medialib_entry_updated(self, cb = None): # <<<<<<<<<<<<<<
35727 * """
35728 * Set a method to handle the medialib entry updated broadcast
35729 */
35730
35731static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_133broadcast_medialib_entry_updated(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
35732static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_broadcast_medialib_entry_updated(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_medialib_entry_updated *__pyx_optional_args) {
35733 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
35734 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
35735 __Pyx_RefNannyDeclarations
35736 PyObject *__pyx_t_1 = NULL((void*)0);
35737 PyObject *__pyx_t_2 = NULL((void*)0);
35738 PyObject *__pyx_t_3 = NULL((void*)0);
35739 int __pyx_lineno = 0;
35740 const char *__pyx_filename = NULL((void*)0);
35741 int __pyx_clineno = 0;
35742 __Pyx_RefNannySetupContext("broadcast_medialib_entry_updated", 0);
35743 if (__pyx_optional_args) {
35744 if (__pyx_optional_args->__pyx_n > 0) {
35745 __pyx_v_cb = __pyx_optional_args->cb;
35746 }
35747 }
35748 /* Check if called by wrapper */
35749 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
35750 /* Check if overridden in Python */
35751 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
35752 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_broadcast_medialib_entry_updated); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1755; __pyx_clineno = __LINE__35752; goto __pyx_L1_error;}
35753 __Pyx_GOTREF(__pyx_t_1);
35754 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_133broadcast_medialib_entry_updated)) {
35755 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
35756 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1755; __pyx_clineno = __LINE__35756; goto __pyx_L1_error;}
35757 __Pyx_GOTREF(__pyx_t_2);
35758 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
35759 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
35760 __Pyx_GIVEREF(__pyx_v_cb);
35761 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1755; __pyx_clineno = __LINE__35761; goto __pyx_L1_error;}
35762 __Pyx_GOTREF(__pyx_t_3);
35763 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
35764 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1755; __pyx_clineno = __LINE__35764; goto __pyx_L1_error;}
35765 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
35766 __pyx_t_3 = 0;
35767 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
35768 goto __pyx_L0;
35769 }
35770 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
35771 }
35772
35773 /* "xmmsapi.pyx":1763
35774 * @rtype: L{XmmsResult}
35775 * """
35776 * return self.create_result(cb, xmmsc_broadcast_medialib_entry_updated(self.conn)) # <<<<<<<<<<<<<<
35777 *
35778 * cpdef XmmsResult broadcast_medialib_entry_removed(self, cb = None):
35779 */
35780 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
35781 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_broadcast_medialib_entry_updated(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1763; __pyx_clineno = __LINE__35781; goto __pyx_L1_error;}
35782 __Pyx_GOTREF(__pyx_t_1);
35783 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
35784 __pyx_t_1 = 0;
35785 goto __pyx_L0;
35786
35787 /* "xmmsapi.pyx":1755
35788 * return self.broadcast_medialib_entry_updated(cb)
35789 *
35790 * cpdef XmmsResult broadcast_medialib_entry_updated(self, cb = None): # <<<<<<<<<<<<<<
35791 * """
35792 * Set a method to handle the medialib entry updated broadcast
35793 */
35794
35795 /* function exit code */
35796 __pyx_L1_error:;
35797 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
35798 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
35799 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
35800 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_medialib_entry_updated", __pyx_clineno, __pyx_lineno, __pyx_filename);
35801 __pyx_r = 0;
35802 __pyx_L0:;
35803 __Pyx_XGIVEREF((PyObject *)__pyx_r);
35804 __Pyx_RefNannyFinishContext();
35805 return __pyx_r;
35806}
35807
35808/* Python wrapper */
35809static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_133broadcast_medialib_entry_updated(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
35810static char __pyx_doc_7xmmsapi_7XmmsApi_132broadcast_medialib_entry_updated[] = "XmmsApi.broadcast_medialib_entry_updated(self, cb=None) -> XmmsResult\n\n\t\tSet a method to handle the medialib entry updated broadcast\n\t\tfrom the XMMS2 daemon.\n\t\tUpdated data is sent when the metadata for a song is updated\n\t\tin the medialib.\n\t\t@rtype: L{XmmsResult}\n\t\t";
35811static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_133broadcast_medialib_entry_updated(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
35812 PyObject *__pyx_v_cb = 0;
35813 int __pyx_lineno = 0;
35814 const char *__pyx_filename = NULL((void*)0);
35815 int __pyx_clineno = 0;
35816 PyObject *__pyx_r = 0;
35817 __Pyx_RefNannyDeclarations
35818 __Pyx_RefNannySetupContext("broadcast_medialib_entry_updated (wrapper)", 0);
35819 {
35820 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
35821 PyObject* values[1] = {0};
35822 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
35823 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
35824 Py_ssize_t kw_args;
35825 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
35826 switch (pos_args) {
35827 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
35828 case 0: break;
35829 default: goto __pyx_L5_argtuple_error;
35830 }
35831 kw_args = PyDict_Size(__pyx_kwds);
35832 switch (pos_args) {
35833 case 0:
35834 if (kw_args > 0) {
35835 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
35836 if (value) { values[0] = value; kw_args--; }
35837 }
35838 }
35839 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
35840 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "broadcast_medialib_entry_updated") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "broadcast_medialib_entry_updated") <
0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1755; __pyx_clineno = __LINE__35840; goto __pyx_L3_error;}
35841 }
35842 } else {
35843 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
35844 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
35845 case 0: break;
35846 default: goto __pyx_L5_argtuple_error;
35847 }
35848 }
35849 __pyx_v_cb = values[0];
35850 }
35851 goto __pyx_L4_argument_unpacking_done;
35852 __pyx_L5_argtuple_error:;
35853 __Pyx_RaiseArgtupleInvalid("broadcast_medialib_entry_updated", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1755; __pyx_clineno = __LINE__35853; goto __pyx_L3_error;}
35854 __pyx_L3_error:;
35855 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_medialib_entry_updated", __pyx_clineno, __pyx_lineno, __pyx_filename);
35856 __Pyx_RefNannyFinishContext();
35857 return NULL((void*)0);
35858 __pyx_L4_argument_unpacking_done:;
35859 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_132broadcast_medialib_entry_updated(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
35860
35861 /* function exit code */
35862 __Pyx_RefNannyFinishContext();
35863 return __pyx_r;
35864}
35865
35866static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_132broadcast_medialib_entry_updated(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
35867 PyObject *__pyx_r = NULL((void*)0);
35868 __Pyx_RefNannyDeclarations
35869 PyObject *__pyx_t_1 = NULL((void*)0);
35870 struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_medialib_entry_updated __pyx_t_2;
35871 int __pyx_lineno = 0;
35872 const char *__pyx_filename = NULL((void*)0);
35873 int __pyx_clineno = 0;
35874 __Pyx_RefNannySetupContext("broadcast_medialib_entry_updated", 0);
35875 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
35876 __pyx_t_2.__pyx_n = 1;
35877 __pyx_t_2.cb = __pyx_v_cb;
35878 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->broadcast_medialib_entry_updated(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1755; __pyx_clineno = __LINE__35878; goto __pyx_L1_error;}
35879 __Pyx_GOTREF(__pyx_t_1);
35880 __pyx_r = __pyx_t_1;
35881 __pyx_t_1 = 0;
35882 goto __pyx_L0;
35883
35884 /* function exit code */
35885 __pyx_L1_error:;
35886 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
35887 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_medialib_entry_updated", __pyx_clineno, __pyx_lineno, __pyx_filename);
35888 __pyx_r = NULL((void*)0);
35889 __pyx_L0:;
35890 __Pyx_XGIVEREF(__pyx_r);
35891 __Pyx_RefNannyFinishContext();
35892 return __pyx_r;
35893}
35894
35895/* "xmmsapi.pyx":1765
35896 * return self.create_result(cb, xmmsc_broadcast_medialib_entry_updated(self.conn))
35897 *
35898 * cpdef XmmsResult broadcast_medialib_entry_removed(self, cb = None): # <<<<<<<<<<<<<<
35899 * """
35900 * Set a method to handle the medialib entry removed broadcast
35901 */
35902
35903static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_135broadcast_medialib_entry_removed(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
35904static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_broadcast_medialib_entry_removed(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_medialib_entry_removed *__pyx_optional_args) {
35905 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
35906 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
35907 __Pyx_RefNannyDeclarations
35908 PyObject *__pyx_t_1 = NULL((void*)0);
35909 PyObject *__pyx_t_2 = NULL((void*)0);
35910 PyObject *__pyx_t_3 = NULL((void*)0);
35911 int __pyx_lineno = 0;
35912 const char *__pyx_filename = NULL((void*)0);
35913 int __pyx_clineno = 0;
35914 __Pyx_RefNannySetupContext("broadcast_medialib_entry_removed", 0);
35915 if (__pyx_optional_args) {
35916 if (__pyx_optional_args->__pyx_n > 0) {
35917 __pyx_v_cb = __pyx_optional_args->cb;
35918 }
35919 }
35920 /* Check if called by wrapper */
35921 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
35922 /* Check if overridden in Python */
35923 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
35924 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_broadcast_medialib_entry_removed); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1765; __pyx_clineno = __LINE__35924; goto __pyx_L1_error;}
35925 __Pyx_GOTREF(__pyx_t_1);
35926 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_135broadcast_medialib_entry_removed)) {
35927 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
35928 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1765; __pyx_clineno = __LINE__35928; goto __pyx_L1_error;}
35929 __Pyx_GOTREF(__pyx_t_2);
35930 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
35931 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
35932 __Pyx_GIVEREF(__pyx_v_cb);
35933 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1765; __pyx_clineno = __LINE__35933; goto __pyx_L1_error;}
35934 __Pyx_GOTREF(__pyx_t_3);
35935 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
35936 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1765; __pyx_clineno = __LINE__35936; goto __pyx_L1_error;}
35937 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
35938 __pyx_t_3 = 0;
35939 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
35940 goto __pyx_L0;
35941 }
35942 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
35943 }
35944
35945 /* "xmmsapi.pyx":1771
35946 * @rtype: L{XmmsResult}
35947 * """
35948 * return self.create_result(cb, xmmsc_broadcast_medialib_entry_removed(self.conn)) # <<<<<<<<<<<<<<
35949 *
35950 * cpdef XmmsResult broadcast_collection_changed(self, cb = None):
35951 */
35952 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
35953 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_broadcast_medialib_entry_removed(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1771; __pyx_clineno = __LINE__35953; goto __pyx_L1_error;}
35954 __Pyx_GOTREF(__pyx_t_1);
35955 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
35956 __pyx_t_1 = 0;
35957 goto __pyx_L0;
35958
35959 /* "xmmsapi.pyx":1765
35960 * return self.create_result(cb, xmmsc_broadcast_medialib_entry_updated(self.conn))
35961 *
35962 * cpdef XmmsResult broadcast_medialib_entry_removed(self, cb = None): # <<<<<<<<<<<<<<
35963 * """
35964 * Set a method to handle the medialib entry removed broadcast
35965 */
35966
35967 /* function exit code */
35968 __pyx_L1_error:;
35969 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
35970 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
35971 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
35972 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_medialib_entry_removed", __pyx_clineno, __pyx_lineno, __pyx_filename);
35973 __pyx_r = 0;
35974 __pyx_L0:;
35975 __Pyx_XGIVEREF((PyObject *)__pyx_r);
35976 __Pyx_RefNannyFinishContext();
35977 return __pyx_r;
35978}
35979
35980/* Python wrapper */
35981static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_135broadcast_medialib_entry_removed(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
35982static char __pyx_doc_7xmmsapi_7XmmsApi_134broadcast_medialib_entry_removed[] = "XmmsApi.broadcast_medialib_entry_removed(self, cb=None) -> XmmsResult\n\n\t\tSet a method to handle the medialib entry removed broadcast\n\t\tfrom the XMMS2 daemon. (i.e. an entry has been removed)\n\t\t@rtype: L{XmmsResult}\n\t\t";
35983static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_135broadcast_medialib_entry_removed(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
35984 PyObject *__pyx_v_cb = 0;
35985 int __pyx_lineno = 0;
35986 const char *__pyx_filename = NULL((void*)0);
35987 int __pyx_clineno = 0;
35988 PyObject *__pyx_r = 0;
35989 __Pyx_RefNannyDeclarations
35990 __Pyx_RefNannySetupContext("broadcast_medialib_entry_removed (wrapper)", 0);
35991 {
35992 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
35993 PyObject* values[1] = {0};
35994 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
35995 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
35996 Py_ssize_t kw_args;
35997 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
35998 switch (pos_args) {
35999 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
36000 case 0: break;
36001 default: goto __pyx_L5_argtuple_error;
36002 }
36003 kw_args = PyDict_Size(__pyx_kwds);
36004 switch (pos_args) {
36005 case 0:
36006 if (kw_args > 0) {
36007 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
36008 if (value) { values[0] = value; kw_args--; }
36009 }
36010 }
36011 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
36012 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "broadcast_medialib_entry_removed") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "broadcast_medialib_entry_removed") <
0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1765; __pyx_clineno = __LINE__36012; goto __pyx_L3_error;}
36013 }
36014 } else {
36015 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
36016 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
36017 case 0: break;
36018 default: goto __pyx_L5_argtuple_error;
36019 }
36020 }
36021 __pyx_v_cb = values[0];
36022 }
36023 goto __pyx_L4_argument_unpacking_done;
36024 __pyx_L5_argtuple_error:;
36025 __Pyx_RaiseArgtupleInvalid("broadcast_medialib_entry_removed", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1765; __pyx_clineno = __LINE__36025; goto __pyx_L3_error;}
36026 __pyx_L3_error:;
36027 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_medialib_entry_removed", __pyx_clineno, __pyx_lineno, __pyx_filename);
36028 __Pyx_RefNannyFinishContext();
36029 return NULL((void*)0);
36030 __pyx_L4_argument_unpacking_done:;
36031 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_134broadcast_medialib_entry_removed(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
36032
36033 /* function exit code */
36034 __Pyx_RefNannyFinishContext();
36035 return __pyx_r;
36036}
36037
36038static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_134broadcast_medialib_entry_removed(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
36039 PyObject *__pyx_r = NULL((void*)0);
36040 __Pyx_RefNannyDeclarations
36041 PyObject *__pyx_t_1 = NULL((void*)0);
36042 struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_medialib_entry_removed __pyx_t_2;
36043 int __pyx_lineno = 0;
36044 const char *__pyx_filename = NULL((void*)0);
36045 int __pyx_clineno = 0;
36046 __Pyx_RefNannySetupContext("broadcast_medialib_entry_removed", 0);
36047 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
36048 __pyx_t_2.__pyx_n = 1;
36049 __pyx_t_2.cb = __pyx_v_cb;
36050 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->broadcast_medialib_entry_removed(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1765; __pyx_clineno = __LINE__36050; goto __pyx_L1_error;}
36051 __Pyx_GOTREF(__pyx_t_1);
36052 __pyx_r = __pyx_t_1;
36053 __pyx_t_1 = 0;
36054 goto __pyx_L0;
36055
36056 /* function exit code */
36057 __pyx_L1_error:;
36058 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
36059 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_medialib_entry_removed", __pyx_clineno, __pyx_lineno, __pyx_filename);
36060 __pyx_r = NULL((void*)0);
36061 __pyx_L0:;
36062 __Pyx_XGIVEREF(__pyx_r);
36063 __Pyx_RefNannyFinishContext();
36064 return __pyx_r;
36065}
36066
36067/* "xmmsapi.pyx":1773
36068 * return self.create_result(cb, xmmsc_broadcast_medialib_entry_removed(self.conn))
36069 *
36070 * cpdef XmmsResult broadcast_collection_changed(self, cb = None): # <<<<<<<<<<<<<<
36071 * """
36072 * Set a method to handle the collection changed broadcast
36073 */
36074
36075static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_137broadcast_collection_changed(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
36076static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_broadcast_collection_changed(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_collection_changed *__pyx_optional_args) {
36077 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
36078 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
36079 __Pyx_RefNannyDeclarations
36080 PyObject *__pyx_t_1 = NULL((void*)0);
36081 PyObject *__pyx_t_2 = NULL((void*)0);
36082 PyObject *__pyx_t_3 = NULL((void*)0);
36083 int __pyx_lineno = 0;
36084 const char *__pyx_filename = NULL((void*)0);
36085 int __pyx_clineno = 0;
36086 __Pyx_RefNannySetupContext("broadcast_collection_changed", 0);
36087 if (__pyx_optional_args) {
36088 if (__pyx_optional_args->__pyx_n > 0) {
36089 __pyx_v_cb = __pyx_optional_args->cb;
36090 }
36091 }
36092 /* Check if called by wrapper */
36093 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
36094 /* Check if overridden in Python */
36095 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
36096 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_broadcast_collection_changed); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1773; __pyx_clineno = __LINE__36096; goto __pyx_L1_error;}
36097 __Pyx_GOTREF(__pyx_t_1);
36098 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_137broadcast_collection_changed)) {
36099 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
36100 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1773; __pyx_clineno = __LINE__36100; goto __pyx_L1_error;}
36101 __Pyx_GOTREF(__pyx_t_2);
36102 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
36103 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
36104 __Pyx_GIVEREF(__pyx_v_cb);
36105 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1773; __pyx_clineno = __LINE__36105; goto __pyx_L1_error;}
36106 __Pyx_GOTREF(__pyx_t_3);
36107 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
36108 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1773; __pyx_clineno = __LINE__36108; goto __pyx_L1_error;}
36109 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
36110 __pyx_t_3 = 0;
36111 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
36112 goto __pyx_L0;
36113 }
36114 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
36115 }
36116
36117 /* "xmmsapi.pyx":1779
36118 * @rtype: L{XmmsResult}
36119 * """
36120 * return self.create_result(cb, xmmsc_broadcast_collection_changed(self.conn)) # <<<<<<<<<<<<<<
36121 *
36122 * cpdef XmmsResult signal_mediainfo_reader_unindexed(self, cb = None):
36123 */
36124 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
36125 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_broadcast_collection_changed(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1779; __pyx_clineno = __LINE__36125; goto __pyx_L1_error;}
36126 __Pyx_GOTREF(__pyx_t_1);
36127 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
36128 __pyx_t_1 = 0;
36129 goto __pyx_L0;
36130
36131 /* "xmmsapi.pyx":1773
36132 * return self.create_result(cb, xmmsc_broadcast_medialib_entry_removed(self.conn))
36133 *
36134 * cpdef XmmsResult broadcast_collection_changed(self, cb = None): # <<<<<<<<<<<<<<
36135 * """
36136 * Set a method to handle the collection changed broadcast
36137 */
36138
36139 /* function exit code */
36140 __pyx_L1_error:;
36141 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
36142 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
36143 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
36144 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_collection_changed", __pyx_clineno, __pyx_lineno, __pyx_filename);
36145 __pyx_r = 0;
36146 __pyx_L0:;
36147 __Pyx_XGIVEREF((PyObject *)__pyx_r);
36148 __Pyx_RefNannyFinishContext();
36149 return __pyx_r;
36150}
36151
36152/* Python wrapper */
36153static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_137broadcast_collection_changed(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
36154static char __pyx_doc_7xmmsapi_7XmmsApi_136broadcast_collection_changed[] = "XmmsApi.broadcast_collection_changed(self, cb=None) -> XmmsResult\n\n\t\tSet a method to handle the collection changed broadcast\n\t\tfrom the XMMS2 daemon.\n\t\t@rtype: L{XmmsResult}\n\t\t";
36155static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_137broadcast_collection_changed(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
36156 PyObject *__pyx_v_cb = 0;
36157 int __pyx_lineno = 0;
36158 const char *__pyx_filename = NULL((void*)0);
36159 int __pyx_clineno = 0;
36160 PyObject *__pyx_r = 0;
36161 __Pyx_RefNannyDeclarations
36162 __Pyx_RefNannySetupContext("broadcast_collection_changed (wrapper)", 0);
36163 {
36164 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
36165 PyObject* values[1] = {0};
36166 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
36167 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
36168 Py_ssize_t kw_args;
36169 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
36170 switch (pos_args) {
36171 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
36172 case 0: break;
36173 default: goto __pyx_L5_argtuple_error;
36174 }
36175 kw_args = PyDict_Size(__pyx_kwds);
36176 switch (pos_args) {
36177 case 0:
36178 if (kw_args > 0) {
36179 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
36180 if (value) { values[0] = value; kw_args--; }
36181 }
36182 }
36183 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
36184 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "broadcast_collection_changed") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "broadcast_collection_changed") < 0
), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1773; __pyx_clineno = __LINE__36184; goto __pyx_L3_error;}
36185 }
36186 } else {
36187 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
36188 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
36189 case 0: break;
36190 default: goto __pyx_L5_argtuple_error;
36191 }
36192 }
36193 __pyx_v_cb = values[0];
36194 }
36195 goto __pyx_L4_argument_unpacking_done;
36196 __pyx_L5_argtuple_error:;
36197 __Pyx_RaiseArgtupleInvalid("broadcast_collection_changed", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1773; __pyx_clineno = __LINE__36197; goto __pyx_L3_error;}
36198 __pyx_L3_error:;
36199 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_collection_changed", __pyx_clineno, __pyx_lineno, __pyx_filename);
36200 __Pyx_RefNannyFinishContext();
36201 return NULL((void*)0);
36202 __pyx_L4_argument_unpacking_done:;
36203 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_136broadcast_collection_changed(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
36204
36205 /* function exit code */
36206 __Pyx_RefNannyFinishContext();
36207 return __pyx_r;
36208}
36209
36210static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_136broadcast_collection_changed(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
36211 PyObject *__pyx_r = NULL((void*)0);
36212 __Pyx_RefNannyDeclarations
36213 PyObject *__pyx_t_1 = NULL((void*)0);
36214 struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_collection_changed __pyx_t_2;
36215 int __pyx_lineno = 0;
36216 const char *__pyx_filename = NULL((void*)0);
36217 int __pyx_clineno = 0;
36218 __Pyx_RefNannySetupContext("broadcast_collection_changed", 0);
36219 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
36220 __pyx_t_2.__pyx_n = 1;
36221 __pyx_t_2.cb = __pyx_v_cb;
36222 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->broadcast_collection_changed(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1773; __pyx_clineno = __LINE__36222; goto __pyx_L1_error;}
36223 __Pyx_GOTREF(__pyx_t_1);
36224 __pyx_r = __pyx_t_1;
36225 __pyx_t_1 = 0;
36226 goto __pyx_L0;
36227
36228 /* function exit code */
36229 __pyx_L1_error:;
36230 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
36231 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_collection_changed", __pyx_clineno, __pyx_lineno, __pyx_filename);
36232 __pyx_r = NULL((void*)0);
36233 __pyx_L0:;
36234 __Pyx_XGIVEREF(__pyx_r);
36235 __Pyx_RefNannyFinishContext();
36236 return __pyx_r;
36237}
36238
36239/* "xmmsapi.pyx":1781
36240 * return self.create_result(cb, xmmsc_broadcast_collection_changed(self.conn))
36241 *
36242 * cpdef XmmsResult signal_mediainfo_reader_unindexed(self, cb = None): # <<<<<<<<<<<<<<
36243 * """
36244 * Tell daemon to send you the number of unindexed files in the mlib
36245 */
36246
36247static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_139signal_mediainfo_reader_unindexed(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
36248static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_signal_mediainfo_reader_unindexed(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_signal_mediainfo_reader_unindexed *__pyx_optional_args) {
36249 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
36250 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
36251 __Pyx_RefNannyDeclarations
36252 PyObject *__pyx_t_1 = NULL((void*)0);
36253 PyObject *__pyx_t_2 = NULL((void*)0);
36254 PyObject *__pyx_t_3 = NULL((void*)0);
36255 int __pyx_lineno = 0;
36256 const char *__pyx_filename = NULL((void*)0);
36257 int __pyx_clineno = 0;
36258 __Pyx_RefNannySetupContext("signal_mediainfo_reader_unindexed", 0);
36259 if (__pyx_optional_args) {
36260 if (__pyx_optional_args->__pyx_n > 0) {
36261 __pyx_v_cb = __pyx_optional_args->cb;
36262 }
36263 }
36264 /* Check if called by wrapper */
36265 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
36266 /* Check if overridden in Python */
36267 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
36268 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_signal_mediainfo_reader_unindexe); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1781; __pyx_clineno = __LINE__36268; goto __pyx_L1_error;}
36269 __Pyx_GOTREF(__pyx_t_1);
36270 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_139signal_mediainfo_reader_unindexed)) {
36271 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
36272 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1781; __pyx_clineno = __LINE__36272; goto __pyx_L1_error;}
36273 __Pyx_GOTREF(__pyx_t_2);
36274 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
36275 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
36276 __Pyx_GIVEREF(__pyx_v_cb);
36277 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1781; __pyx_clineno = __LINE__36277; goto __pyx_L1_error;}
36278 __Pyx_GOTREF(__pyx_t_3);
36279 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
36280 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1781; __pyx_clineno = __LINE__36280; goto __pyx_L1_error;}
36281 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
36282 __pyx_t_3 = 0;
36283 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
36284 goto __pyx_L0;
36285 }
36286 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
36287 }
36288
36289 /* "xmmsapi.pyx":1787
36290 * @return: The result of the operation.
36291 * """
36292 * return self.create_result(cb, xmmsc_signal_mediainfo_reader_unindexed(self.conn)) # <<<<<<<<<<<<<<
36293 *
36294 * cpdef XmmsResult broadcast_mediainfo_reader_status(self, cb = None):
36295 */
36296 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
36297 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_signal_mediainfo_reader_unindexed(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1787; __pyx_clineno = __LINE__36297; goto __pyx_L1_error;}
36298 __Pyx_GOTREF(__pyx_t_1);
36299 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
36300 __pyx_t_1 = 0;
36301 goto __pyx_L0;
36302
36303 /* "xmmsapi.pyx":1781
36304 * return self.create_result(cb, xmmsc_broadcast_collection_changed(self.conn))
36305 *
36306 * cpdef XmmsResult signal_mediainfo_reader_unindexed(self, cb = None): # <<<<<<<<<<<<<<
36307 * """
36308 * Tell daemon to send you the number of unindexed files in the mlib
36309 */
36310
36311 /* function exit code */
36312 __pyx_L1_error:;
36313 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
36314 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
36315 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
36316 __Pyx_AddTraceback("xmmsapi.XmmsApi.signal_mediainfo_reader_unindexed", __pyx_clineno, __pyx_lineno, __pyx_filename);
36317 __pyx_r = 0;
36318 __pyx_L0:;
36319 __Pyx_XGIVEREF((PyObject *)__pyx_r);
36320 __Pyx_RefNannyFinishContext();
36321 return __pyx_r;
36322}
36323
36324/* Python wrapper */
36325static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_139signal_mediainfo_reader_unindexed(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
36326static char __pyx_doc_7xmmsapi_7XmmsApi_138signal_mediainfo_reader_unindexed[] = "XmmsApi.signal_mediainfo_reader_unindexed(self, cb=None) -> XmmsResult\n\n\t\tTell daemon to send you the number of unindexed files in the mlib\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
36327static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_139signal_mediainfo_reader_unindexed(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
36328 PyObject *__pyx_v_cb = 0;
36329 int __pyx_lineno = 0;
36330 const char *__pyx_filename = NULL((void*)0);
36331 int __pyx_clineno = 0;
36332 PyObject *__pyx_r = 0;
36333 __Pyx_RefNannyDeclarations
36334 __Pyx_RefNannySetupContext("signal_mediainfo_reader_unindexed (wrapper)", 0);
36335 {
36336 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
36337 PyObject* values[1] = {0};
36338 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
36339 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
36340 Py_ssize_t kw_args;
36341 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
36342 switch (pos_args) {
36343 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
36344 case 0: break;
36345 default: goto __pyx_L5_argtuple_error;
36346 }
36347 kw_args = PyDict_Size(__pyx_kwds);
36348 switch (pos_args) {
36349 case 0:
36350 if (kw_args > 0) {
36351 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
36352 if (value) { values[0] = value; kw_args--; }
36353 }
36354 }
36355 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
36356 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "signal_mediainfo_reader_unindexed") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "signal_mediainfo_reader_unindexed") <
0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1781; __pyx_clineno = __LINE__36356; goto __pyx_L3_error;}
36357 }
36358 } else {
36359 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
36360 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
36361 case 0: break;
36362 default: goto __pyx_L5_argtuple_error;
36363 }
36364 }
36365 __pyx_v_cb = values[0];
36366 }
36367 goto __pyx_L4_argument_unpacking_done;
36368 __pyx_L5_argtuple_error:;
36369 __Pyx_RaiseArgtupleInvalid("signal_mediainfo_reader_unindexed", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1781; __pyx_clineno = __LINE__36369; goto __pyx_L3_error;}
36370 __pyx_L3_error:;
36371 __Pyx_AddTraceback("xmmsapi.XmmsApi.signal_mediainfo_reader_unindexed", __pyx_clineno, __pyx_lineno, __pyx_filename);
36372 __Pyx_RefNannyFinishContext();
36373 return NULL((void*)0);
36374 __pyx_L4_argument_unpacking_done:;
36375 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_138signal_mediainfo_reader_unindexed(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
36376
36377 /* function exit code */
36378 __Pyx_RefNannyFinishContext();
36379 return __pyx_r;
36380}
36381
36382static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_138signal_mediainfo_reader_unindexed(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
36383 PyObject *__pyx_r = NULL((void*)0);
36384 __Pyx_RefNannyDeclarations
36385 PyObject *__pyx_t_1 = NULL((void*)0);
36386 struct __pyx_opt_args_7xmmsapi_7XmmsApi_signal_mediainfo_reader_unindexed __pyx_t_2;
36387 int __pyx_lineno = 0;
36388 const char *__pyx_filename = NULL((void*)0);
36389 int __pyx_clineno = 0;
36390 __Pyx_RefNannySetupContext("signal_mediainfo_reader_unindexed", 0);
36391 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
36392 __pyx_t_2.__pyx_n = 1;
36393 __pyx_t_2.cb = __pyx_v_cb;
36394 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->signal_mediainfo_reader_unindexed(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1781; __pyx_clineno = __LINE__36394; goto __pyx_L1_error;}
36395 __Pyx_GOTREF(__pyx_t_1);
36396 __pyx_r = __pyx_t_1;
36397 __pyx_t_1 = 0;
36398 goto __pyx_L0;
36399
36400 /* function exit code */
36401 __pyx_L1_error:;
36402 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
36403 __Pyx_AddTraceback("xmmsapi.XmmsApi.signal_mediainfo_reader_unindexed", __pyx_clineno, __pyx_lineno, __pyx_filename);
36404 __pyx_r = NULL((void*)0);
36405 __pyx_L0:;
36406 __Pyx_XGIVEREF(__pyx_r);
36407 __Pyx_RefNannyFinishContext();
36408 return __pyx_r;
36409}
36410
36411/* "xmmsapi.pyx":1789
36412 * return self.create_result(cb, xmmsc_signal_mediainfo_reader_unindexed(self.conn))
36413 *
36414 * cpdef XmmsResult broadcast_mediainfo_reader_status(self, cb = None): # <<<<<<<<<<<<<<
36415 * """
36416 * Tell daemon to send you the status of the mediainfo reader
36417 */
36418
36419static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_141broadcast_mediainfo_reader_status(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
36420static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_broadcast_mediainfo_reader_status(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_mediainfo_reader_status *__pyx_optional_args) {
36421 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
36422 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
36423 __Pyx_RefNannyDeclarations
36424 PyObject *__pyx_t_1 = NULL((void*)0);
36425 PyObject *__pyx_t_2 = NULL((void*)0);
36426 PyObject *__pyx_t_3 = NULL((void*)0);
36427 int __pyx_lineno = 0;
36428 const char *__pyx_filename = NULL((void*)0);
36429 int __pyx_clineno = 0;
36430 __Pyx_RefNannySetupContext("broadcast_mediainfo_reader_status", 0);
36431 if (__pyx_optional_args) {
36432 if (__pyx_optional_args->__pyx_n > 0) {
36433 __pyx_v_cb = __pyx_optional_args->cb;
36434 }
36435 }
36436 /* Check if called by wrapper */
36437 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
36438 /* Check if overridden in Python */
36439 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
36440 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_broadcast_mediainfo_reader_statu); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1789; __pyx_clineno = __LINE__36440; goto __pyx_L1_error;}
36441 __Pyx_GOTREF(__pyx_t_1);
36442 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_141broadcast_mediainfo_reader_status)) {
36443 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
36444 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1789; __pyx_clineno = __LINE__36444; goto __pyx_L1_error;}
36445 __Pyx_GOTREF(__pyx_t_2);
36446 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
36447 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
36448 __Pyx_GIVEREF(__pyx_v_cb);
36449 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1789; __pyx_clineno = __LINE__36449; goto __pyx_L1_error;}
36450 __Pyx_GOTREF(__pyx_t_3);
36451 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
36452 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1789; __pyx_clineno = __LINE__36452; goto __pyx_L1_error;}
36453 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
36454 __pyx_t_3 = 0;
36455 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
36456 goto __pyx_L0;
36457 }
36458 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
36459 }
36460
36461 /* "xmmsapi.pyx":1795
36462 * @return: The result of the operation.
36463 * """
36464 * return self.create_result(cb, xmmsc_broadcast_mediainfo_reader_status(self.conn)) # <<<<<<<<<<<<<<
36465 *
36466 * cpdef XmmsResult xform_media_browse(self, url, cb = None, encoded = False):
36467 */
36468 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
36469 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_broadcast_mediainfo_reader_status(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1795; __pyx_clineno = __LINE__36469; goto __pyx_L1_error;}
36470 __Pyx_GOTREF(__pyx_t_1);
36471 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
36472 __pyx_t_1 = 0;
36473 goto __pyx_L0;
36474
36475 /* "xmmsapi.pyx":1789
36476 * return self.create_result(cb, xmmsc_signal_mediainfo_reader_unindexed(self.conn))
36477 *
36478 * cpdef XmmsResult broadcast_mediainfo_reader_status(self, cb = None): # <<<<<<<<<<<<<<
36479 * """
36480 * Tell daemon to send you the status of the mediainfo reader
36481 */
36482
36483 /* function exit code */
36484 __pyx_L1_error:;
36485 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
36486 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
36487 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
36488 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_mediainfo_reader_status", __pyx_clineno, __pyx_lineno, __pyx_filename);
36489 __pyx_r = 0;
36490 __pyx_L0:;
36491 __Pyx_XGIVEREF((PyObject *)__pyx_r);
36492 __Pyx_RefNannyFinishContext();
36493 return __pyx_r;
36494}
36495
36496/* Python wrapper */
36497static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_141broadcast_mediainfo_reader_status(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
36498static char __pyx_doc_7xmmsapi_7XmmsApi_140broadcast_mediainfo_reader_status[] = "XmmsApi.broadcast_mediainfo_reader_status(self, cb=None) -> XmmsResult\n\n\t\tTell daemon to send you the status of the mediainfo reader\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
36499static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_141broadcast_mediainfo_reader_status(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
36500 PyObject *__pyx_v_cb = 0;
36501 int __pyx_lineno = 0;
36502 const char *__pyx_filename = NULL((void*)0);
36503 int __pyx_clineno = 0;
36504 PyObject *__pyx_r = 0;
36505 __Pyx_RefNannyDeclarations
36506 __Pyx_RefNannySetupContext("broadcast_mediainfo_reader_status (wrapper)", 0);
36507 {
36508 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
36509 PyObject* values[1] = {0};
36510 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
36511 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
36512 Py_ssize_t kw_args;
36513 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
36514 switch (pos_args) {
36515 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
36516 case 0: break;
36517 default: goto __pyx_L5_argtuple_error;
36518 }
36519 kw_args = PyDict_Size(__pyx_kwds);
36520 switch (pos_args) {
36521 case 0:
36522 if (kw_args > 0) {
36523 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
36524 if (value) { values[0] = value; kw_args--; }
36525 }
36526 }
36527 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
36528 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "broadcast_mediainfo_reader_status") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "broadcast_mediainfo_reader_status") <
0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1789; __pyx_clineno = __LINE__36528; goto __pyx_L3_error;}
36529 }
36530 } else {
36531 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
36532 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
36533 case 0: break;
36534 default: goto __pyx_L5_argtuple_error;
36535 }
36536 }
36537 __pyx_v_cb = values[0];
36538 }
36539 goto __pyx_L4_argument_unpacking_done;
36540 __pyx_L5_argtuple_error:;
36541 __Pyx_RaiseArgtupleInvalid("broadcast_mediainfo_reader_status", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1789; __pyx_clineno = __LINE__36541; goto __pyx_L3_error;}
36542 __pyx_L3_error:;
36543 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_mediainfo_reader_status", __pyx_clineno, __pyx_lineno, __pyx_filename);
36544 __Pyx_RefNannyFinishContext();
36545 return NULL((void*)0);
36546 __pyx_L4_argument_unpacking_done:;
36547 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_140broadcast_mediainfo_reader_status(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
36548
36549 /* function exit code */
36550 __Pyx_RefNannyFinishContext();
36551 return __pyx_r;
36552}
36553
36554static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_140broadcast_mediainfo_reader_status(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
36555 PyObject *__pyx_r = NULL((void*)0);
36556 __Pyx_RefNannyDeclarations
36557 PyObject *__pyx_t_1 = NULL((void*)0);
36558 struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_mediainfo_reader_status __pyx_t_2;
36559 int __pyx_lineno = 0;
36560 const char *__pyx_filename = NULL((void*)0);
36561 int __pyx_clineno = 0;
36562 __Pyx_RefNannySetupContext("broadcast_mediainfo_reader_status", 0);
36563 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
36564 __pyx_t_2.__pyx_n = 1;
36565 __pyx_t_2.cb = __pyx_v_cb;
36566 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->broadcast_mediainfo_reader_status(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1789; __pyx_clineno = __LINE__36566; goto __pyx_L1_error;}
36567 __Pyx_GOTREF(__pyx_t_1);
36568 __pyx_r = __pyx_t_1;
36569 __pyx_t_1 = 0;
36570 goto __pyx_L0;
36571
36572 /* function exit code */
36573 __pyx_L1_error:;
36574 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
36575 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_mediainfo_reader_status", __pyx_clineno, __pyx_lineno, __pyx_filename);
36576 __pyx_r = NULL((void*)0);
36577 __pyx_L0:;
36578 __Pyx_XGIVEREF(__pyx_r);
36579 __Pyx_RefNannyFinishContext();
36580 return __pyx_r;
36581}
36582
36583/* "xmmsapi.pyx":1797
36584 * return self.create_result(cb, xmmsc_broadcast_mediainfo_reader_status(self.conn))
36585 *
36586 * cpdef XmmsResult xform_media_browse(self, url, cb = None, encoded = False): # <<<<<<<<<<<<<<
36587 * """
36588 * Browse files from xform plugins.
36589 */
36590
36591static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_143xform_media_browse(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
36592static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_xform_media_browse(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_url, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_xform_media_browse *__pyx_optional_args) {
36593 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
36594 PyObject *__pyx_v_encoded = ((PyObject *)Py_False((PyObject *) &_Py_ZeroStruct));
36595 xmmsc_result_t *__pyx_v_res;
36596 PyObject *__pyx_v_u = NULL((void*)0);
36597 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
36598 __Pyx_RefNannyDeclarations
36599 PyObject *__pyx_t_1 = NULL((void*)0);
36600 PyObject *__pyx_t_2 = NULL((void*)0);
36601 PyObject *__pyx_t_3 = NULL((void*)0);
36602 int __pyx_t_4;
36603 char *__pyx_t_5;
36604 int __pyx_lineno = 0;
36605 const char *__pyx_filename = NULL((void*)0);
36606 int __pyx_clineno = 0;
36607 __Pyx_RefNannySetupContext("xform_media_browse", 0);
36608 if (__pyx_optional_args) {
36609 if (__pyx_optional_args->__pyx_n > 0) {
36610 __pyx_v_cb = __pyx_optional_args->cb;
36611 if (__pyx_optional_args->__pyx_n > 1) {
36612 __pyx_v_encoded = __pyx_optional_args->encoded;
36613 }
36614 }
36615 }
36616 /* Check if called by wrapper */
36617 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
36618 /* Check if overridden in Python */
36619 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
36620 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_xform_media_browse); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1797; __pyx_clineno = __LINE__36620; goto __pyx_L1_error;}
36621 __Pyx_GOTREF(__pyx_t_1);
36622 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_143xform_media_browse)) {
36623 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
36624 __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1797; __pyx_clineno = __LINE__36624; goto __pyx_L1_error;}
36625 __Pyx_GOTREF(__pyx_t_2);
36626 __Pyx_INCREF(__pyx_v_url)( ((PyObject*)(__pyx_v_url))->ob_refcnt++);
36627 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_url)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_url);
36628 __Pyx_GIVEREF(__pyx_v_url);
36629 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
36630 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_cb);
36631 __Pyx_GIVEREF(__pyx_v_cb);
36632 __Pyx_INCREF(__pyx_v_encoded)( ((PyObject*)(__pyx_v_encoded))->ob_refcnt++);
36633 PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_encoded)(((PyTupleObject *)(__pyx_t_2))->ob_item[2] = __pyx_v_encoded
)
;
36634 __Pyx_GIVEREF(__pyx_v_encoded);
36635 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1797; __pyx_clineno = __LINE__36635; goto __pyx_L1_error;}
36636 __Pyx_GOTREF(__pyx_t_3);
36637 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
36638 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1797; __pyx_clineno = __LINE__36638; goto __pyx_L1_error;}
36639 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
36640 __pyx_t_3 = 0;
36641 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
36642 goto __pyx_L0;
36643 }
36644 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
36645 }
36646
36647 /* "xmmsapi.pyx":1804
36648 * """
36649 * cdef xmmsc_result_t *res
36650 * u = from_unicode(url) # <<<<<<<<<<<<<<
36651 * if encoded:
36652 * res = xmmsc_xform_media_browse_encoded(self.conn, <char *>u)
36653 */
36654 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_url); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1804; __pyx_clineno = __LINE__36654; goto __pyx_L1_error;}
36655 __Pyx_GOTREF(__pyx_t_1);
36656 __pyx_v_u = __pyx_t_1;
36657 __pyx_t_1 = 0;
36658
36659 /* "xmmsapi.pyx":1805
36660 * cdef xmmsc_result_t *res
36661 * u = from_unicode(url)
36662 * if encoded: # <<<<<<<<<<<<<<
36663 * res = xmmsc_xform_media_browse_encoded(self.conn, <char *>u)
36664 * else:
36665 */
36666 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_encoded); if (unlikely(__pyx_t_4 < 0)__builtin_expect(!!(__pyx_t_4 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1805; __pyx_clineno = __LINE__36666; goto __pyx_L1_error;}
36667 if (__pyx_t_4) {
36668
36669 /* "xmmsapi.pyx":1806
36670 * u = from_unicode(url)
36671 * if encoded:
36672 * res = xmmsc_xform_media_browse_encoded(self.conn, <char *>u) # <<<<<<<<<<<<<<
36673 * else:
36674 * res = xmmsc_xform_media_browse(self.conn, <char *>u)
36675 */
36676 __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_u); if (unlikely((!__pyx_t_5) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_5) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1806; __pyx_clineno = __LINE__36676; goto __pyx_L1_error;}
36677 __pyx_v_res = xmmsc_xform_media_browse_encoded(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_5));
36678 goto __pyx_L3;
36679 }
36680 /*else*/ {
36681
36682 /* "xmmsapi.pyx":1808
36683 * res = xmmsc_xform_media_browse_encoded(self.conn, <char *>u)
36684 * else:
36685 * res = xmmsc_xform_media_browse(self.conn, <char *>u) # <<<<<<<<<<<<<<
36686 * return self.create_result(cb, res)
36687 *
36688 */
36689 __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_u); if (unlikely((!__pyx_t_5) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_5) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1808; __pyx_clineno = __LINE__36689; goto __pyx_L1_error;}
36690 __pyx_v_res = xmmsc_xform_media_browse(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_5));
36691 }
36692 __pyx_L3:;
36693
36694 /* "xmmsapi.pyx":1809
36695 * else:
36696 * res = xmmsc_xform_media_browse(self.conn, <char *>u)
36697 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
36698 *
36699 * @deprecated
36700 */
36701 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
36702 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1809; __pyx_clineno = __LINE__36702; goto __pyx_L1_error;}
36703 __Pyx_GOTREF(__pyx_t_1);
36704 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
36705 __pyx_t_1 = 0;
36706 goto __pyx_L0;
36707
36708 /* "xmmsapi.pyx":1797
36709 * return self.create_result(cb, xmmsc_broadcast_mediainfo_reader_status(self.conn))
36710 *
36711 * cpdef XmmsResult xform_media_browse(self, url, cb = None, encoded = False): # <<<<<<<<<<<<<<
36712 * """
36713 * Browse files from xform plugins.
36714 */
36715
36716 /* function exit code */
36717 __pyx_L1_error:;
36718 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
36719 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
36720 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
36721 __Pyx_AddTraceback("xmmsapi.XmmsApi.xform_media_browse", __pyx_clineno, __pyx_lineno, __pyx_filename);
36722 __pyx_r = 0;
36723 __pyx_L0:;
36724 __Pyx_XDECREF(__pyx_v_u)do { if ((__pyx_v_u) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_u))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_u)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_u)))); } while (0); } while (0)
;
36725 __Pyx_XGIVEREF((PyObject *)__pyx_r);
36726 __Pyx_RefNannyFinishContext();
36727 return __pyx_r;
36728}
36729
36730/* Python wrapper */
36731static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_143xform_media_browse(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
36732static char __pyx_doc_7xmmsapi_7XmmsApi_142xform_media_browse[] = "XmmsApi.xform_media_browse(self, url, cb=None, encoded=False) -> XmmsResult\n\n\t\tBrowse files from xform plugins.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
36733static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_143xform_media_browse(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
36734 PyObject *__pyx_v_url = 0;
36735 PyObject *__pyx_v_cb = 0;
36736 PyObject *__pyx_v_encoded = 0;
36737 int __pyx_lineno = 0;
36738 const char *__pyx_filename = NULL((void*)0);
36739 int __pyx_clineno = 0;
36740 PyObject *__pyx_r = 0;
36741 __Pyx_RefNannyDeclarations
36742 __Pyx_RefNannySetupContext("xform_media_browse (wrapper)", 0);
36743 {
36744 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_url,&__pyx_n_s_cb,&__pyx_n_s_encoded,0};
36745 PyObject* values[3] = {0,0,0};
36746 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
36747 values[2] = ((PyObject *)Py_False((PyObject *) &_Py_ZeroStruct));
36748 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
36749 Py_ssize_t kw_args;
36750 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
36751 switch (pos_args) {
36752 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
36753 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
36754 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
36755 case 0: break;
36756 default: goto __pyx_L5_argtuple_error;
36757 }
36758 kw_args = PyDict_Size(__pyx_kwds);
36759 switch (pos_args) {
36760 case 0:
36761 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_url)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_url
)) != 0), 1)
) kw_args--;
36762 else goto __pyx_L5_argtuple_error;
36763 case 1:
36764 if (kw_args > 0) {
36765 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
36766 if (value) { values[1] = value; kw_args--; }
36767 }
36768 case 2:
36769 if (kw_args > 0) {
36770 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_encoded);
36771 if (value) { values[2] = value; kw_args--; }
36772 }
36773 }
36774 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
36775 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "xform_media_browse") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "xform_media_browse") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1797; __pyx_clineno = __LINE__36775; goto __pyx_L3_error;}
36776 }
36777 } else {
36778 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
36779 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
36780 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
36781 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
36782 break;
36783 default: goto __pyx_L5_argtuple_error;
36784 }
36785 }
36786 __pyx_v_url = values[0];
36787 __pyx_v_cb = values[1];
36788 __pyx_v_encoded = values[2];
36789 }
36790 goto __pyx_L4_argument_unpacking_done;
36791 __pyx_L5_argtuple_error:;
36792 __Pyx_RaiseArgtupleInvalid("xform_media_browse", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1797; __pyx_clineno = __LINE__36792; goto __pyx_L3_error;}
36793 __pyx_L3_error:;
36794 __Pyx_AddTraceback("xmmsapi.XmmsApi.xform_media_browse", __pyx_clineno, __pyx_lineno, __pyx_filename);
36795 __Pyx_RefNannyFinishContext();
36796 return NULL((void*)0);
36797 __pyx_L4_argument_unpacking_done:;
36798 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_142xform_media_browse(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_url, __pyx_v_cb, __pyx_v_encoded);
36799
36800 /* function exit code */
36801 __Pyx_RefNannyFinishContext();
36802 return __pyx_r;
36803}
36804
36805static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_142xform_media_browse(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_url, PyObject *__pyx_v_cb, PyObject *__pyx_v_encoded) {
36806 PyObject *__pyx_r = NULL((void*)0);
36807 __Pyx_RefNannyDeclarations
36808 PyObject *__pyx_t_1 = NULL((void*)0);
36809 struct __pyx_opt_args_7xmmsapi_7XmmsApi_xform_media_browse __pyx_t_2;
36810 int __pyx_lineno = 0;
36811 const char *__pyx_filename = NULL((void*)0);
36812 int __pyx_clineno = 0;
36813 __Pyx_RefNannySetupContext("xform_media_browse", 0);
36814 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
36815 __pyx_t_2.__pyx_n = 2;
36816 __pyx_t_2.cb = __pyx_v_cb;
36817 __pyx_t_2.encoded = __pyx_v_encoded;
36818 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->xform_media_browse(__pyx_v_self, __pyx_v_url, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1797; __pyx_clineno = __LINE__36818; goto __pyx_L1_error;}
36819 __Pyx_GOTREF(__pyx_t_1);
36820 __pyx_r = __pyx_t_1;
36821 __pyx_t_1 = 0;
36822 goto __pyx_L0;
36823
36824 /* function exit code */
36825 __pyx_L1_error:;
36826 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
36827 __Pyx_AddTraceback("xmmsapi.XmmsApi.xform_media_browse", __pyx_clineno, __pyx_lineno, __pyx_filename);
36828 __pyx_r = NULL((void*)0);
36829 __pyx_L0:;
36830 __Pyx_XGIVEREF(__pyx_r);
36831 __Pyx_RefNannyFinishContext();
36832 return __pyx_r;
36833}
36834
36835/* "xmmsapi.pyx":1812
36836 *
36837 * @deprecated
36838 * def xform_media_browse_encoded(self, url, cb = None): # <<<<<<<<<<<<<<
36839 * """
36840 * @deprecated
36841 */
36842
36843/* Python wrapper */
36844static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_145xform_media_browse_encoded(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
36845static char __pyx_doc_7xmmsapi_7XmmsApi_144xform_media_browse_encoded[] = "XmmsApi.xform_media_browse_encoded(self, url, cb=None)\n\n\t\t@deprecated\n\t\tUse xform_media_browse(url, ..., encoded = True) instead\n\t\t";
36846static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_145xform_media_browse_encoded(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
36847 PyObject *__pyx_v_url = 0;
36848 PyObject *__pyx_v_cb = 0;
36849 int __pyx_lineno = 0;
36850 const char *__pyx_filename = NULL((void*)0);
36851 int __pyx_clineno = 0;
36852 PyObject *__pyx_r = 0;
36853 __Pyx_RefNannyDeclarations
36854 __Pyx_RefNannySetupContext("xform_media_browse_encoded (wrapper)", 0);
36855 {
36856 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_url,&__pyx_n_s_cb,0};
36857 PyObject* values[2] = {0,0};
36858 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
36859 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
36860 Py_ssize_t kw_args;
36861 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
36862 switch (pos_args) {
36863 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
36864 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
36865 case 0: break;
36866 default: goto __pyx_L5_argtuple_error;
36867 }
36868 kw_args = PyDict_Size(__pyx_kwds);
36869 switch (pos_args) {
36870 case 0:
36871 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_url)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_url
)) != 0), 1)
) kw_args--;
36872 else goto __pyx_L5_argtuple_error;
36873 case 1:
36874 if (kw_args > 0) {
36875 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
36876 if (value) { values[1] = value; kw_args--; }
36877 }
36878 }
36879 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
36880 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "xform_media_browse_encoded") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "xform_media_browse_encoded") < 0),
0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1812; __pyx_clineno = __LINE__36880; goto __pyx_L3_error;}
36881 }
36882 } else {
36883 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
36884 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
36885 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
36886 break;
36887 default: goto __pyx_L5_argtuple_error;
36888 }
36889 }
36890 __pyx_v_url = values[0];
36891 __pyx_v_cb = values[1];
36892 }
36893 goto __pyx_L4_argument_unpacking_done;
36894 __pyx_L5_argtuple_error:;
36895 __Pyx_RaiseArgtupleInvalid("xform_media_browse_encoded", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1812; __pyx_clineno = __LINE__36895; goto __pyx_L3_error;}
36896 __pyx_L3_error:;
36897 __Pyx_AddTraceback("xmmsapi.XmmsApi.xform_media_browse_encoded", __pyx_clineno, __pyx_lineno, __pyx_filename);
36898 __Pyx_RefNannyFinishContext();
36899 return NULL((void*)0);
36900 __pyx_L4_argument_unpacking_done:;
36901 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_144xform_media_browse_encoded(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_url, __pyx_v_cb);
36902
36903 /* function exit code */
36904 __Pyx_RefNannyFinishContext();
36905 return __pyx_r;
36906}
36907
36908static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_144xform_media_browse_encoded(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_url, PyObject *__pyx_v_cb) {
36909 PyObject *__pyx_r = NULL((void*)0);
36910 __Pyx_RefNannyDeclarations
36911 PyObject *__pyx_t_1 = NULL((void*)0);
36912 struct __pyx_opt_args_7xmmsapi_7XmmsApi_xform_media_browse __pyx_t_2;
36913 int __pyx_lineno = 0;
36914 const char *__pyx_filename = NULL((void*)0);
36915 int __pyx_clineno = 0;
36916 __Pyx_RefNannySetupContext("xform_media_browse_encoded", 0);
36917
36918 /* "xmmsapi.pyx":1817
36919 * Use xform_media_browse(url, ..., encoded = True) instead
36920 * """
36921 * return self.xform_media_browse(url, cb = cb, encoded = True) # <<<<<<<<<<<<<<
36922 *
36923 * cpdef XmmsResult coll_get(self, name, ns = "Collections", cb = None):
36924 */
36925 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
36926 __pyx_t_2.__pyx_n = 2;
36927 __pyx_t_2.cb = __pyx_v_cb;
36928 __pyx_t_2.encoded = Py_True((PyObject *) &_Py_TrueStruct);
36929 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->xform_media_browse(__pyx_v_self, __pyx_v_url, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1817; __pyx_clineno = __LINE__36929; goto __pyx_L1_error;}
36930 __Pyx_GOTREF(__pyx_t_1);
36931 __pyx_r = __pyx_t_1;
36932 __pyx_t_1 = 0;
36933 goto __pyx_L0;
36934
36935 /* "xmmsapi.pyx":1812
36936 *
36937 * @deprecated
36938 * def xform_media_browse_encoded(self, url, cb = None): # <<<<<<<<<<<<<<
36939 * """
36940 * @deprecated
36941 */
36942
36943 /* function exit code */
36944 __pyx_L1_error:;
36945 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
36946 __Pyx_AddTraceback("xmmsapi.XmmsApi.xform_media_browse_encoded", __pyx_clineno, __pyx_lineno, __pyx_filename);
36947 __pyx_r = NULL((void*)0);
36948 __pyx_L0:;
36949 __Pyx_XGIVEREF(__pyx_r);
36950 __Pyx_RefNannyFinishContext();
36951 return __pyx_r;
36952}
36953
36954/* "xmmsapi.pyx":1819
36955 * return self.xform_media_browse(url, cb = cb, encoded = True)
36956 *
36957 * cpdef XmmsResult coll_get(self, name, ns = "Collections", cb = None): # <<<<<<<<<<<<<<
36958 * """
36959 * Retrieve a Collection
36960 */
36961
36962static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_147coll_get(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
36963static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_coll_get(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_name, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_get *__pyx_optional_args) {
36964 PyObject *__pyx_v_ns = ((PyObject *)__pyx_n_s_Collections);
36965 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
36966 char *__pyx_v_n;
36967 PyObject *__pyx_v_nam = NULL((void*)0);
36968 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
36969 __Pyx_RefNannyDeclarations
36970 PyObject *__pyx_t_1 = NULL((void*)0);
36971 PyObject *__pyx_t_2 = NULL((void*)0);
36972 PyObject *__pyx_t_3 = NULL((void*)0);
36973 char *__pyx_t_4;
36974 int __pyx_lineno = 0;
36975 const char *__pyx_filename = NULL((void*)0);
36976 int __pyx_clineno = 0;
36977 __Pyx_RefNannySetupContext("coll_get", 0);
36978 if (__pyx_optional_args) {
36979 if (__pyx_optional_args->__pyx_n > 0) {
36980 __pyx_v_ns = __pyx_optional_args->ns;
36981 if (__pyx_optional_args->__pyx_n > 1) {
36982 __pyx_v_cb = __pyx_optional_args->cb;
36983 }
36984 }
36985 }
36986 /* Check if called by wrapper */
36987 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
36988 /* Check if overridden in Python */
36989 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
36990 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_coll_get); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1819; __pyx_clineno = __LINE__36990; goto __pyx_L1_error;}
36991 __Pyx_GOTREF(__pyx_t_1);
36992 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_147coll_get)) {
36993 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
36994 __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1819; __pyx_clineno = __LINE__36994; goto __pyx_L1_error;}
36995 __Pyx_GOTREF(__pyx_t_2);
36996 __Pyx_INCREF(__pyx_v_name)( ((PyObject*)(__pyx_v_name))->ob_refcnt++);
36997 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_name)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_name
)
;
36998 __Pyx_GIVEREF(__pyx_v_name);
36999 __Pyx_INCREF(__pyx_v_ns)( ((PyObject*)(__pyx_v_ns))->ob_refcnt++);
37000 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_ns)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_ns);
37001 __Pyx_GIVEREF(__pyx_v_ns);
37002 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
37003 PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[2] = __pyx_v_cb);
37004 __Pyx_GIVEREF(__pyx_v_cb);
37005 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1819; __pyx_clineno = __LINE__37005; goto __pyx_L1_error;}
37006 __Pyx_GOTREF(__pyx_t_3);
37007 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
37008 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1819; __pyx_clineno = __LINE__37008; goto __pyx_L1_error;}
37009 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
37010 __pyx_t_3 = 0;
37011 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
37012 goto __pyx_L0;
37013 }
37014 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
37015 }
37016
37017 /* "xmmsapi.pyx":1826
37018 * """
37019 * cdef char *n
37020 * n = check_namespace(ns, False) # <<<<<<<<<<<<<<
37021 * nam = from_unicode(name)
37022 * return self.create_result(cb, xmmsc_coll_get(self.conn, nam, n))
37023 */
37024 __pyx_t_4 = __pyx_f_7xmmsapi_check_namespace(__pyx_v_ns, 0); if (unlikely(__pyx_t_4 == NULL)__builtin_expect(!!(__pyx_t_4 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1826; __pyx_clineno = __LINE__37024; goto __pyx_L1_error;}
37025 __pyx_v_n = __pyx_t_4;
37026
37027 /* "xmmsapi.pyx":1827
37028 * cdef char *n
37029 * n = check_namespace(ns, False)
37030 * nam = from_unicode(name) # <<<<<<<<<<<<<<
37031 * return self.create_result(cb, xmmsc_coll_get(self.conn, nam, n))
37032 *
37033 */
37034 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_name); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1827; __pyx_clineno = __LINE__37034; goto __pyx_L1_error;}
37035 __Pyx_GOTREF(__pyx_t_1);
37036 __pyx_v_nam = __pyx_t_1;
37037 __pyx_t_1 = 0;
37038
37039 /* "xmmsapi.pyx":1828
37040 * n = check_namespace(ns, False)
37041 * nam = from_unicode(name)
37042 * return self.create_result(cb, xmmsc_coll_get(self.conn, nam, n)) # <<<<<<<<<<<<<<
37043 *
37044 * cpdef XmmsResult coll_list(self, ns = "Collections", cb = None):
37045 */
37046 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
37047 __pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_nam); if (unlikely((!__pyx_t_4) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_4) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1828; __pyx_clineno = __LINE__37047; goto __pyx_L1_error;}
37048 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_coll_get(__pyx_v_self->__pyx_base.conn, __pyx_t_4, __pyx_v_n))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1828; __pyx_clineno = __LINE__37048; goto __pyx_L1_error;}
37049 __Pyx_GOTREF(__pyx_t_1);
37050 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
37051 __pyx_t_1 = 0;
37052 goto __pyx_L0;
37053
37054 /* "xmmsapi.pyx":1819
37055 * return self.xform_media_browse(url, cb = cb, encoded = True)
37056 *
37057 * cpdef XmmsResult coll_get(self, name, ns = "Collections", cb = None): # <<<<<<<<<<<<<<
37058 * """
37059 * Retrieve a Collection
37060 */
37061
37062 /* function exit code */
37063 __pyx_L1_error:;
37064 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
37065 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
37066 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
37067 __Pyx_AddTraceback("xmmsapi.XmmsApi.coll_get", __pyx_clineno, __pyx_lineno, __pyx_filename);
37068 __pyx_r = 0;
37069 __pyx_L0:;
37070 __Pyx_XDECREF(__pyx_v_nam)do { if ((__pyx_v_nam) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_nam))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(__pyx_v_nam)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_nam)))); } while (0); } while (0)
;
37071 __Pyx_XGIVEREF((PyObject *)__pyx_r);
37072 __Pyx_RefNannyFinishContext();
37073 return __pyx_r;
37074}
37075
37076/* Python wrapper */
37077static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_147coll_get(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
37078static char __pyx_doc_7xmmsapi_7XmmsApi_146coll_get[] = "XmmsApi.coll_get(self, name, ns='Collections', cb=None) -> XmmsResult\n\n\t\tRetrieve a Collection\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
37079static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_147coll_get(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
37080 PyObject *__pyx_v_name = 0;
37081 PyObject *__pyx_v_ns = 0;
37082 PyObject *__pyx_v_cb = 0;
37083 int __pyx_lineno = 0;
37084 const char *__pyx_filename = NULL((void*)0);
37085 int __pyx_clineno = 0;
37086 PyObject *__pyx_r = 0;
37087 __Pyx_RefNannyDeclarations
37088 __Pyx_RefNannySetupContext("coll_get (wrapper)", 0);
37089 {
37090 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name_2,&__pyx_n_s_ns,&__pyx_n_s_cb,0};
37091 PyObject* values[3] = {0,0,0};
37092 values[1] = ((PyObject *)__pyx_n_s_Collections);
37093 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
37094 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
37095 Py_ssize_t kw_args;
37096 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
37097 switch (pos_args) {
37098 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
37099 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
37100 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
37101 case 0: break;
37102 default: goto __pyx_L5_argtuple_error;
37103 }
37104 kw_args = PyDict_Size(__pyx_kwds);
37105 switch (pos_args) {
37106 case 0:
37107 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name_2)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name_2
)) != 0), 1)
) kw_args--;
37108 else goto __pyx_L5_argtuple_error;
37109 case 1:
37110 if (kw_args > 0) {
37111 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ns);
37112 if (value) { values[1] = value; kw_args--; }
37113 }
37114 case 2:
37115 if (kw_args > 0) {
37116 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
37117 if (value) { values[2] = value; kw_args--; }
37118 }
37119 }
37120 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
37121 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "coll_get") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "coll_get") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1819; __pyx_clineno = __LINE__37121; goto __pyx_L3_error;}
37122 }
37123 } else {
37124 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
37125 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
37126 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
37127 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
37128 break;
37129 default: goto __pyx_L5_argtuple_error;
37130 }
37131 }
37132 __pyx_v_name = values[0];
37133 __pyx_v_ns = values[1];
37134 __pyx_v_cb = values[2];
37135 }
37136 goto __pyx_L4_argument_unpacking_done;
37137 __pyx_L5_argtuple_error:;
37138 __Pyx_RaiseArgtupleInvalid("coll_get", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1819; __pyx_clineno = __LINE__37138; goto __pyx_L3_error;}
37139 __pyx_L3_error:;
37140 __Pyx_AddTraceback("xmmsapi.XmmsApi.coll_get", __pyx_clineno, __pyx_lineno, __pyx_filename);
37141 __Pyx_RefNannyFinishContext();
37142 return NULL((void*)0);
37143 __pyx_L4_argument_unpacking_done:;
37144 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_146coll_get(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_name, __pyx_v_ns, __pyx_v_cb);
37145
37146 /* function exit code */
37147 __Pyx_RefNannyFinishContext();
37148 return __pyx_r;
37149}
37150
37151static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_146coll_get(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_ns, PyObject *__pyx_v_cb) {
37152 PyObject *__pyx_r = NULL((void*)0);
37153 __Pyx_RefNannyDeclarations
37154 PyObject *__pyx_t_1 = NULL((void*)0);
37155 struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_get __pyx_t_2;
37156 int __pyx_lineno = 0;
37157 const char *__pyx_filename = NULL((void*)0);
37158 int __pyx_clineno = 0;
37159 __Pyx_RefNannySetupContext("coll_get", 0);
37160 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
37161 __pyx_t_2.__pyx_n = 2;
37162 __pyx_t_2.ns = __pyx_v_ns;
37163 __pyx_t_2.cb = __pyx_v_cb;
37164 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->coll_get(__pyx_v_self, __pyx_v_name, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1819; __pyx_clineno = __LINE__37164; goto __pyx_L1_error;}
37165 __Pyx_GOTREF(__pyx_t_1);
37166 __pyx_r = __pyx_t_1;
37167 __pyx_t_1 = 0;
37168 goto __pyx_L0;
37169
37170 /* function exit code */
37171 __pyx_L1_error:;
37172 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
37173 __Pyx_AddTraceback("xmmsapi.XmmsApi.coll_get", __pyx_clineno, __pyx_lineno, __pyx_filename);
37174 __pyx_r = NULL((void*)0);
37175 __pyx_L0:;
37176 __Pyx_XGIVEREF(__pyx_r);
37177 __Pyx_RefNannyFinishContext();
37178 return __pyx_r;
37179}
37180
37181/* "xmmsapi.pyx":1830
37182 * return self.create_result(cb, xmmsc_coll_get(self.conn, nam, n))
37183 *
37184 * cpdef XmmsResult coll_list(self, ns = "Collections", cb = None): # <<<<<<<<<<<<<<
37185 * """
37186 * List collections
37187 */
37188
37189static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_149coll_list(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
37190static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_coll_list(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_list *__pyx_optional_args) {
37191 PyObject *__pyx_v_ns = ((PyObject *)__pyx_n_s_Collections);
37192 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
37193 char *__pyx_v_n;
37194 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
37195 __Pyx_RefNannyDeclarations
37196 PyObject *__pyx_t_1 = NULL((void*)0);
37197 PyObject *__pyx_t_2 = NULL((void*)0);
37198 PyObject *__pyx_t_3 = NULL((void*)0);
37199 char *__pyx_t_4;
37200 int __pyx_lineno = 0;
37201 const char *__pyx_filename = NULL((void*)0);
37202 int __pyx_clineno = 0;
37203 __Pyx_RefNannySetupContext("coll_list", 0);
37204 if (__pyx_optional_args) {
37205 if (__pyx_optional_args->__pyx_n > 0) {
37206 __pyx_v_ns = __pyx_optional_args->ns;
37207 if (__pyx_optional_args->__pyx_n > 1) {
37208 __pyx_v_cb = __pyx_optional_args->cb;
37209 }
37210 }
37211 }
37212 /* Check if called by wrapper */
37213 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
37214 /* Check if overridden in Python */
37215 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
37216 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_coll_list); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1830; __pyx_clineno = __LINE__37216; goto __pyx_L1_error;}
37217 __Pyx_GOTREF(__pyx_t_1);
37218 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_149coll_list)) {
37219 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
37220 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1830; __pyx_clineno = __LINE__37220; goto __pyx_L1_error;}
37221 __Pyx_GOTREF(__pyx_t_2);
37222 __Pyx_INCREF(__pyx_v_ns)( ((PyObject*)(__pyx_v_ns))->ob_refcnt++);
37223 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_ns)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_ns);
37224 __Pyx_GIVEREF(__pyx_v_ns);
37225 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
37226 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_cb);
37227 __Pyx_GIVEREF(__pyx_v_cb);
37228 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1830; __pyx_clineno = __LINE__37228; goto __pyx_L1_error;}
37229 __Pyx_GOTREF(__pyx_t_3);
37230 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
37231 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1830; __pyx_clineno = __LINE__37231; goto __pyx_L1_error;}
37232 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
37233 __pyx_t_3 = 0;
37234 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
37235 goto __pyx_L0;
37236 }
37237 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
37238 }
37239
37240 /* "xmmsapi.pyx":1837
37241 * """
37242 * cdef char *n
37243 * n = check_namespace(ns, False) # <<<<<<<<<<<<<<
37244 * return self.create_result(cb, xmmsc_coll_list(self.conn, n))
37245 *
37246 */
37247 __pyx_t_4 = __pyx_f_7xmmsapi_check_namespace(__pyx_v_ns, 0); if (unlikely(__pyx_t_4 == NULL)__builtin_expect(!!(__pyx_t_4 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1837; __pyx_clineno = __LINE__37247; goto __pyx_L1_error;}
37248 __pyx_v_n = __pyx_t_4;
37249
37250 /* "xmmsapi.pyx":1838
37251 * cdef char *n
37252 * n = check_namespace(ns, False)
37253 * return self.create_result(cb, xmmsc_coll_list(self.conn, n)) # <<<<<<<<<<<<<<
37254 *
37255 * cpdef XmmsResult coll_save(self, Collection coll, name, ns = "Collections", cb = None):
37256 */
37257 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
37258 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_coll_list(__pyx_v_self->__pyx_base.conn, __pyx_v_n))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1838; __pyx_clineno = __LINE__37258; goto __pyx_L1_error;}
37259 __Pyx_GOTREF(__pyx_t_1);
37260 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
37261 __pyx_t_1 = 0;
37262 goto __pyx_L0;
37263
37264 /* "xmmsapi.pyx":1830
37265 * return self.create_result(cb, xmmsc_coll_get(self.conn, nam, n))
37266 *
37267 * cpdef XmmsResult coll_list(self, ns = "Collections", cb = None): # <<<<<<<<<<<<<<
37268 * """
37269 * List collections
37270 */
37271
37272 /* function exit code */
37273 __pyx_L1_error:;
37274 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
37275 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
37276 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
37277 __Pyx_AddTraceback("xmmsapi.XmmsApi.coll_list", __pyx_clineno, __pyx_lineno, __pyx_filename);
37278 __pyx_r = 0;
37279 __pyx_L0:;
37280 __Pyx_XGIVEREF((PyObject *)__pyx_r);
37281 __Pyx_RefNannyFinishContext();
37282 return __pyx_r;
37283}
37284
37285/* Python wrapper */
37286static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_149coll_list(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
37287static char __pyx_doc_7xmmsapi_7XmmsApi_148coll_list[] = "XmmsApi.coll_list(self, ns='Collections', cb=None) -> XmmsResult\n\n\t\tList collections\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
37288static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_149coll_list(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
37289 PyObject *__pyx_v_ns = 0;
37290 PyObject *__pyx_v_cb = 0;
37291 int __pyx_lineno = 0;
37292 const char *__pyx_filename = NULL((void*)0);
37293 int __pyx_clineno = 0;
37294 PyObject *__pyx_r = 0;
37295 __Pyx_RefNannyDeclarations
37296 __Pyx_RefNannySetupContext("coll_list (wrapper)", 0);
37297 {
37298 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ns,&__pyx_n_s_cb,0};
37299 PyObject* values[2] = {0,0};
37300 values[0] = ((PyObject *)__pyx_n_s_Collections);
37301 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
37302 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
37303 Py_ssize_t kw_args;
37304 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
37305 switch (pos_args) {
37306 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
37307 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
37308 case 0: break;
37309 default: goto __pyx_L5_argtuple_error;
37310 }
37311 kw_args = PyDict_Size(__pyx_kwds);
37312 switch (pos_args) {
37313 case 0:
37314 if (kw_args > 0) {
37315 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ns);
37316 if (value) { values[0] = value; kw_args--; }
37317 }
37318 case 1:
37319 if (kw_args > 0) {
37320 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
37321 if (value) { values[1] = value; kw_args--; }
37322 }
37323 }
37324 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
37325 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "coll_list") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "coll_list") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1830; __pyx_clineno = __LINE__37325; goto __pyx_L3_error;}
37326 }
37327 } else {
37328 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
37329 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
37330 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
37331 case 0: break;
37332 default: goto __pyx_L5_argtuple_error;
37333 }
37334 }
37335 __pyx_v_ns = values[0];
37336 __pyx_v_cb = values[1];
37337 }
37338 goto __pyx_L4_argument_unpacking_done;
37339 __pyx_L5_argtuple_error:;
37340 __Pyx_RaiseArgtupleInvalid("coll_list", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1830; __pyx_clineno = __LINE__37340; goto __pyx_L3_error;}
37341 __pyx_L3_error:;
37342 __Pyx_AddTraceback("xmmsapi.XmmsApi.coll_list", __pyx_clineno, __pyx_lineno, __pyx_filename);
37343 __Pyx_RefNannyFinishContext();
37344 return NULL((void*)0);
37345 __pyx_L4_argument_unpacking_done:;
37346 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_148coll_list(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_ns, __pyx_v_cb);
37347
37348 /* function exit code */
37349 __Pyx_RefNannyFinishContext();
37350 return __pyx_r;
37351}
37352
37353static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_148coll_list(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_ns, PyObject *__pyx_v_cb) {
37354 PyObject *__pyx_r = NULL((void*)0);
37355 __Pyx_RefNannyDeclarations
37356 PyObject *__pyx_t_1 = NULL((void*)0);
37357 struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_list __pyx_t_2;
37358 int __pyx_lineno = 0;
37359 const char *__pyx_filename = NULL((void*)0);
37360 int __pyx_clineno = 0;
37361 __Pyx_RefNannySetupContext("coll_list", 0);
37362 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
37363 __pyx_t_2.__pyx_n = 2;
37364 __pyx_t_2.ns = __pyx_v_ns;
37365 __pyx_t_2.cb = __pyx_v_cb;
37366 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->coll_list(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1830; __pyx_clineno = __LINE__37366; goto __pyx_L1_error;}
37367 __Pyx_GOTREF(__pyx_t_1);
37368 __pyx_r = __pyx_t_1;
37369 __pyx_t_1 = 0;
37370 goto __pyx_L0;
37371
37372 /* function exit code */
37373 __pyx_L1_error:;
37374 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
37375 __Pyx_AddTraceback("xmmsapi.XmmsApi.coll_list", __pyx_clineno, __pyx_lineno, __pyx_filename);
37376 __pyx_r = NULL((void*)0);
37377 __pyx_L0:;
37378 __Pyx_XGIVEREF(__pyx_r);
37379 __Pyx_RefNannyFinishContext();
37380 return __pyx_r;
37381}
37382
37383/* "xmmsapi.pyx":1840
37384 * return self.create_result(cb, xmmsc_coll_list(self.conn, n))
37385 *
37386 * cpdef XmmsResult coll_save(self, Collection coll, name, ns = "Collections", cb = None): # <<<<<<<<<<<<<<
37387 * """
37388 * Save a collection on server.
37389 */
37390
37391static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_151coll_save(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
37392static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_coll_save(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, struct __pyx_obj_9xmmsvalue_Collection *__pyx_v_coll, PyObject *__pyx_v_name, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_save *__pyx_optional_args) {
37393 PyObject *__pyx_v_ns = ((PyObject *)__pyx_n_s_Collections);
37394 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
37395 char *__pyx_v_n;
37396 PyObject *__pyx_v_nam = NULL((void*)0);
37397 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
37398 __Pyx_RefNannyDeclarations
37399 PyObject *__pyx_t_1 = NULL((void*)0);
37400 PyObject *__pyx_t_2 = NULL((void*)0);
37401 PyObject *__pyx_t_3 = NULL((void*)0);
37402 char *__pyx_t_4;
37403 int __pyx_lineno = 0;
37404 const char *__pyx_filename = NULL((void*)0);
37405 int __pyx_clineno = 0;
37406 __Pyx_RefNannySetupContext("coll_save", 0);
37407 if (__pyx_optional_args) {
37408 if (__pyx_optional_args->__pyx_n > 0) {
37409 __pyx_v_ns = __pyx_optional_args->ns;
37410 if (__pyx_optional_args->__pyx_n > 1) {
37411 __pyx_v_cb = __pyx_optional_args->cb;
37412 }
37413 }
37414 }
37415 /* Check if called by wrapper */
37416 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
37417 /* Check if overridden in Python */
37418 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
37419 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_coll_save); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1840; __pyx_clineno = __LINE__37419; goto __pyx_L1_error;}
37420 __Pyx_GOTREF(__pyx_t_1);
37421 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_151coll_save)) {
37422 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
37423 __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1840; __pyx_clineno = __LINE__37423; goto __pyx_L1_error;}
37424 __Pyx_GOTREF(__pyx_t_2);
37425 __Pyx_INCREF(((PyObject *)__pyx_v_coll))( ((PyObject*)(((PyObject *)__pyx_v_coll)))->ob_refcnt++);
37426 PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_coll))(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = ((PyObject *
)__pyx_v_coll))
;
37427 __Pyx_GIVEREF(((PyObject *)__pyx_v_coll));
37428 __Pyx_INCREF(__pyx_v_name)( ((PyObject*)(__pyx_v_name))->ob_refcnt++);
37429 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_name)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_name
)
;
37430 __Pyx_GIVEREF(__pyx_v_name);
37431 __Pyx_INCREF(__pyx_v_ns)( ((PyObject*)(__pyx_v_ns))->ob_refcnt++);
37432 PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_ns)(((PyTupleObject *)(__pyx_t_2))->ob_item[2] = __pyx_v_ns);
37433 __Pyx_GIVEREF(__pyx_v_ns);
37434 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
37435 PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[3] = __pyx_v_cb);
37436 __Pyx_GIVEREF(__pyx_v_cb);
37437 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1840; __pyx_clineno = __LINE__37437; goto __pyx_L1_error;}
37438 __Pyx_GOTREF(__pyx_t_3);
37439 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
37440 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1840; __pyx_clineno = __LINE__37440; goto __pyx_L1_error;}
37441 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
37442 __pyx_t_3 = 0;
37443 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
37444 goto __pyx_L0;
37445 }
37446 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
37447 }
37448
37449 /* "xmmsapi.pyx":1847
37450 * """
37451 * cdef char *n
37452 * n = check_namespace(ns, False) # <<<<<<<<<<<<<<
37453 * nam = from_unicode(name)
37454 * return self.create_result(cb, xmmsc_coll_save(self.conn, coll.coll, <char *>nam, n))
37455 */
37456 __pyx_t_4 = __pyx_f_7xmmsapi_check_namespace(__pyx_v_ns, 0); if (unlikely(__pyx_t_4 == NULL)__builtin_expect(!!(__pyx_t_4 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1847; __pyx_clineno = __LINE__37456; goto __pyx_L1_error;}
37457 __pyx_v_n = __pyx_t_4;
37458
37459 /* "xmmsapi.pyx":1848
37460 * cdef char *n
37461 * n = check_namespace(ns, False)
37462 * nam = from_unicode(name) # <<<<<<<<<<<<<<
37463 * return self.create_result(cb, xmmsc_coll_save(self.conn, coll.coll, <char *>nam, n))
37464 *
37465 */
37466 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_name); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1848; __pyx_clineno = __LINE__37466; goto __pyx_L1_error;}
37467 __Pyx_GOTREF(__pyx_t_1);
37468 __pyx_v_nam = __pyx_t_1;
37469 __pyx_t_1 = 0;
37470
37471 /* "xmmsapi.pyx":1849
37472 * n = check_namespace(ns, False)
37473 * nam = from_unicode(name)
37474 * return self.create_result(cb, xmmsc_coll_save(self.conn, coll.coll, <char *>nam, n)) # <<<<<<<<<<<<<<
37475 *
37476 * cpdef XmmsResult coll_remove(self, name, ns = "Collections", cb = None):
37477 */
37478 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
37479 __pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_nam); if (unlikely((!__pyx_t_4) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_4) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1849; __pyx_clineno = __LINE__37479; goto __pyx_L1_error;}
37480 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_coll_save(__pyx_v_self->__pyx_base.conn, __pyx_v_coll->__pyx_base.coll, ((char *)__pyx_t_4), __pyx_v_n))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1849; __pyx_clineno = __LINE__37480; goto __pyx_L1_error;}
37481 __Pyx_GOTREF(__pyx_t_1);
37482 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
37483 __pyx_t_1 = 0;
37484 goto __pyx_L0;
37485
37486 /* "xmmsapi.pyx":1840
37487 * return self.create_result(cb, xmmsc_coll_list(self.conn, n))
37488 *
37489 * cpdef XmmsResult coll_save(self, Collection coll, name, ns = "Collections", cb = None): # <<<<<<<<<<<<<<
37490 * """
37491 * Save a collection on server.
37492 */
37493
37494 /* function exit code */
37495 __pyx_L1_error:;
37496 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
37497 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
37498 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
37499 __Pyx_AddTraceback("xmmsapi.XmmsApi.coll_save", __pyx_clineno, __pyx_lineno, __pyx_filename);
37500 __pyx_r = 0;
37501 __pyx_L0:;
37502 __Pyx_XDECREF(__pyx_v_nam)do { if ((__pyx_v_nam) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_nam))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(__pyx_v_nam)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_nam)))); } while (0); } while (0)
;
37503 __Pyx_XGIVEREF((PyObject *)__pyx_r);
37504 __Pyx_RefNannyFinishContext();
37505 return __pyx_r;
37506}
37507
37508/* Python wrapper */
37509static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_151coll_save(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
37510static char __pyx_doc_7xmmsapi_7XmmsApi_150coll_save[] = "XmmsApi.coll_save(self, Collection coll, name, ns='Collections', cb=None) -> XmmsResult\n\n\t\tSave a collection on server.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
37511static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_151coll_save(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
37512 struct __pyx_obj_9xmmsvalue_Collection *__pyx_v_coll = 0;
37513 PyObject *__pyx_v_name = 0;
37514 PyObject *__pyx_v_ns = 0;
37515 PyObject *__pyx_v_cb = 0;
37516 int __pyx_lineno = 0;
37517 const char *__pyx_filename = NULL((void*)0);
37518 int __pyx_clineno = 0;
37519 PyObject *__pyx_r = 0;
37520 __Pyx_RefNannyDeclarations
37521 __Pyx_RefNannySetupContext("coll_save (wrapper)", 0);
37522 {
37523 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_coll,&__pyx_n_s_name_2,&__pyx_n_s_ns,&__pyx_n_s_cb,0};
37524 PyObject* values[4] = {0,0,0,0};
37525 values[2] = ((PyObject *)__pyx_n_s_Collections);
37526 values[3] = ((PyObject *)Py_None(&_Py_NoneStruct));
37527 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
37528 Py_ssize_t kw_args;
37529 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
37530 switch (pos_args) {
37531 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
37532 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
37533 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
37534 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
37535 case 0: break;
37536 default: goto __pyx_L5_argtuple_error;
37537 }
37538 kw_args = PyDict_Size(__pyx_kwds);
37539 switch (pos_args) {
37540 case 0:
37541 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_coll)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_coll
)) != 0), 1)
) kw_args--;
37542 else goto __pyx_L5_argtuple_error;
37543 case 1:
37544 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name_2)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name_2
)) != 0), 1)
) kw_args--;
37545 else {
37546 __Pyx_RaiseArgtupleInvalid("coll_save", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1840; __pyx_clineno = __LINE__37546; goto __pyx_L3_error;}
37547 }
37548 case 2:
37549 if (kw_args > 0) {
37550 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ns);
37551 if (value) { values[2] = value; kw_args--; }
37552 }
37553 case 3:
37554 if (kw_args > 0) {
37555 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
37556 if (value) { values[3] = value; kw_args--; }
37557 }
37558 }
37559 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
37560 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "coll_save") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "coll_save") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1840; __pyx_clineno = __LINE__37560; goto __pyx_L3_error;}
37561 }
37562 } else {
37563 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
37564 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
37565 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
37566 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
37567 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
37568 break;
37569 default: goto __pyx_L5_argtuple_error;
37570 }
37571 }
37572 __pyx_v_coll = ((struct __pyx_obj_9xmmsvalue_Collection *)values[0]);
37573 __pyx_v_name = values[1];
37574 __pyx_v_ns = values[2];
37575 __pyx_v_cb = values[3];
37576 }
37577 goto __pyx_L4_argument_unpacking_done;
37578 __pyx_L5_argtuple_error:;
37579 __Pyx_RaiseArgtupleInvalid("coll_save", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1840; __pyx_clineno = __LINE__37579; goto __pyx_L3_error;}
37580 __pyx_L3_error:;
37581 __Pyx_AddTraceback("xmmsapi.XmmsApi.coll_save", __pyx_clineno, __pyx_lineno, __pyx_filename);
37582 __Pyx_RefNannyFinishContext();
37583 return NULL((void*)0);
37584 __pyx_L4_argument_unpacking_done:;
37585 if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_coll), __pyx_ptype_9xmmsvalue_Collection, 1, "coll", 0))__builtin_expect(!!(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_coll
), __pyx_ptype_9xmmsvalue_Collection, 1, "coll", 0)), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1840; __pyx_clineno = __LINE__37585; goto __pyx_L1_error;}
37586 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_150coll_save(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_coll, __pyx_v_name, __pyx_v_ns, __pyx_v_cb);
37587
37588 /* function exit code */
37589 goto __pyx_L0;
37590 __pyx_L1_error:;
37591 __pyx_r = NULL((void*)0);
37592 __pyx_L0:;
37593 __Pyx_RefNannyFinishContext();
37594 return __pyx_r;
37595}
37596
37597static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_150coll_save(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, struct __pyx_obj_9xmmsvalue_Collection *__pyx_v_coll, PyObject *__pyx_v_name, PyObject *__pyx_v_ns, PyObject *__pyx_v_cb) {
37598 PyObject *__pyx_r = NULL((void*)0);
37599 __Pyx_RefNannyDeclarations
37600 PyObject *__pyx_t_1 = NULL((void*)0);
37601 struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_save __pyx_t_2;
37602 int __pyx_lineno = 0;
37603 const char *__pyx_filename = NULL((void*)0);
37604 int __pyx_clineno = 0;
37605 __Pyx_RefNannySetupContext("coll_save", 0);
37606 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
37607 __pyx_t_2.__pyx_n = 2;
37608 __pyx_t_2.ns = __pyx_v_ns;
37609 __pyx_t_2.cb = __pyx_v_cb;
37610 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->coll_save(__pyx_v_self, __pyx_v_coll, __pyx_v_name, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1840; __pyx_clineno = __LINE__37610; goto __pyx_L1_error;}
37611 __Pyx_GOTREF(__pyx_t_1);
37612 __pyx_r = __pyx_t_1;
37613 __pyx_t_1 = 0;
37614 goto __pyx_L0;
37615
37616 /* function exit code */
37617 __pyx_L1_error:;
37618 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
37619 __Pyx_AddTraceback("xmmsapi.XmmsApi.coll_save", __pyx_clineno, __pyx_lineno, __pyx_filename);
37620 __pyx_r = NULL((void*)0);
37621 __pyx_L0:;
37622 __Pyx_XGIVEREF(__pyx_r);
37623 __Pyx_RefNannyFinishContext();
37624 return __pyx_r;
37625}
37626
37627/* "xmmsapi.pyx":1851
37628 * return self.create_result(cb, xmmsc_coll_save(self.conn, coll.coll, <char *>nam, n))
37629 *
37630 * cpdef XmmsResult coll_remove(self, name, ns = "Collections", cb = None): # <<<<<<<<<<<<<<
37631 * """
37632 * Remove a collection on server.
37633 */
37634
37635static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_153coll_remove(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
37636static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_coll_remove(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_name, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_remove *__pyx_optional_args) {
37637 PyObject *__pyx_v_ns = ((PyObject *)__pyx_n_s_Collections);
37638 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
37639 char *__pyx_v_n;
37640 PyObject *__pyx_v_nam = NULL((void*)0);
37641 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
37642 __Pyx_RefNannyDeclarations
37643 PyObject *__pyx_t_1 = NULL((void*)0);
37644 PyObject *__pyx_t_2 = NULL((void*)0);
37645 PyObject *__pyx_t_3 = NULL((void*)0);
37646 char *__pyx_t_4;
37647 int __pyx_lineno = 0;
37648 const char *__pyx_filename = NULL((void*)0);
37649 int __pyx_clineno = 0;
37650 __Pyx_RefNannySetupContext("coll_remove", 0);
37651 if (__pyx_optional_args) {
37652 if (__pyx_optional_args->__pyx_n > 0) {
37653 __pyx_v_ns = __pyx_optional_args->ns;
37654 if (__pyx_optional_args->__pyx_n > 1) {
37655 __pyx_v_cb = __pyx_optional_args->cb;
37656 }
37657 }
37658 }
37659 /* Check if called by wrapper */
37660 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
37661 /* Check if overridden in Python */
37662 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
37663 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_coll_remove); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1851; __pyx_clineno = __LINE__37663; goto __pyx_L1_error;}
37664 __Pyx_GOTREF(__pyx_t_1);
37665 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_153coll_remove)) {
37666 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
37667 __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1851; __pyx_clineno = __LINE__37667; goto __pyx_L1_error;}
37668 __Pyx_GOTREF(__pyx_t_2);
37669 __Pyx_INCREF(__pyx_v_name)( ((PyObject*)(__pyx_v_name))->ob_refcnt++);
37670 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_name)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_name
)
;
37671 __Pyx_GIVEREF(__pyx_v_name);
37672 __Pyx_INCREF(__pyx_v_ns)( ((PyObject*)(__pyx_v_ns))->ob_refcnt++);
37673 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_ns)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_ns);
37674 __Pyx_GIVEREF(__pyx_v_ns);
37675 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
37676 PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[2] = __pyx_v_cb);
37677 __Pyx_GIVEREF(__pyx_v_cb);
37678 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1851; __pyx_clineno = __LINE__37678; goto __pyx_L1_error;}
37679 __Pyx_GOTREF(__pyx_t_3);
37680 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
37681 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1851; __pyx_clineno = __LINE__37681; goto __pyx_L1_error;}
37682 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
37683 __pyx_t_3 = 0;
37684 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
37685 goto __pyx_L0;
37686 }
37687 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
37688 }
37689
37690 /* "xmmsapi.pyx":1858
37691 * """
37692 * cdef char *n
37693 * n = check_namespace(ns, False) # <<<<<<<<<<<<<<
37694 * nam = from_unicode(name)
37695 * return self.create_result(cb, xmmsc_coll_remove(self.conn, <char *>nam, n))
37696 */
37697 __pyx_t_4 = __pyx_f_7xmmsapi_check_namespace(__pyx_v_ns, 0); if (unlikely(__pyx_t_4 == NULL)__builtin_expect(!!(__pyx_t_4 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1858; __pyx_clineno = __LINE__37697; goto __pyx_L1_error;}
37698 __pyx_v_n = __pyx_t_4;
37699
37700 /* "xmmsapi.pyx":1859
37701 * cdef char *n
37702 * n = check_namespace(ns, False)
37703 * nam = from_unicode(name) # <<<<<<<<<<<<<<
37704 * return self.create_result(cb, xmmsc_coll_remove(self.conn, <char *>nam, n))
37705 *
37706 */
37707 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_name); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1859; __pyx_clineno = __LINE__37707; goto __pyx_L1_error;}
37708 __Pyx_GOTREF(__pyx_t_1);
37709 __pyx_v_nam = __pyx_t_1;
37710 __pyx_t_1 = 0;
37711
37712 /* "xmmsapi.pyx":1860
37713 * n = check_namespace(ns, False)
37714 * nam = from_unicode(name)
37715 * return self.create_result(cb, xmmsc_coll_remove(self.conn, <char *>nam, n)) # <<<<<<<<<<<<<<
37716 *
37717 * cpdef XmmsResult coll_rename(self, oldname, newname, ns = "Collections", cb = None):
37718 */
37719 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
37720 __pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_nam); if (unlikely((!__pyx_t_4) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_4) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1860; __pyx_clineno = __LINE__37720; goto __pyx_L1_error;}
37721 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_coll_remove(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_4), __pyx_v_n))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1860; __pyx_clineno = __LINE__37721; goto __pyx_L1_error;}
37722 __Pyx_GOTREF(__pyx_t_1);
37723 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
37724 __pyx_t_1 = 0;
37725 goto __pyx_L0;
37726
37727 /* "xmmsapi.pyx":1851
37728 * return self.create_result(cb, xmmsc_coll_save(self.conn, coll.coll, <char *>nam, n))
37729 *
37730 * cpdef XmmsResult coll_remove(self, name, ns = "Collections", cb = None): # <<<<<<<<<<<<<<
37731 * """
37732 * Remove a collection on server.
37733 */
37734
37735 /* function exit code */
37736 __pyx_L1_error:;
37737 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
37738 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
37739 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
37740 __Pyx_AddTraceback("xmmsapi.XmmsApi.coll_remove", __pyx_clineno, __pyx_lineno, __pyx_filename);
37741 __pyx_r = 0;
37742 __pyx_L0:;
37743 __Pyx_XDECREF(__pyx_v_nam)do { if ((__pyx_v_nam) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_nam))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(__pyx_v_nam)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_nam)))); } while (0); } while (0)
;
37744 __Pyx_XGIVEREF((PyObject *)__pyx_r);
37745 __Pyx_RefNannyFinishContext();
37746 return __pyx_r;
37747}
37748
37749/* Python wrapper */
37750static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_153coll_remove(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
37751static char __pyx_doc_7xmmsapi_7XmmsApi_152coll_remove[] = "XmmsApi.coll_remove(self, name, ns='Collections', cb=None) -> XmmsResult\n\n\t\tRemove a collection on server.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
37752static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_153coll_remove(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
37753 PyObject *__pyx_v_name = 0;
37754 PyObject *__pyx_v_ns = 0;
37755 PyObject *__pyx_v_cb = 0;
37756 int __pyx_lineno = 0;
37757 const char *__pyx_filename = NULL((void*)0);
37758 int __pyx_clineno = 0;
37759 PyObject *__pyx_r = 0;
37760 __Pyx_RefNannyDeclarations
37761 __Pyx_RefNannySetupContext("coll_remove (wrapper)", 0);
37762 {
37763 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name_2,&__pyx_n_s_ns,&__pyx_n_s_cb,0};
37764 PyObject* values[3] = {0,0,0};
37765 values[1] = ((PyObject *)__pyx_n_s_Collections);
37766 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
37767 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
37768 Py_ssize_t kw_args;
37769 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
37770 switch (pos_args) {
37771 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
37772 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
37773 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
37774 case 0: break;
37775 default: goto __pyx_L5_argtuple_error;
37776 }
37777 kw_args = PyDict_Size(__pyx_kwds);
37778 switch (pos_args) {
37779 case 0:
37780 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name_2)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name_2
)) != 0), 1)
) kw_args--;
37781 else goto __pyx_L5_argtuple_error;
37782 case 1:
37783 if (kw_args > 0) {
37784 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ns);
37785 if (value) { values[1] = value; kw_args--; }
37786 }
37787 case 2:
37788 if (kw_args > 0) {
37789 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
37790 if (value) { values[2] = value; kw_args--; }
37791 }
37792 }
37793 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
37794 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "coll_remove") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "coll_remove") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1851; __pyx_clineno = __LINE__37794; goto __pyx_L3_error;}
37795 }
37796 } else {
37797 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
37798 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
37799 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
37800 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
37801 break;
37802 default: goto __pyx_L5_argtuple_error;
37803 }
37804 }
37805 __pyx_v_name = values[0];
37806 __pyx_v_ns = values[1];
37807 __pyx_v_cb = values[2];
37808 }
37809 goto __pyx_L4_argument_unpacking_done;
37810 __pyx_L5_argtuple_error:;
37811 __Pyx_RaiseArgtupleInvalid("coll_remove", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1851; __pyx_clineno = __LINE__37811; goto __pyx_L3_error;}
37812 __pyx_L3_error:;
37813 __Pyx_AddTraceback("xmmsapi.XmmsApi.coll_remove", __pyx_clineno, __pyx_lineno, __pyx_filename);
37814 __Pyx_RefNannyFinishContext();
37815 return NULL((void*)0);
37816 __pyx_L4_argument_unpacking_done:;
37817 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_152coll_remove(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_name, __pyx_v_ns, __pyx_v_cb);
37818
37819 /* function exit code */
37820 __Pyx_RefNannyFinishContext();
37821 return __pyx_r;
37822}
37823
37824static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_152coll_remove(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_ns, PyObject *__pyx_v_cb) {
37825 PyObject *__pyx_r = NULL((void*)0);
37826 __Pyx_RefNannyDeclarations
37827 PyObject *__pyx_t_1 = NULL((void*)0);
37828 struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_remove __pyx_t_2;
37829 int __pyx_lineno = 0;
37830 const char *__pyx_filename = NULL((void*)0);
37831 int __pyx_clineno = 0;
37832 __Pyx_RefNannySetupContext("coll_remove", 0);
37833 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
37834 __pyx_t_2.__pyx_n = 2;
37835 __pyx_t_2.ns = __pyx_v_ns;
37836 __pyx_t_2.cb = __pyx_v_cb;
37837 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->coll_remove(__pyx_v_self, __pyx_v_name, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1851; __pyx_clineno = __LINE__37837; goto __pyx_L1_error;}
37838 __Pyx_GOTREF(__pyx_t_1);
37839 __pyx_r = __pyx_t_1;
37840 __pyx_t_1 = 0;
37841 goto __pyx_L0;
37842
37843 /* function exit code */
37844 __pyx_L1_error:;
37845 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
37846 __Pyx_AddTraceback("xmmsapi.XmmsApi.coll_remove", __pyx_clineno, __pyx_lineno, __pyx_filename);
37847 __pyx_r = NULL((void*)0);
37848 __pyx_L0:;
37849 __Pyx_XGIVEREF(__pyx_r);
37850 __Pyx_RefNannyFinishContext();
37851 return __pyx_r;
37852}
37853
37854/* "xmmsapi.pyx":1862
37855 * return self.create_result(cb, xmmsc_coll_remove(self.conn, <char *>nam, n))
37856 *
37857 * cpdef XmmsResult coll_rename(self, oldname, newname, ns = "Collections", cb = None): # <<<<<<<<<<<<<<
37858 * """
37859 * Rename a collection.
37860 */
37861
37862static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_155coll_rename(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
37863static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_coll_rename(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_oldname, PyObject *__pyx_v_newname, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_rename *__pyx_optional_args) {
37864 PyObject *__pyx_v_ns = ((PyObject *)__pyx_n_s_Collections);
37865 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
37866 char *__pyx_v_n;
37867 PyObject *__pyx_v_oldnam = NULL((void*)0);
37868 PyObject *__pyx_v_newnam = NULL((void*)0);
37869 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
37870 __Pyx_RefNannyDeclarations
37871 PyObject *__pyx_t_1 = NULL((void*)0);
37872 PyObject *__pyx_t_2 = NULL((void*)0);
37873 PyObject *__pyx_t_3 = NULL((void*)0);
37874 char *__pyx_t_4;
37875 char *__pyx_t_5;
37876 int __pyx_lineno = 0;
37877 const char *__pyx_filename = NULL((void*)0);
37878 int __pyx_clineno = 0;
37879 __Pyx_RefNannySetupContext("coll_rename", 0);
37880 if (__pyx_optional_args) {
37881 if (__pyx_optional_args->__pyx_n > 0) {
37882 __pyx_v_ns = __pyx_optional_args->ns;
37883 if (__pyx_optional_args->__pyx_n > 1) {
37884 __pyx_v_cb = __pyx_optional_args->cb;
37885 }
37886 }
37887 }
37888 /* Check if called by wrapper */
37889 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
37890 /* Check if overridden in Python */
37891 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
37892 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_coll_rename); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1862; __pyx_clineno = __LINE__37892; goto __pyx_L1_error;}
37893 __Pyx_GOTREF(__pyx_t_1);
37894 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_155coll_rename)) {
37895 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
37896 __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1862; __pyx_clineno = __LINE__37896; goto __pyx_L1_error;}
37897 __Pyx_GOTREF(__pyx_t_2);
37898 __Pyx_INCREF(__pyx_v_oldname)( ((PyObject*)(__pyx_v_oldname))->ob_refcnt++);
37899 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_oldname)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_oldname
)
;
37900 __Pyx_GIVEREF(__pyx_v_oldname);
37901 __Pyx_INCREF(__pyx_v_newname)( ((PyObject*)(__pyx_v_newname))->ob_refcnt++);
37902 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_newname)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_newname
)
;
37903 __Pyx_GIVEREF(__pyx_v_newname);
37904 __Pyx_INCREF(__pyx_v_ns)( ((PyObject*)(__pyx_v_ns))->ob_refcnt++);
37905 PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_ns)(((PyTupleObject *)(__pyx_t_2))->ob_item[2] = __pyx_v_ns);
37906 __Pyx_GIVEREF(__pyx_v_ns);
37907 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
37908 PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[3] = __pyx_v_cb);
37909 __Pyx_GIVEREF(__pyx_v_cb);
37910 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1862; __pyx_clineno = __LINE__37910; goto __pyx_L1_error;}
37911 __Pyx_GOTREF(__pyx_t_3);
37912 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
37913 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1862; __pyx_clineno = __LINE__37913; goto __pyx_L1_error;}
37914 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
37915 __pyx_t_3 = 0;
37916 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
37917 goto __pyx_L0;
37918 }
37919 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
37920 }
37921
37922 /* "xmmsapi.pyx":1869
37923 * """
37924 * cdef char *n
37925 * n = check_namespace(ns, False) # <<<<<<<<<<<<<<
37926 *
37927 * oldnam = from_unicode(oldname)
37928 */
37929 __pyx_t_4 = __pyx_f_7xmmsapi_check_namespace(__pyx_v_ns, 0); if (unlikely(__pyx_t_4 == NULL)__builtin_expect(!!(__pyx_t_4 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1869; __pyx_clineno = __LINE__37929; goto __pyx_L1_error;}
37930 __pyx_v_n = __pyx_t_4;
37931
37932 /* "xmmsapi.pyx":1871
37933 * n = check_namespace(ns, False)
37934 *
37935 * oldnam = from_unicode(oldname) # <<<<<<<<<<<<<<
37936 * newnam = from_unicode(newname)
37937 * return self.create_result(cb, xmmsc_coll_rename(self.conn, <char *>oldnam, <char *>newnam, n))
37938 */
37939 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_oldname); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1871; __pyx_clineno = __LINE__37939; goto __pyx_L1_error;}
37940 __Pyx_GOTREF(__pyx_t_1);
37941 __pyx_v_oldnam = __pyx_t_1;
37942 __pyx_t_1 = 0;
37943
37944 /* "xmmsapi.pyx":1872
37945 *
37946 * oldnam = from_unicode(oldname)
37947 * newnam = from_unicode(newname) # <<<<<<<<<<<<<<
37948 * return self.create_result(cb, xmmsc_coll_rename(self.conn, <char *>oldnam, <char *>newnam, n))
37949 *
37950 */
37951 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_newname); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1872; __pyx_clineno = __LINE__37951; goto __pyx_L1_error;}
37952 __Pyx_GOTREF(__pyx_t_1);
37953 __pyx_v_newnam = __pyx_t_1;
37954 __pyx_t_1 = 0;
37955
37956 /* "xmmsapi.pyx":1873
37957 * oldnam = from_unicode(oldname)
37958 * newnam = from_unicode(newname)
37959 * return self.create_result(cb, xmmsc_coll_rename(self.conn, <char *>oldnam, <char *>newnam, n)) # <<<<<<<<<<<<<<
37960 *
37961 * cpdef XmmsResult coll_idlist_from_playlist_file(self, path, cb = None):
37962 */
37963 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
37964 __pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_oldnam); if (unlikely((!__pyx_t_4) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_4) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1873; __pyx_clineno = __LINE__37964; goto __pyx_L1_error;}
37965 __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_newnam); if (unlikely((!__pyx_t_5) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_5) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1873; __pyx_clineno = __LINE__37965; goto __pyx_L1_error;}
37966 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_coll_rename(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_4), ((char *)__pyx_t_5), __pyx_v_n))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1873; __pyx_clineno = __LINE__37966; goto __pyx_L1_error;}
37967 __Pyx_GOTREF(__pyx_t_1);
37968 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
37969 __pyx_t_1 = 0;
37970 goto __pyx_L0;
37971
37972 /* "xmmsapi.pyx":1862
37973 * return self.create_result(cb, xmmsc_coll_remove(self.conn, <char *>nam, n))
37974 *
37975 * cpdef XmmsResult coll_rename(self, oldname, newname, ns = "Collections", cb = None): # <<<<<<<<<<<<<<
37976 * """
37977 * Rename a collection.
37978 */
37979
37980 /* function exit code */
37981 __pyx_L1_error:;
37982 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
37983 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
37984 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
37985 __Pyx_AddTraceback("xmmsapi.XmmsApi.coll_rename", __pyx_clineno, __pyx_lineno, __pyx_filename);
37986 __pyx_r = 0;
37987 __pyx_L0:;
37988 __Pyx_XDECREF(__pyx_v_oldnam)do { if ((__pyx_v_oldnam) == ((void*)0)) ; else do { if ( --(
(PyObject*)(__pyx_v_oldnam))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(__pyx_v_oldnam)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_oldnam)))); } while
(0); } while (0)
;
37989 __Pyx_XDECREF(__pyx_v_newnam)do { if ((__pyx_v_newnam) == ((void*)0)) ; else do { if ( --(
(PyObject*)(__pyx_v_newnam))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(__pyx_v_newnam)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_newnam)))); } while
(0); } while (0)
;
37990 __Pyx_XGIVEREF((PyObject *)__pyx_r);
37991 __Pyx_RefNannyFinishContext();
37992 return __pyx_r;
37993}
37994
37995/* Python wrapper */
37996static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_155coll_rename(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
37997static char __pyx_doc_7xmmsapi_7XmmsApi_154coll_rename[] = "XmmsApi.coll_rename(self, oldname, newname, ns='Collections', cb=None) -> XmmsResult\n\n\t\tRename a collection.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
37998static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_155coll_rename(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
37999 PyObject *__pyx_v_oldname = 0;
38000 PyObject *__pyx_v_newname = 0;
38001 PyObject *__pyx_v_ns = 0;
38002 PyObject *__pyx_v_cb = 0;
38003 int __pyx_lineno = 0;
38004 const char *__pyx_filename = NULL((void*)0);
38005 int __pyx_clineno = 0;
38006 PyObject *__pyx_r = 0;
38007 __Pyx_RefNannyDeclarations
38008 __Pyx_RefNannySetupContext("coll_rename (wrapper)", 0);
38009 {
38010 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_oldname,&__pyx_n_s_newname,&__pyx_n_s_ns,&__pyx_n_s_cb,0};
38011 PyObject* values[4] = {0,0,0,0};
38012 values[2] = ((PyObject *)__pyx_n_s_Collections);
38013 values[3] = ((PyObject *)Py_None(&_Py_NoneStruct));
38014 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
38015 Py_ssize_t kw_args;
38016 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
38017 switch (pos_args) {
38018 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
38019 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
38020 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
38021 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
38022 case 0: break;
38023 default: goto __pyx_L5_argtuple_error;
38024 }
38025 kw_args = PyDict_Size(__pyx_kwds);
38026 switch (pos_args) {
38027 case 0:
38028 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_oldname)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_oldname
)) != 0), 1)
) kw_args--;
38029 else goto __pyx_L5_argtuple_error;
38030 case 1:
38031 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_newname)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_newname
)) != 0), 1)
) kw_args--;
38032 else {
38033 __Pyx_RaiseArgtupleInvalid("coll_rename", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1862; __pyx_clineno = __LINE__38033; goto __pyx_L3_error;}
38034 }
38035 case 2:
38036 if (kw_args > 0) {
38037 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ns);
38038 if (value) { values[2] = value; kw_args--; }
38039 }
38040 case 3:
38041 if (kw_args > 0) {
38042 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
38043 if (value) { values[3] = value; kw_args--; }
38044 }
38045 }
38046 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
38047 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "coll_rename") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "coll_rename") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1862; __pyx_clineno = __LINE__38047; goto __pyx_L3_error;}
38048 }
38049 } else {
38050 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
38051 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
38052 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
38053 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
38054 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
38055 break;
38056 default: goto __pyx_L5_argtuple_error;
38057 }
38058 }
38059 __pyx_v_oldname = values[0];
38060 __pyx_v_newname = values[1];
38061 __pyx_v_ns = values[2];
38062 __pyx_v_cb = values[3];
38063 }
38064 goto __pyx_L4_argument_unpacking_done;
38065 __pyx_L5_argtuple_error:;
38066 __Pyx_RaiseArgtupleInvalid("coll_rename", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1862; __pyx_clineno = __LINE__38066; goto __pyx_L3_error;}
38067 __pyx_L3_error:;
38068 __Pyx_AddTraceback("xmmsapi.XmmsApi.coll_rename", __pyx_clineno, __pyx_lineno, __pyx_filename);
38069 __Pyx_RefNannyFinishContext();
38070 return NULL((void*)0);
38071 __pyx_L4_argument_unpacking_done:;
38072 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_154coll_rename(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_oldname, __pyx_v_newname, __pyx_v_ns, __pyx_v_cb);
38073
38074 /* function exit code */
38075 __Pyx_RefNannyFinishContext();
38076 return __pyx_r;
38077}
38078
38079static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_154coll_rename(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_oldname, PyObject *__pyx_v_newname, PyObject *__pyx_v_ns, PyObject *__pyx_v_cb) {
38080 PyObject *__pyx_r = NULL((void*)0);
38081 __Pyx_RefNannyDeclarations
38082 PyObject *__pyx_t_1 = NULL((void*)0);
38083 struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_rename __pyx_t_2;
38084 int __pyx_lineno = 0;
38085 const char *__pyx_filename = NULL((void*)0);
38086 int __pyx_clineno = 0;
38087 __Pyx_RefNannySetupContext("coll_rename", 0);
38088 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
38089 __pyx_t_2.__pyx_n = 2;
38090 __pyx_t_2.ns = __pyx_v_ns;
38091 __pyx_t_2.cb = __pyx_v_cb;
38092 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->coll_rename(__pyx_v_self, __pyx_v_oldname, __pyx_v_newname, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1862; __pyx_clineno = __LINE__38092; goto __pyx_L1_error;}
38093 __Pyx_GOTREF(__pyx_t_1);
38094 __pyx_r = __pyx_t_1;
38095 __pyx_t_1 = 0;
38096 goto __pyx_L0;
38097
38098 /* function exit code */
38099 __pyx_L1_error:;
38100 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
38101 __Pyx_AddTraceback("xmmsapi.XmmsApi.coll_rename", __pyx_clineno, __pyx_lineno, __pyx_filename);
38102 __pyx_r = NULL((void*)0);
38103 __pyx_L0:;
38104 __Pyx_XGIVEREF(__pyx_r);
38105 __Pyx_RefNannyFinishContext();
38106 return __pyx_r;
38107}
38108
38109/* "xmmsapi.pyx":1875
38110 * return self.create_result(cb, xmmsc_coll_rename(self.conn, <char *>oldnam, <char *>newnam, n))
38111 *
38112 * cpdef XmmsResult coll_idlist_from_playlist_file(self, path, cb = None): # <<<<<<<<<<<<<<
38113 * """
38114 * Create an idlist from a playlist.
38115 */
38116
38117static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_157coll_idlist_from_playlist_file(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
38118static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_coll_idlist_from_playlist_file(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_path, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_idlist_from_playlist_file *__pyx_optional_args) {
38119 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
38120 PyObject *__pyx_v_p = NULL((void*)0);
38121 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
38122 __Pyx_RefNannyDeclarations
38123 PyObject *__pyx_t_1 = NULL((void*)0);
38124 PyObject *__pyx_t_2 = NULL((void*)0);
38125 PyObject *__pyx_t_3 = NULL((void*)0);
38126 char *__pyx_t_4;
38127 int __pyx_lineno = 0;
38128 const char *__pyx_filename = NULL((void*)0);
38129 int __pyx_clineno = 0;
38130 __Pyx_RefNannySetupContext("coll_idlist_from_playlist_file", 0);
38131 if (__pyx_optional_args) {
38132 if (__pyx_optional_args->__pyx_n > 0) {
38133 __pyx_v_cb = __pyx_optional_args->cb;
38134 }
38135 }
38136 /* Check if called by wrapper */
38137 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
38138 /* Check if overridden in Python */
38139 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
38140 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_coll_idlist_from_playlist_file); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1875; __pyx_clineno = __LINE__38140; goto __pyx_L1_error;}
38141 __Pyx_GOTREF(__pyx_t_1);
38142 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_157coll_idlist_from_playlist_file)) {
38143 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
38144 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1875; __pyx_clineno = __LINE__38144; goto __pyx_L1_error;}
38145 __Pyx_GOTREF(__pyx_t_2);
38146 __Pyx_INCREF(__pyx_v_path)( ((PyObject*)(__pyx_v_path))->ob_refcnt++);
38147 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_path)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_path
)
;
38148 __Pyx_GIVEREF(__pyx_v_path);
38149 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
38150 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_cb);
38151 __Pyx_GIVEREF(__pyx_v_cb);
38152 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1875; __pyx_clineno = __LINE__38152; goto __pyx_L1_error;}
38153 __Pyx_GOTREF(__pyx_t_3);
38154 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
38155 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1875; __pyx_clineno = __LINE__38155; goto __pyx_L1_error;}
38156 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
38157 __pyx_t_3 = 0;
38158 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
38159 goto __pyx_L0;
38160 }
38161 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
38162 }
38163
38164 /* "xmmsapi.pyx":1881
38165 * @return: The result of the operation.
38166 * """
38167 * p = from_unicode(path) # <<<<<<<<<<<<<<
38168 * return self.create_result(cb, xmmsc_coll_idlist_from_playlist_file(self.conn, <char *>p))
38169 *
38170 */
38171 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_path); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1881; __pyx_clineno = __LINE__38171; goto __pyx_L1_error;}
38172 __Pyx_GOTREF(__pyx_t_1);
38173 __pyx_v_p = __pyx_t_1;
38174 __pyx_t_1 = 0;
38175
38176 /* "xmmsapi.pyx":1882
38177 * """
38178 * p = from_unicode(path)
38179 * return self.create_result(cb, xmmsc_coll_idlist_from_playlist_file(self.conn, <char *>p)) # <<<<<<<<<<<<<<
38180 *
38181 * cpdef XmmsResult coll_query(self, Collection coll, fetch, cb = None):
38182 */
38183 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
38184 __pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_p); if (unlikely((!__pyx_t_4) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_4) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1882; __pyx_clineno = __LINE__38184; goto __pyx_L1_error;}
38185 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_coll_idlist_from_playlist_file(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_4)))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1882; __pyx_clineno = __LINE__38185; goto __pyx_L1_error;}
38186 __Pyx_GOTREF(__pyx_t_1);
38187 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
38188 __pyx_t_1 = 0;
38189 goto __pyx_L0;
38190
38191 /* "xmmsapi.pyx":1875
38192 * return self.create_result(cb, xmmsc_coll_rename(self.conn, <char *>oldnam, <char *>newnam, n))
38193 *
38194 * cpdef XmmsResult coll_idlist_from_playlist_file(self, path, cb = None): # <<<<<<<<<<<<<<
38195 * """
38196 * Create an idlist from a playlist.
38197 */
38198
38199 /* function exit code */
38200 __pyx_L1_error:;
38201 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
38202 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
38203 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
38204 __Pyx_AddTraceback("xmmsapi.XmmsApi.coll_idlist_from_playlist_file", __pyx_clineno, __pyx_lineno, __pyx_filename);
38205 __pyx_r = 0;
38206 __pyx_L0:;
38207 __Pyx_XDECREF(__pyx_v_p)do { if ((__pyx_v_p) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_p))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_p)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_p)))); } while (0); } while (0)
;
38208 __Pyx_XGIVEREF((PyObject *)__pyx_r);
38209 __Pyx_RefNannyFinishContext();
38210 return __pyx_r;
38211}
38212
38213/* Python wrapper */
38214static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_157coll_idlist_from_playlist_file(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
38215static char __pyx_doc_7xmmsapi_7XmmsApi_156coll_idlist_from_playlist_file[] = "XmmsApi.coll_idlist_from_playlist_file(self, path, cb=None) -> XmmsResult\n\n\t\tCreate an idlist from a playlist.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
38216static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_157coll_idlist_from_playlist_file(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
38217 PyObject *__pyx_v_path = 0;
38218 PyObject *__pyx_v_cb = 0;
38219 int __pyx_lineno = 0;
38220 const char *__pyx_filename = NULL((void*)0);
38221 int __pyx_clineno = 0;
38222 PyObject *__pyx_r = 0;
38223 __Pyx_RefNannyDeclarations
38224 __Pyx_RefNannySetupContext("coll_idlist_from_playlist_file (wrapper)", 0);
38225 {
38226 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_path,&__pyx_n_s_cb,0};
38227 PyObject* values[2] = {0,0};
38228 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
38229 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
38230 Py_ssize_t kw_args;
38231 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
38232 switch (pos_args) {
38233 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
38234 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
38235 case 0: break;
38236 default: goto __pyx_L5_argtuple_error;
38237 }
38238 kw_args = PyDict_Size(__pyx_kwds);
38239 switch (pos_args) {
38240 case 0:
38241 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path
)) != 0), 1)
) kw_args--;
38242 else goto __pyx_L5_argtuple_error;
38243 case 1:
38244 if (kw_args > 0) {
38245 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
38246 if (value) { values[1] = value; kw_args--; }
38247 }
38248 }
38249 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
38250 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "coll_idlist_from_playlist_file") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "coll_idlist_from_playlist_file") <
0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1875; __pyx_clineno = __LINE__38250; goto __pyx_L3_error;}
38251 }
38252 } else {
38253 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
38254 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
38255 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
38256 break;
38257 default: goto __pyx_L5_argtuple_error;
38258 }
38259 }
38260 __pyx_v_path = values[0];
38261 __pyx_v_cb = values[1];
38262 }
38263 goto __pyx_L4_argument_unpacking_done;
38264 __pyx_L5_argtuple_error:;
38265 __Pyx_RaiseArgtupleInvalid("coll_idlist_from_playlist_file", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1875; __pyx_clineno = __LINE__38265; goto __pyx_L3_error;}
38266 __pyx_L3_error:;
38267 __Pyx_AddTraceback("xmmsapi.XmmsApi.coll_idlist_from_playlist_file", __pyx_clineno, __pyx_lineno, __pyx_filename);
38268 __Pyx_RefNannyFinishContext();
38269 return NULL((void*)0);
38270 __pyx_L4_argument_unpacking_done:;
38271 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_156coll_idlist_from_playlist_file(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_path, __pyx_v_cb);
38272
38273 /* function exit code */
38274 __Pyx_RefNannyFinishContext();
38275 return __pyx_r;
38276}
38277
38278static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_156coll_idlist_from_playlist_file(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_path, PyObject *__pyx_v_cb) {
38279 PyObject *__pyx_r = NULL((void*)0);
38280 __Pyx_RefNannyDeclarations
38281 PyObject *__pyx_t_1 = NULL((void*)0);
38282 struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_idlist_from_playlist_file __pyx_t_2;
38283 int __pyx_lineno = 0;
38284 const char *__pyx_filename = NULL((void*)0);
38285 int __pyx_clineno = 0;
38286 __Pyx_RefNannySetupContext("coll_idlist_from_playlist_file", 0);
38287 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
38288 __pyx_t_2.__pyx_n = 1;
38289 __pyx_t_2.cb = __pyx_v_cb;
38290 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->coll_idlist_from_playlist_file(__pyx_v_self, __pyx_v_path, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1875; __pyx_clineno = __LINE__38290; goto __pyx_L1_error;}
38291 __Pyx_GOTREF(__pyx_t_1);
38292 __pyx_r = __pyx_t_1;
38293 __pyx_t_1 = 0;
38294 goto __pyx_L0;
38295
38296 /* function exit code */
38297 __pyx_L1_error:;
38298 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
38299 __Pyx_AddTraceback("xmmsapi.XmmsApi.coll_idlist_from_playlist_file", __pyx_clineno, __pyx_lineno, __pyx_filename);
38300 __pyx_r = NULL((void*)0);
38301 __pyx_L0:;
38302 __Pyx_XGIVEREF(__pyx_r);
38303 __Pyx_RefNannyFinishContext();
38304 return __pyx_r;
38305}
38306
38307/* "xmmsapi.pyx":1884
38308 * return self.create_result(cb, xmmsc_coll_idlist_from_playlist_file(self.conn, <char *>p))
38309 *
38310 * cpdef XmmsResult coll_query(self, Collection coll, fetch, cb = None): # <<<<<<<<<<<<<<
38311 * """
38312 * Retrive a list of ids of the media matching the collection
38313 */
38314
38315static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_159coll_query(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
38316static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_coll_query(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, struct __pyx_obj_9xmmsvalue_Collection *__pyx_v_coll, PyObject *__pyx_v_fetch, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_query *__pyx_optional_args) {
38317 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
38318 xmmsv_t *__pyx_v_fetch_val;
38319 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_v_res = NULL((void*)0);
38320 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
38321 __Pyx_RefNannyDeclarations
38322 PyObject *__pyx_t_1 = NULL((void*)0);
38323 PyObject *__pyx_t_2 = NULL((void*)0);
38324 PyObject *__pyx_t_3 = NULL((void*)0);
38325 xmmsv_t *__pyx_t_4;
38326 int __pyx_lineno = 0;
38327 const char *__pyx_filename = NULL((void*)0);
38328 int __pyx_clineno = 0;
38329 __Pyx_RefNannySetupContext("coll_query", 0);
38330 if (__pyx_optional_args) {
38331 if (__pyx_optional_args->__pyx_n > 0) {
38332 __pyx_v_cb = __pyx_optional_args->cb;
38333 }
38334 }
38335 /* Check if called by wrapper */
38336 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
38337 /* Check if overridden in Python */
38338 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
38339 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_coll_query); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1884; __pyx_clineno = __LINE__38339; goto __pyx_L1_error;}
38340 __Pyx_GOTREF(__pyx_t_1);
38341 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_159coll_query)) {
38342 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
38343 __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1884; __pyx_clineno = __LINE__38343; goto __pyx_L1_error;}
38344 __Pyx_GOTREF(__pyx_t_2);
38345 __Pyx_INCREF(((PyObject *)__pyx_v_coll))( ((PyObject*)(((PyObject *)__pyx_v_coll)))->ob_refcnt++);
38346 PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_coll))(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = ((PyObject *
)__pyx_v_coll))
;
38347 __Pyx_GIVEREF(((PyObject *)__pyx_v_coll));
38348 __Pyx_INCREF(__pyx_v_fetch)( ((PyObject*)(__pyx_v_fetch))->ob_refcnt++);
38349 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_fetch)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_fetch
)
;
38350 __Pyx_GIVEREF(__pyx_v_fetch);
38351 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
38352 PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[2] = __pyx_v_cb);
38353 __Pyx_GIVEREF(__pyx_v_cb);
38354 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1884; __pyx_clineno = __LINE__38354; goto __pyx_L1_error;}
38355 __Pyx_GOTREF(__pyx_t_3);
38356 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
38357 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1884; __pyx_clineno = __LINE__38357; goto __pyx_L1_error;}
38358 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
38359 __pyx_t_3 = 0;
38360 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
38361 goto __pyx_L0;
38362 }
38363 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
38364 }
38365
38366 /* "xmmsapi.pyx":1891
38367 * """
38368 * cdef xmmsv_t *fetch_val
38369 * fetch_val = create_native_value(fetch) # <<<<<<<<<<<<<<
38370 * res = self.create_result(cb, xmmsc_coll_query(self.conn, coll.coll, fetch_val))
38371 * return res
38372 */
38373 __pyx_t_4 = __pyx_f_9xmmsvalue_create_native_value(__pyx_v_fetch); if (unlikely(__pyx_t_4 == NULL)__builtin_expect(!!(__pyx_t_4 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1891; __pyx_clineno = __LINE__38373; goto __pyx_L1_error;}
38374 __pyx_v_fetch_val = __pyx_t_4;
38375
38376 /* "xmmsapi.pyx":1892
38377 * cdef xmmsv_t *fetch_val
38378 * fetch_val = create_native_value(fetch)
38379 * res = self.create_result(cb, xmmsc_coll_query(self.conn, coll.coll, fetch_val)) # <<<<<<<<<<<<<<
38380 * return res
38381 *
38382 */
38383 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_coll_query(__pyx_v_self->__pyx_base.conn, __pyx_v_coll->__pyx_base.coll, __pyx_v_fetch_val))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1892; __pyx_clineno = __LINE__38383; goto __pyx_L1_error;}
38384 __Pyx_GOTREF(__pyx_t_1);
38385 __pyx_v_res = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
38386 __pyx_t_1 = 0;
38387
38388 /* "xmmsapi.pyx":1893
38389 * fetch_val = create_native_value(fetch)
38390 * res = self.create_result(cb, xmmsc_coll_query(self.conn, coll.coll, fetch_val))
38391 * return res # <<<<<<<<<<<<<<
38392 *
38393 * cpdef XmmsResult coll_query_ids(self, Collection coll, start = 0, leng = 0, order = None, cb = None):
38394 */
38395 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
38396 __Pyx_INCREF(((PyObject *)__pyx_v_res))( ((PyObject*)(((PyObject *)__pyx_v_res)))->ob_refcnt++);
38397 __pyx_r = __pyx_v_res;
38398 goto __pyx_L0;
38399
38400 /* "xmmsapi.pyx":1884
38401 * return self.create_result(cb, xmmsc_coll_idlist_from_playlist_file(self.conn, <char *>p))
38402 *
38403 * cpdef XmmsResult coll_query(self, Collection coll, fetch, cb = None): # <<<<<<<<<<<<<<
38404 * """
38405 * Retrive a list of ids of the media matching the collection
38406 */
38407
38408 /* function exit code */
38409 __pyx_L1_error:;
38410 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
38411 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
38412 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
38413 __Pyx_AddTraceback("xmmsapi.XmmsApi.coll_query", __pyx_clineno, __pyx_lineno, __pyx_filename);
38414 __pyx_r = 0;
38415 __pyx_L0:;
38416 __Pyx_XDECREF((PyObject *)__pyx_v_res)do { if (((PyObject *)__pyx_v_res) == ((void*)0)) ; else do {
if ( --((PyObject*)((PyObject *)__pyx_v_res))->ob_refcnt !=
0) ; else ( (*(((PyObject*)((PyObject *)((PyObject *)__pyx_v_res
)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)((PyObject
*)__pyx_v_res)))); } while (0); } while (0)
;
38417 __Pyx_XGIVEREF((PyObject *)__pyx_r);
38418 __Pyx_RefNannyFinishContext();
38419 return __pyx_r;
38420}
38421
38422/* Python wrapper */
38423static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_159coll_query(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
38424static char __pyx_doc_7xmmsapi_7XmmsApi_158coll_query[] = "XmmsApi.coll_query(self, Collection coll, fetch, cb=None) -> XmmsResult\n\n\t\tRetrive a list of ids of the media matching the collection\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
38425static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_159coll_query(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
38426 struct __pyx_obj_9xmmsvalue_Collection *__pyx_v_coll = 0;
38427 PyObject *__pyx_v_fetch = 0;
38428 PyObject *__pyx_v_cb = 0;
38429 int __pyx_lineno = 0;
38430 const char *__pyx_filename = NULL((void*)0);
38431 int __pyx_clineno = 0;
38432 PyObject *__pyx_r = 0;
38433 __Pyx_RefNannyDeclarations
38434 __Pyx_RefNannySetupContext("coll_query (wrapper)", 0);
38435 {
38436 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_coll,&__pyx_n_s_fetch,&__pyx_n_s_cb,0};
38437 PyObject* values[3] = {0,0,0};
38438 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
38439 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
38440 Py_ssize_t kw_args;
38441 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
38442 switch (pos_args) {
38443 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
38444 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
38445 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
38446 case 0: break;
38447 default: goto __pyx_L5_argtuple_error;
38448 }
38449 kw_args = PyDict_Size(__pyx_kwds);
38450 switch (pos_args) {
38451 case 0:
38452 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_coll)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_coll
)) != 0), 1)
) kw_args--;
38453 else goto __pyx_L5_argtuple_error;
38454 case 1:
38455 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fetch)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fetch
)) != 0), 1)
) kw_args--;
38456 else {
38457 __Pyx_RaiseArgtupleInvalid("coll_query", 0, 2, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1884; __pyx_clineno = __LINE__38457; goto __pyx_L3_error;}
38458 }
38459 case 2:
38460 if (kw_args > 0) {
38461 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
38462 if (value) { values[2] = value; kw_args--; }
38463 }
38464 }
38465 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
38466 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "coll_query") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "coll_query") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1884; __pyx_clineno = __LINE__38466; goto __pyx_L3_error;}
38467 }
38468 } else {
38469 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
38470 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
38471 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
38472 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
38473 break;
38474 default: goto __pyx_L5_argtuple_error;
38475 }
38476 }
38477 __pyx_v_coll = ((struct __pyx_obj_9xmmsvalue_Collection *)values[0]);
38478 __pyx_v_fetch = values[1];
38479 __pyx_v_cb = values[2];
38480 }
38481 goto __pyx_L4_argument_unpacking_done;
38482 __pyx_L5_argtuple_error:;
38483 __Pyx_RaiseArgtupleInvalid("coll_query", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1884; __pyx_clineno = __LINE__38483; goto __pyx_L3_error;}
38484 __pyx_L3_error:;
38485 __Pyx_AddTraceback("xmmsapi.XmmsApi.coll_query", __pyx_clineno, __pyx_lineno, __pyx_filename);
38486 __Pyx_RefNannyFinishContext();
38487 return NULL((void*)0);
38488 __pyx_L4_argument_unpacking_done:;
38489 if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_coll), __pyx_ptype_9xmmsvalue_Collection, 1, "coll", 0))__builtin_expect(!!(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_coll
), __pyx_ptype_9xmmsvalue_Collection, 1, "coll", 0)), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1884; __pyx_clineno = __LINE__38489; goto __pyx_L1_error;}
38490 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_158coll_query(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_coll, __pyx_v_fetch, __pyx_v_cb);
38491
38492 /* function exit code */
38493 goto __pyx_L0;
38494 __pyx_L1_error:;
38495 __pyx_r = NULL((void*)0);
38496 __pyx_L0:;
38497 __Pyx_RefNannyFinishContext();
38498 return __pyx_r;
38499}
38500
38501static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_158coll_query(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, struct __pyx_obj_9xmmsvalue_Collection *__pyx_v_coll, PyObject *__pyx_v_fetch, PyObject *__pyx_v_cb) {
38502 PyObject *__pyx_r = NULL((void*)0);
38503 __Pyx_RefNannyDeclarations
38504 PyObject *__pyx_t_1 = NULL((void*)0);
38505 struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_query __pyx_t_2;
38506 int __pyx_lineno = 0;
38507 const char *__pyx_filename = NULL((void*)0);
38508 int __pyx_clineno = 0;
38509 __Pyx_RefNannySetupContext("coll_query", 0);
38510 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
38511 __pyx_t_2.__pyx_n = 1;
38512 __pyx_t_2.cb = __pyx_v_cb;
38513 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->coll_query(__pyx_v_self, __pyx_v_coll, __pyx_v_fetch, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1884; __pyx_clineno = __LINE__38513; goto __pyx_L1_error;}
38514 __Pyx_GOTREF(__pyx_t_1);
38515 __pyx_r = __pyx_t_1;
38516 __pyx_t_1 = 0;
38517 goto __pyx_L0;
38518
38519 /* function exit code */
38520 __pyx_L1_error:;
38521 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
38522 __Pyx_AddTraceback("xmmsapi.XmmsApi.coll_query", __pyx_clineno, __pyx_lineno, __pyx_filename);
38523 __pyx_r = NULL((void*)0);
38524 __pyx_L0:;
38525 __Pyx_XGIVEREF(__pyx_r);
38526 __Pyx_RefNannyFinishContext();
38527 return __pyx_r;
38528}
38529
38530/* "xmmsapi.pyx":1895
38531 * return res
38532 *
38533 * cpdef XmmsResult coll_query_ids(self, Collection coll, start = 0, leng = 0, order = None, cb = None): # <<<<<<<<<<<<<<
38534 * """
38535 * Retrive a list of ids of the media matching the collection
38536 */
38537
38538static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_161coll_query_ids(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
38539static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_coll_query_ids(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, struct __pyx_obj_9xmmsvalue_Collection *__pyx_v_coll, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_query_ids *__pyx_optional_args) {
38540 PyObject *__pyx_v_start = ((PyObject *)__pyx_int_0);
38541 PyObject *__pyx_v_leng = ((PyObject *)__pyx_int_0);
38542 PyObject *__pyx_v_order = ((PyObject *)Py_None(&_Py_NoneStruct));
38543 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
38544 xmmsv_t *__pyx_v_order_val;
38545 xmmsc_result_t *__pyx_v_res;
38546 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
38547 __Pyx_RefNannyDeclarations
38548 PyObject *__pyx_t_1 = NULL((void*)0);
38549 PyObject *__pyx_t_2 = NULL((void*)0);
38550 PyObject *__pyx_t_3 = NULL((void*)0);
38551 int __pyx_t_4;
38552 int __pyx_t_5;
38553 xmmsv_t *__pyx_t_6;
38554 unsigned int __pyx_t_7;
38555 unsigned int __pyx_t_8;
38556 int __pyx_lineno = 0;
38557 const char *__pyx_filename = NULL((void*)0);
38558 int __pyx_clineno = 0;
38559 __Pyx_RefNannySetupContext("coll_query_ids", 0);
38560 if (__pyx_optional_args) {
38561 if (__pyx_optional_args->__pyx_n > 0) {
38562 __pyx_v_start = __pyx_optional_args->start;
38563 if (__pyx_optional_args->__pyx_n > 1) {
38564 __pyx_v_leng = __pyx_optional_args->leng;
38565 if (__pyx_optional_args->__pyx_n > 2) {
38566 __pyx_v_order = __pyx_optional_args->order;
38567 if (__pyx_optional_args->__pyx_n > 3) {
38568 __pyx_v_cb = __pyx_optional_args->cb;
38569 }
38570 }
38571 }
38572 }
38573 }
38574 __Pyx_INCREF(__pyx_v_order)( ((PyObject*)(__pyx_v_order))->ob_refcnt++);
38575 /* Check if called by wrapper */
38576 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
38577 /* Check if overridden in Python */
38578 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
38579 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_coll_query_ids); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1895; __pyx_clineno = __LINE__38579; goto __pyx_L1_error;}
38580 __Pyx_GOTREF(__pyx_t_1);
38581 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_161coll_query_ids)) {
38582 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
38583 __pyx_t_2 = PyTuple_New(5); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1895; __pyx_clineno = __LINE__38583; goto __pyx_L1_error;}
38584 __Pyx_GOTREF(__pyx_t_2);
38585 __Pyx_INCREF(((PyObject *)__pyx_v_coll))( ((PyObject*)(((PyObject *)__pyx_v_coll)))->ob_refcnt++);
38586 PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_coll))(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = ((PyObject *
)__pyx_v_coll))
;
38587 __Pyx_GIVEREF(((PyObject *)__pyx_v_coll));
38588 __Pyx_INCREF(__pyx_v_start)( ((PyObject*)(__pyx_v_start))->ob_refcnt++);
38589 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_start)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_start
)
;
38590 __Pyx_GIVEREF(__pyx_v_start);
38591 __Pyx_INCREF(__pyx_v_leng)( ((PyObject*)(__pyx_v_leng))->ob_refcnt++);
38592 PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_leng)(((PyTupleObject *)(__pyx_t_2))->ob_item[2] = __pyx_v_leng
)
;
38593 __Pyx_GIVEREF(__pyx_v_leng);
38594 __Pyx_INCREF(__pyx_v_order)( ((PyObject*)(__pyx_v_order))->ob_refcnt++);
38595 PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_v_order)(((PyTupleObject *)(__pyx_t_2))->ob_item[3] = __pyx_v_order
)
;
38596 __Pyx_GIVEREF(__pyx_v_order);
38597 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
38598 PyTuple_SET_ITEM(__pyx_t_2, 4, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[4] = __pyx_v_cb);
38599 __Pyx_GIVEREF(__pyx_v_cb);
38600 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1895; __pyx_clineno = __LINE__38600; goto __pyx_L1_error;}
38601 __Pyx_GOTREF(__pyx_t_3);
38602 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
38603 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1895; __pyx_clineno = __LINE__38603; goto __pyx_L1_error;}
38604 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
38605 __pyx_t_3 = 0;
38606 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
38607 goto __pyx_L0;
38608 }
38609 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
38610 }
38611
38612 /* "xmmsapi.pyx":1904
38613 * cdef xmmsc_result_t *res
38614 *
38615 * if order is None: # <<<<<<<<<<<<<<
38616 * order = []
38617 * order_val = create_native_value(order)
38618 */
38619 __pyx_t_4 = (__pyx_v_order == Py_None(&_Py_NoneStruct));
38620 __pyx_t_5 = (__pyx_t_4 != 0);
38621 if (__pyx_t_5) {
38622
38623 /* "xmmsapi.pyx":1905
38624 *
38625 * if order is None:
38626 * order = [] # <<<<<<<<<<<<<<
38627 * order_val = create_native_value(order)
38628 * res = xmmsc_coll_query_ids(self.conn, coll.coll, order_val, start, leng)
38629 */
38630 __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1905; __pyx_clineno = __LINE__38630; goto __pyx_L1_error;}
38631 __Pyx_GOTREF(__pyx_t_1);
38632 __Pyx_DECREF_SET(__pyx_v_order, __pyx_t_1)do { PyObject *tmp = (PyObject *) __pyx_v_order; __pyx_v_order
= __pyx_t_1; do { if ( --((PyObject*)(tmp))->ob_refcnt !=
0) ; else ( (*(((PyObject*)((PyObject *)(tmp)))->ob_type)
->tp_dealloc)((PyObject *)((PyObject *)(tmp)))); } while (
0); } while (0)
;
38633 __pyx_t_1 = 0;
38634 goto __pyx_L3;
38635 }
38636 __pyx_L3:;
38637
38638 /* "xmmsapi.pyx":1906
38639 * if order is None:
38640 * order = []
38641 * order_val = create_native_value(order) # <<<<<<<<<<<<<<
38642 * res = xmmsc_coll_query_ids(self.conn, coll.coll, order_val, start, leng)
38643 * xmmsv_unref(order_val)
38644 */
38645 __pyx_t_6 = __pyx_f_9xmmsvalue_create_native_value(__pyx_v_order); if (unlikely(__pyx_t_6 == NULL)__builtin_expect(!!(__pyx_t_6 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1906; __pyx_clineno = __LINE__38645; goto __pyx_L1_error;}
38646 __pyx_v_order_val = __pyx_t_6;
38647
38648 /* "xmmsapi.pyx":1907
38649 * order = []
38650 * order_val = create_native_value(order)
38651 * res = xmmsc_coll_query_ids(self.conn, coll.coll, order_val, start, leng) # <<<<<<<<<<<<<<
38652 * xmmsv_unref(order_val)
38653 * return self.create_result(cb, res)
38654 */
38655 __pyx_t_7 = __Pyx_PyInt_As_unsigned_int(__pyx_v_start); if (unlikely((__pyx_t_7 == (unsigned int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_t_7 == (unsigned int)-1) &&
PyErr_Occurred()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1907; __pyx_clineno = __LINE__38655; goto __pyx_L1_error;}
38656 __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_v_leng); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_t_8 == (unsigned int)-1) &&
PyErr_Occurred()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1907; __pyx_clineno = __LINE__38656; goto __pyx_L1_error;}
38657 __pyx_v_res = xmmsc_coll_query_ids(__pyx_v_self->__pyx_base.conn, __pyx_v_coll->__pyx_base.coll, __pyx_v_order_val, __pyx_t_7, __pyx_t_8);
38658
38659 /* "xmmsapi.pyx":1908
38660 * order_val = create_native_value(order)
38661 * res = xmmsc_coll_query_ids(self.conn, coll.coll, order_val, start, leng)
38662 * xmmsv_unref(order_val) # <<<<<<<<<<<<<<
38663 * return self.create_result(cb, res)
38664 *
38665 */
38666 xmmsv_unref(__pyx_v_order_val);
38667
38668 /* "xmmsapi.pyx":1909
38669 * res = xmmsc_coll_query_ids(self.conn, coll.coll, order_val, start, leng)
38670 * xmmsv_unref(order_val)
38671 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
38672 *
38673 * cpdef XmmsResult coll_query_infos(self, Collection coll, fields, start = 0, leng = 0, order = None, groupby = None, cb = None):
38674 */
38675 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
38676 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1909; __pyx_clineno = __LINE__38676; goto __pyx_L1_error;}
38677 __Pyx_GOTREF(__pyx_t_1);
38678 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
38679 __pyx_t_1 = 0;
38680 goto __pyx_L0;
38681
38682 /* "xmmsapi.pyx":1895
38683 * return res
38684 *
38685 * cpdef XmmsResult coll_query_ids(self, Collection coll, start = 0, leng = 0, order = None, cb = None): # <<<<<<<<<<<<<<
38686 * """
38687 * Retrive a list of ids of the media matching the collection
38688 */
38689
38690 /* function exit code */
38691 __pyx_L1_error:;
38692 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
38693 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
38694 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
38695 __Pyx_AddTraceback("xmmsapi.XmmsApi.coll_query_ids", __pyx_clineno, __pyx_lineno, __pyx_filename);
38696 __pyx_r = 0;
38697 __pyx_L0:;
38698 __Pyx_XDECREF(__pyx_v_order)do { if ((__pyx_v_order) == ((void*)0)) ; else do { if ( --((
PyObject*)(__pyx_v_order))->ob_refcnt != 0) ; else ( (*(((
PyObject*)((PyObject *)(__pyx_v_order)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(__pyx_v_order)))); } while (0); }
while (0)
;
38699 __Pyx_XGIVEREF((PyObject *)__pyx_r);
38700 __Pyx_RefNannyFinishContext();
38701 return __pyx_r;
38702}
38703
38704/* Python wrapper */
38705static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_161coll_query_ids(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
38706static char __pyx_doc_7xmmsapi_7XmmsApi_160coll_query_ids[] = "XmmsApi.coll_query_ids(self, Collection coll, start=0, leng=0, order=None, cb=None) -> XmmsResult\n\n\t\tRetrive a list of ids of the media matching the collection\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
38707static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_161coll_query_ids(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
38708 struct __pyx_obj_9xmmsvalue_Collection *__pyx_v_coll = 0;
38709 PyObject *__pyx_v_start = 0;
38710 PyObject *__pyx_v_leng = 0;
38711 PyObject *__pyx_v_order = 0;
38712 PyObject *__pyx_v_cb = 0;
38713 int __pyx_lineno = 0;
38714 const char *__pyx_filename = NULL((void*)0);
38715 int __pyx_clineno = 0;
38716 PyObject *__pyx_r = 0;
38717 __Pyx_RefNannyDeclarations
38718 __Pyx_RefNannySetupContext("coll_query_ids (wrapper)", 0);
38719 {
38720 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_coll,&__pyx_n_s_start,&__pyx_n_s_leng,&__pyx_n_s_order,&__pyx_n_s_cb,0};
38721 PyObject* values[5] = {0,0,0,0,0};
38722 values[1] = ((PyObject *)__pyx_int_0);
38723 values[2] = ((PyObject *)__pyx_int_0);
38724 values[3] = ((PyObject *)Py_None(&_Py_NoneStruct));
38725 values[4] = ((PyObject *)Py_None(&_Py_NoneStruct));
38726 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
38727 Py_ssize_t kw_args;
38728 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
38729 switch (pos_args) {
38730 case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4)(((PyTupleObject *)(__pyx_args))->ob_item[4]);
38731 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
38732 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
38733 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
38734 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
38735 case 0: break;
38736 default: goto __pyx_L5_argtuple_error;
38737 }
38738 kw_args = PyDict_Size(__pyx_kwds);
38739 switch (pos_args) {
38740 case 0:
38741 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_coll)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_coll
)) != 0), 1)
) kw_args--;
38742 else goto __pyx_L5_argtuple_error;
38743 case 1:
38744 if (kw_args > 0) {
38745 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_start);
38746 if (value) { values[1] = value; kw_args--; }
38747 }
38748 case 2:
38749 if (kw_args > 0) {
38750 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_leng);
38751 if (value) { values[2] = value; kw_args--; }
38752 }
38753 case 3:
38754 if (kw_args > 0) {
38755 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_order);
38756 if (value) { values[3] = value; kw_args--; }
38757 }
38758 case 4:
38759 if (kw_args > 0) {
38760 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
38761 if (value) { values[4] = value; kw_args--; }
38762 }
38763 }
38764 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
38765 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "coll_query_ids") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "coll_query_ids") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1895; __pyx_clineno = __LINE__38765; goto __pyx_L3_error;}
38766 }
38767 } else {
38768 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
38769 case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4)(((PyTupleObject *)(__pyx_args))->ob_item[4]);
38770 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
38771 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
38772 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
38773 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
38774 break;
38775 default: goto __pyx_L5_argtuple_error;
38776 }
38777 }
38778 __pyx_v_coll = ((struct __pyx_obj_9xmmsvalue_Collection *)values[0]);
38779 __pyx_v_start = values[1];
38780 __pyx_v_leng = values[2];
38781 __pyx_v_order = values[3];
38782 __pyx_v_cb = values[4];
38783 }
38784 goto __pyx_L4_argument_unpacking_done;
38785 __pyx_L5_argtuple_error:;
38786 __Pyx_RaiseArgtupleInvalid("coll_query_ids", 0, 1, 5, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1895; __pyx_clineno = __LINE__38786; goto __pyx_L3_error;}
38787 __pyx_L3_error:;
38788 __Pyx_AddTraceback("xmmsapi.XmmsApi.coll_query_ids", __pyx_clineno, __pyx_lineno, __pyx_filename);
38789 __Pyx_RefNannyFinishContext();
38790 return NULL((void*)0);
38791 __pyx_L4_argument_unpacking_done:;
38792 if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_coll), __pyx_ptype_9xmmsvalue_Collection, 1, "coll", 0))__builtin_expect(!!(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_coll
), __pyx_ptype_9xmmsvalue_Collection, 1, "coll", 0)), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1895; __pyx_clineno = __LINE__38792; goto __pyx_L1_error;}
38793 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_160coll_query_ids(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_coll, __pyx_v_start, __pyx_v_leng, __pyx_v_order, __pyx_v_cb);
38794
38795 /* function exit code */
38796 goto __pyx_L0;
38797 __pyx_L1_error:;
38798 __pyx_r = NULL((void*)0);
38799 __pyx_L0:;
38800 __Pyx_RefNannyFinishContext();
38801 return __pyx_r;
38802}
38803
38804static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_160coll_query_ids(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, struct __pyx_obj_9xmmsvalue_Collection *__pyx_v_coll, PyObject *__pyx_v_start, PyObject *__pyx_v_leng, PyObject *__pyx_v_order, PyObject *__pyx_v_cb) {
38805 PyObject *__pyx_r = NULL((void*)0);
38806 __Pyx_RefNannyDeclarations
38807 PyObject *__pyx_t_1 = NULL((void*)0);
38808 struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_query_ids __pyx_t_2;
38809 int __pyx_lineno = 0;
38810 const char *__pyx_filename = NULL((void*)0);
38811 int __pyx_clineno = 0;
38812 __Pyx_RefNannySetupContext("coll_query_ids", 0);
38813 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
38814 __pyx_t_2.__pyx_n = 4;
38815 __pyx_t_2.start = __pyx_v_start;
38816 __pyx_t_2.leng = __pyx_v_leng;
38817 __pyx_t_2.order = __pyx_v_order;
38818 __pyx_t_2.cb = __pyx_v_cb;
38819 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->coll_query_ids(__pyx_v_self, __pyx_v_coll, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1895; __pyx_clineno = __LINE__38819; goto __pyx_L1_error;}
38820 __Pyx_GOTREF(__pyx_t_1);
38821 __pyx_r = __pyx_t_1;
38822 __pyx_t_1 = 0;
38823 goto __pyx_L0;
38824
38825 /* function exit code */
38826 __pyx_L1_error:;
38827 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
38828 __Pyx_AddTraceback("xmmsapi.XmmsApi.coll_query_ids", __pyx_clineno, __pyx_lineno, __pyx_filename);
38829 __pyx_r = NULL((void*)0);
38830 __pyx_L0:;
38831 __Pyx_XGIVEREF(__pyx_r);
38832 __Pyx_RefNannyFinishContext();
38833 return __pyx_r;
38834}
38835
38836/* "xmmsapi.pyx":1911
38837 * return self.create_result(cb, res)
38838 *
38839 * cpdef XmmsResult coll_query_infos(self, Collection coll, fields, start = 0, leng = 0, order = None, groupby = None, cb = None): # <<<<<<<<<<<<<<
38840 * """
38841 * Retrive a list of mediainfo of the media matching the collection
38842 */
38843
38844static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_163coll_query_infos(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
38845static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_coll_query_infos(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, struct __pyx_obj_9xmmsvalue_Collection *__pyx_v_coll, PyObject *__pyx_v_fields, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_query_infos *__pyx_optional_args) {
38846 PyObject *__pyx_v_start = ((PyObject *)__pyx_int_0);
38847 PyObject *__pyx_v_leng = ((PyObject *)__pyx_int_0);
38848 PyObject *__pyx_v_order = ((PyObject *)Py_None(&_Py_NoneStruct));
38849 PyObject *__pyx_v_groupby = ((PyObject *)Py_None(&_Py_NoneStruct));
38850 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
38851 xmmsv_t *__pyx_v_order_val;
38852 xmmsv_t *__pyx_v_fields_val;
38853 xmmsv_t *__pyx_v_groupby_val;
38854 xmmsc_result_t *__pyx_v_res;
38855 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
38856 __Pyx_RefNannyDeclarations
38857 PyObject *__pyx_t_1 = NULL((void*)0);
38858 PyObject *__pyx_t_2 = NULL((void*)0);
38859 PyObject *__pyx_t_3 = NULL((void*)0);
38860 int __pyx_t_4;
38861 int __pyx_t_5;
38862 xmmsv_t *__pyx_t_6;
38863 unsigned int __pyx_t_7;
38864 unsigned int __pyx_t_8;
38865 int __pyx_lineno = 0;
38866 const char *__pyx_filename = NULL((void*)0);
38867 int __pyx_clineno = 0;
38868 __Pyx_RefNannySetupContext("coll_query_infos", 0);
38869 if (__pyx_optional_args) {
38870 if (__pyx_optional_args->__pyx_n > 0) {
38871 __pyx_v_start = __pyx_optional_args->start;
38872 if (__pyx_optional_args->__pyx_n > 1) {
38873 __pyx_v_leng = __pyx_optional_args->leng;
38874 if (__pyx_optional_args->__pyx_n > 2) {
38875 __pyx_v_order = __pyx_optional_args->order;
38876 if (__pyx_optional_args->__pyx_n > 3) {
38877 __pyx_v_groupby = __pyx_optional_args->groupby;
38878 if (__pyx_optional_args->__pyx_n > 4) {
38879 __pyx_v_cb = __pyx_optional_args->cb;
38880 }
38881 }
38882 }
38883 }
38884 }
38885 }
38886 __Pyx_INCREF(__pyx_v_order)( ((PyObject*)(__pyx_v_order))->ob_refcnt++);
38887 __Pyx_INCREF(__pyx_v_groupby)( ((PyObject*)(__pyx_v_groupby))->ob_refcnt++);
38888 /* Check if called by wrapper */
38889 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
38890 /* Check if overridden in Python */
38891 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
38892 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_coll_query_infos); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1911; __pyx_clineno = __LINE__38892; goto __pyx_L1_error;}
38893 __Pyx_GOTREF(__pyx_t_1);
38894 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_163coll_query_infos)) {
38895 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
38896 __pyx_t_2 = PyTuple_New(7); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1911; __pyx_clineno = __LINE__38896; goto __pyx_L1_error;}
38897 __Pyx_GOTREF(__pyx_t_2);
38898 __Pyx_INCREF(((PyObject *)__pyx_v_coll))( ((PyObject*)(((PyObject *)__pyx_v_coll)))->ob_refcnt++);
38899 PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_coll))(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = ((PyObject *
)__pyx_v_coll))
;
38900 __Pyx_GIVEREF(((PyObject *)__pyx_v_coll));
38901 __Pyx_INCREF(__pyx_v_fields)( ((PyObject*)(__pyx_v_fields))->ob_refcnt++);
38902 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_fields)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_fields
)
;
38903 __Pyx_GIVEREF(__pyx_v_fields);
38904 __Pyx_INCREF(__pyx_v_start)( ((PyObject*)(__pyx_v_start))->ob_refcnt++);
38905 PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_start)(((PyTupleObject *)(__pyx_t_2))->ob_item[2] = __pyx_v_start
)
;
38906 __Pyx_GIVEREF(__pyx_v_start);
38907 __Pyx_INCREF(__pyx_v_leng)( ((PyObject*)(__pyx_v_leng))->ob_refcnt++);
38908 PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_v_leng)(((PyTupleObject *)(__pyx_t_2))->ob_item[3] = __pyx_v_leng
)
;
38909 __Pyx_GIVEREF(__pyx_v_leng);
38910 __Pyx_INCREF(__pyx_v_order)( ((PyObject*)(__pyx_v_order))->ob_refcnt++);
38911 PyTuple_SET_ITEM(__pyx_t_2, 4, __pyx_v_order)(((PyTupleObject *)(__pyx_t_2))->ob_item[4] = __pyx_v_order
)
;
38912 __Pyx_GIVEREF(__pyx_v_order);
38913 __Pyx_INCREF(__pyx_v_groupby)( ((PyObject*)(__pyx_v_groupby))->ob_refcnt++);
38914 PyTuple_SET_ITEM(__pyx_t_2, 5, __pyx_v_groupby)(((PyTupleObject *)(__pyx_t_2))->ob_item[5] = __pyx_v_groupby
)
;
38915 __Pyx_GIVEREF(__pyx_v_groupby);
38916 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
38917 PyTuple_SET_ITEM(__pyx_t_2, 6, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[6] = __pyx_v_cb);
38918 __Pyx_GIVEREF(__pyx_v_cb);
38919 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1911; __pyx_clineno = __LINE__38919; goto __pyx_L1_error;}
38920 __Pyx_GOTREF(__pyx_t_3);
38921 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
38922 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1911; __pyx_clineno = __LINE__38922; goto __pyx_L1_error;}
38923 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
38924 __pyx_t_3 = 0;
38925 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
38926 goto __pyx_L0;
38927 }
38928 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
38929 }
38930
38931 /* "xmmsapi.pyx":1922
38932 * cdef xmmsc_result_t *res
38933 *
38934 * if order is None: # <<<<<<<<<<<<<<
38935 * order = []
38936 * if groupby is None:
38937 */
38938 __pyx_t_4 = (__pyx_v_order == Py_None(&_Py_NoneStruct));
38939 __pyx_t_5 = (__pyx_t_4 != 0);
38940 if (__pyx_t_5) {
38941
38942 /* "xmmsapi.pyx":1923
38943 *
38944 * if order is None:
38945 * order = [] # <<<<<<<<<<<<<<
38946 * if groupby is None:
38947 * groupby = []
38948 */
38949 __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1923; __pyx_clineno = __LINE__38949; goto __pyx_L1_error;}
38950 __Pyx_GOTREF(__pyx_t_1);
38951 __Pyx_DECREF_SET(__pyx_v_order, __pyx_t_1)do { PyObject *tmp = (PyObject *) __pyx_v_order; __pyx_v_order
= __pyx_t_1; do { if ( --((PyObject*)(tmp))->ob_refcnt !=
0) ; else ( (*(((PyObject*)((PyObject *)(tmp)))->ob_type)
->tp_dealloc)((PyObject *)((PyObject *)(tmp)))); } while (
0); } while (0)
;
38952 __pyx_t_1 = 0;
38953 goto __pyx_L3;
38954 }
38955 __pyx_L3:;
38956
38957 /* "xmmsapi.pyx":1924
38958 * if order is None:
38959 * order = []
38960 * if groupby is None: # <<<<<<<<<<<<<<
38961 * groupby = []
38962 * order_val = create_native_value(order)
38963 */
38964 __pyx_t_5 = (__pyx_v_groupby == Py_None(&_Py_NoneStruct));
38965 __pyx_t_4 = (__pyx_t_5 != 0);
38966 if (__pyx_t_4) {
38967
38968 /* "xmmsapi.pyx":1925
38969 * order = []
38970 * if groupby is None:
38971 * groupby = [] # <<<<<<<<<<<<<<
38972 * order_val = create_native_value(order)
38973 * fields_val = create_native_value(fields)
38974 */
38975 __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1925; __pyx_clineno = __LINE__38975; goto __pyx_L1_error;}
38976 __Pyx_GOTREF(__pyx_t_1);
38977 __Pyx_DECREF_SET(__pyx_v_groupby, __pyx_t_1)do { PyObject *tmp = (PyObject *) __pyx_v_groupby; __pyx_v_groupby
= __pyx_t_1; do { if ( --((PyObject*)(tmp))->ob_refcnt !=
0) ; else ( (*(((PyObject*)((PyObject *)(tmp)))->ob_type)
->tp_dealloc)((PyObject *)((PyObject *)(tmp)))); } while (
0); } while (0)
;
38978 __pyx_t_1 = 0;
38979 goto __pyx_L4;
38980 }
38981 __pyx_L4:;
38982
38983 /* "xmmsapi.pyx":1926
38984 * if groupby is None:
38985 * groupby = []
38986 * order_val = create_native_value(order) # <<<<<<<<<<<<<<
38987 * fields_val = create_native_value(fields)
38988 * groupby_val = create_native_value(groupby)
38989 */
38990 __pyx_t_6 = __pyx_f_9xmmsvalue_create_native_value(__pyx_v_order); if (unlikely(__pyx_t_6 == NULL)__builtin_expect(!!(__pyx_t_6 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1926; __pyx_clineno = __LINE__38990; goto __pyx_L1_error;}
38991 __pyx_v_order_val = __pyx_t_6;
38992
38993 /* "xmmsapi.pyx":1927
38994 * groupby = []
38995 * order_val = create_native_value(order)
38996 * fields_val = create_native_value(fields) # <<<<<<<<<<<<<<
38997 * groupby_val = create_native_value(groupby)
38998 * res = xmmsc_coll_query_infos(self.conn, coll.coll, order_val, start, leng, fields_val, groupby_val)
38999 */
39000 __pyx_t_6 = __pyx_f_9xmmsvalue_create_native_value(__pyx_v_fields); if (unlikely(__pyx_t_6 == NULL)__builtin_expect(!!(__pyx_t_6 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1927; __pyx_clineno = __LINE__39000; goto __pyx_L1_error;}
39001 __pyx_v_fields_val = __pyx_t_6;
39002
39003 /* "xmmsapi.pyx":1928
39004 * order_val = create_native_value(order)
39005 * fields_val = create_native_value(fields)
39006 * groupby_val = create_native_value(groupby) # <<<<<<<<<<<<<<
39007 * res = xmmsc_coll_query_infos(self.conn, coll.coll, order_val, start, leng, fields_val, groupby_val)
39008 * xmmsv_unref(order_val)
39009 */
39010 __pyx_t_6 = __pyx_f_9xmmsvalue_create_native_value(__pyx_v_groupby); if (unlikely(__pyx_t_6 == NULL)__builtin_expect(!!(__pyx_t_6 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1928; __pyx_clineno = __LINE__39010; goto __pyx_L1_error;}
39011 __pyx_v_groupby_val = __pyx_t_6;
39012
39013 /* "xmmsapi.pyx":1929
39014 * fields_val = create_native_value(fields)
39015 * groupby_val = create_native_value(groupby)
39016 * res = xmmsc_coll_query_infos(self.conn, coll.coll, order_val, start, leng, fields_val, groupby_val) # <<<<<<<<<<<<<<
39017 * xmmsv_unref(order_val)
39018 * xmmsv_unref(fields_val)
39019 */
39020 __pyx_t_7 = __Pyx_PyInt_As_unsigned_int(__pyx_v_start); if (unlikely((__pyx_t_7 == (unsigned int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_t_7 == (unsigned int)-1) &&
PyErr_Occurred()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1929; __pyx_clineno = __LINE__39020; goto __pyx_L1_error;}
39021 __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_v_leng); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_t_8 == (unsigned int)-1) &&
PyErr_Occurred()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1929; __pyx_clineno = __LINE__39021; goto __pyx_L1_error;}
39022 __pyx_v_res = xmmsc_coll_query_infos(__pyx_v_self->__pyx_base.conn, __pyx_v_coll->__pyx_base.coll, __pyx_v_order_val, __pyx_t_7, __pyx_t_8, __pyx_v_fields_val, __pyx_v_groupby_val);
39023
39024 /* "xmmsapi.pyx":1930
39025 * groupby_val = create_native_value(groupby)
39026 * res = xmmsc_coll_query_infos(self.conn, coll.coll, order_val, start, leng, fields_val, groupby_val)
39027 * xmmsv_unref(order_val) # <<<<<<<<<<<<<<
39028 * xmmsv_unref(fields_val)
39029 * xmmsv_unref(groupby_val)
39030 */
39031 xmmsv_unref(__pyx_v_order_val);
39032
39033 /* "xmmsapi.pyx":1931
39034 * res = xmmsc_coll_query_infos(self.conn, coll.coll, order_val, start, leng, fields_val, groupby_val)
39035 * xmmsv_unref(order_val)
39036 * xmmsv_unref(fields_val) # <<<<<<<<<<<<<<
39037 * xmmsv_unref(groupby_val)
39038 * return self.create_result(cb, res)
39039 */
39040 xmmsv_unref(__pyx_v_fields_val);
39041
39042 /* "xmmsapi.pyx":1932
39043 * xmmsv_unref(order_val)
39044 * xmmsv_unref(fields_val)
39045 * xmmsv_unref(groupby_val) # <<<<<<<<<<<<<<
39046 * return self.create_result(cb, res)
39047 *
39048 */
39049 xmmsv_unref(__pyx_v_groupby_val);
39050
39051 /* "xmmsapi.pyx":1933
39052 * xmmsv_unref(fields_val)
39053 * xmmsv_unref(groupby_val)
39054 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
39055 *
39056 * cpdef XmmsResult c2c_ready(self, cb = None):
39057 */
39058 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
39059 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1933; __pyx_clineno = __LINE__39059; goto __pyx_L1_error;}
39060 __Pyx_GOTREF(__pyx_t_1);
39061 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
39062 __pyx_t_1 = 0;
39063 goto __pyx_L0;
39064
39065 /* "xmmsapi.pyx":1911
39066 * return self.create_result(cb, res)
39067 *
39068 * cpdef XmmsResult coll_query_infos(self, Collection coll, fields, start = 0, leng = 0, order = None, groupby = None, cb = None): # <<<<<<<<<<<<<<
39069 * """
39070 * Retrive a list of mediainfo of the media matching the collection
39071 */
39072
39073 /* function exit code */
39074 __pyx_L1_error:;
39075 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
39076 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
39077 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
39078 __Pyx_AddTraceback("xmmsapi.XmmsApi.coll_query_infos", __pyx_clineno, __pyx_lineno, __pyx_filename);
39079 __pyx_r = 0;
39080 __pyx_L0:;
39081 __Pyx_XDECREF(__pyx_v_order)do { if ((__pyx_v_order) == ((void*)0)) ; else do { if ( --((
PyObject*)(__pyx_v_order))->ob_refcnt != 0) ; else ( (*(((
PyObject*)((PyObject *)(__pyx_v_order)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(__pyx_v_order)))); } while (0); }
while (0)
;
39082 __Pyx_XDECREF(__pyx_v_groupby)do { if ((__pyx_v_groupby) == ((void*)0)) ; else do { if ( --
((PyObject*)(__pyx_v_groupby))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(__pyx_v_groupby)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_v_groupby)))); } while
(0); } while (0)
;
39083 __Pyx_XGIVEREF((PyObject *)__pyx_r);
39084 __Pyx_RefNannyFinishContext();
39085 return __pyx_r;
39086}
39087
39088/* Python wrapper */
39089static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_163coll_query_infos(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
39090static char __pyx_doc_7xmmsapi_7XmmsApi_162coll_query_infos[] = "XmmsApi.coll_query_infos(self, Collection coll, fields, start=0, leng=0, order=None, groupby=None, cb=None) -> XmmsResult\n\n\t\tRetrive a list of mediainfo of the media matching the collection\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
39091static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_163coll_query_infos(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
39092 struct __pyx_obj_9xmmsvalue_Collection *__pyx_v_coll = 0;
39093 PyObject *__pyx_v_fields = 0;
39094 PyObject *__pyx_v_start = 0;
39095 PyObject *__pyx_v_leng = 0;
39096 PyObject *__pyx_v_order = 0;
39097 PyObject *__pyx_v_groupby = 0;
39098 PyObject *__pyx_v_cb = 0;
39099 int __pyx_lineno = 0;
39100 const char *__pyx_filename = NULL((void*)0);
39101 int __pyx_clineno = 0;
39102 PyObject *__pyx_r = 0;
39103 __Pyx_RefNannyDeclarations
39104 __Pyx_RefNannySetupContext("coll_query_infos (wrapper)", 0);
39105 {
39106 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_coll,&__pyx_n_s_fields,&__pyx_n_s_start,&__pyx_n_s_leng,&__pyx_n_s_order,&__pyx_n_s_groupby,&__pyx_n_s_cb,0};
39107 PyObject* values[7] = {0,0,0,0,0,0,0};
39108 values[2] = ((PyObject *)__pyx_int_0);
39109 values[3] = ((PyObject *)__pyx_int_0);
39110 values[4] = ((PyObject *)Py_None(&_Py_NoneStruct));
39111 values[5] = ((PyObject *)Py_None(&_Py_NoneStruct));
39112 values[6] = ((PyObject *)Py_None(&_Py_NoneStruct));
39113 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
39114 Py_ssize_t kw_args;
39115 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
39116 switch (pos_args) {
39117 case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6)(((PyTupleObject *)(__pyx_args))->ob_item[6]);
39118 case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5)(((PyTupleObject *)(__pyx_args))->ob_item[5]);
39119 case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4)(((PyTupleObject *)(__pyx_args))->ob_item[4]);
39120 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
39121 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
39122 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
39123 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
39124 case 0: break;
39125 default: goto __pyx_L5_argtuple_error;
39126 }
39127 kw_args = PyDict_Size(__pyx_kwds);
39128 switch (pos_args) {
39129 case 0:
39130 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_coll)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_coll
)) != 0), 1)
) kw_args--;
39131 else goto __pyx_L5_argtuple_error;
39132 case 1:
39133 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fields)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fields
)) != 0), 1)
) kw_args--;
39134 else {
39135 __Pyx_RaiseArgtupleInvalid("coll_query_infos", 0, 2, 7, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1911; __pyx_clineno = __LINE__39135; goto __pyx_L3_error;}
39136 }
39137 case 2:
39138 if (kw_args > 0) {
39139 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_start);
39140 if (value) { values[2] = value; kw_args--; }
39141 }
39142 case 3:
39143 if (kw_args > 0) {
39144 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_leng);
39145 if (value) { values[3] = value; kw_args--; }
39146 }
39147 case 4:
39148 if (kw_args > 0) {
39149 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_order);
39150 if (value) { values[4] = value; kw_args--; }
39151 }
39152 case 5:
39153 if (kw_args > 0) {
39154 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_groupby);
39155 if (value) { values[5] = value; kw_args--; }
39156 }
39157 case 6:
39158 if (kw_args > 0) {
39159 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
39160 if (value) { values[6] = value; kw_args--; }
39161 }
39162 }
39163 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
39164 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "coll_query_infos") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "coll_query_infos") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1911; __pyx_clineno = __LINE__39164; goto __pyx_L3_error;}
39165 }
39166 } else {
39167 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
39168 case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6)(((PyTupleObject *)(__pyx_args))->ob_item[6]);
39169 case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5)(((PyTupleObject *)(__pyx_args))->ob_item[5]);
39170 case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4)(((PyTupleObject *)(__pyx_args))->ob_item[4]);
39171 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
39172 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
39173 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
39174 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
39175 break;
39176 default: goto __pyx_L5_argtuple_error;
39177 }
39178 }
39179 __pyx_v_coll = ((struct __pyx_obj_9xmmsvalue_Collection *)values[0]);
39180 __pyx_v_fields = values[1];
39181 __pyx_v_start = values[2];
39182 __pyx_v_leng = values[3];
39183 __pyx_v_order = values[4];
39184 __pyx_v_groupby = values[5];
39185 __pyx_v_cb = values[6];
39186 }
39187 goto __pyx_L4_argument_unpacking_done;
39188 __pyx_L5_argtuple_error:;
39189 __Pyx_RaiseArgtupleInvalid("coll_query_infos", 0, 2, 7, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1911; __pyx_clineno = __LINE__39189; goto __pyx_L3_error;}
39190 __pyx_L3_error:;
39191 __Pyx_AddTraceback("xmmsapi.XmmsApi.coll_query_infos", __pyx_clineno, __pyx_lineno, __pyx_filename);
39192 __Pyx_RefNannyFinishContext();
39193 return NULL((void*)0);
39194 __pyx_L4_argument_unpacking_done:;
39195 if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_coll), __pyx_ptype_9xmmsvalue_Collection, 1, "coll", 0))__builtin_expect(!!(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_coll
), __pyx_ptype_9xmmsvalue_Collection, 1, "coll", 0)), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1911; __pyx_clineno = __LINE__39195; goto __pyx_L1_error;}
Value stored to '__pyx_filename' is never read
39196 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_162coll_query_infos(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_coll, __pyx_v_fields, __pyx_v_start, __pyx_v_leng, __pyx_v_order, __pyx_v_groupby, __pyx_v_cb);
39197
39198 /* function exit code */
39199 goto __pyx_L0;
39200 __pyx_L1_error:;
39201 __pyx_r = NULL((void*)0);
39202 __pyx_L0:;
39203 __Pyx_RefNannyFinishContext();
39204 return __pyx_r;
39205}
39206
39207static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_162coll_query_infos(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, struct __pyx_obj_9xmmsvalue_Collection *__pyx_v_coll, PyObject *__pyx_v_fields, PyObject *__pyx_v_start, PyObject *__pyx_v_leng, PyObject *__pyx_v_order, PyObject *__pyx_v_groupby, PyObject *__pyx_v_cb) {
39208 PyObject *__pyx_r = NULL((void*)0);
39209 __Pyx_RefNannyDeclarations
39210 PyObject *__pyx_t_1 = NULL((void*)0);
39211 struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_query_infos __pyx_t_2;
39212 int __pyx_lineno = 0;
39213 const char *__pyx_filename = NULL((void*)0);
39214 int __pyx_clineno = 0;
39215 __Pyx_RefNannySetupContext("coll_query_infos", 0);
39216 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
39217 __pyx_t_2.__pyx_n = 5;
39218 __pyx_t_2.start = __pyx_v_start;
39219 __pyx_t_2.leng = __pyx_v_leng;
39220 __pyx_t_2.order = __pyx_v_order;
39221 __pyx_t_2.groupby = __pyx_v_groupby;
39222 __pyx_t_2.cb = __pyx_v_cb;
39223 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->coll_query_infos(__pyx_v_self, __pyx_v_coll, __pyx_v_fields, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1911; __pyx_clineno = __LINE__39223; goto __pyx_L1_error;}
39224 __Pyx_GOTREF(__pyx_t_1);
39225 __pyx_r = __pyx_t_1;
39226 __pyx_t_1 = 0;
39227 goto __pyx_L0;
39228
39229 /* function exit code */
39230 __pyx_L1_error:;
39231 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
39232 __Pyx_AddTraceback("xmmsapi.XmmsApi.coll_query_infos", __pyx_clineno, __pyx_lineno, __pyx_filename);
39233 __pyx_r = NULL((void*)0);
39234 __pyx_L0:;
39235 __Pyx_XGIVEREF(__pyx_r);
39236 __Pyx_RefNannyFinishContext();
39237 return __pyx_r;
39238}
39239
39240/* "xmmsapi.pyx":1935
39241 * return self.create_result(cb, res)
39242 *
39243 * cpdef XmmsResult c2c_ready(self, cb = None): # <<<<<<<<<<<<<<
39244 * """
39245 * Notify the server that client services are ready for query.
39246 */
39247
39248static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_165c2c_ready(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
39249static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_c2c_ready(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_c2c_ready *__pyx_optional_args) {
39250 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
39251 xmmsc_result_t *__pyx_v_res;
39252 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
39253 __Pyx_RefNannyDeclarations
39254 PyObject *__pyx_t_1 = NULL((void*)0);
39255 PyObject *__pyx_t_2 = NULL((void*)0);
39256 PyObject *__pyx_t_3 = NULL((void*)0);
39257 int __pyx_t_4;
39258 int __pyx_t_5;
39259 int __pyx_lineno = 0;
39260 const char *__pyx_filename = NULL((void*)0);
39261 int __pyx_clineno = 0;
39262 __Pyx_RefNannySetupContext("c2c_ready", 0);
39263 if (__pyx_optional_args) {
39264 if (__pyx_optional_args->__pyx_n > 0) {
39265 __pyx_v_cb = __pyx_optional_args->cb;
39266 }
39267 }
39268 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
39269 /* Check if called by wrapper */
39270 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
39271 /* Check if overridden in Python */
39272 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
39273 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_c2c_ready); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1935; __pyx_clineno = __LINE__39273; goto __pyx_L1_error;}
39274 __Pyx_GOTREF(__pyx_t_1);
39275 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_165c2c_ready)) {
39276 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
39277 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1935; __pyx_clineno = __LINE__39277; goto __pyx_L1_error;}
39278 __Pyx_GOTREF(__pyx_t_2);
39279 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
39280 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
39281 __Pyx_GIVEREF(__pyx_v_cb);
39282 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1935; __pyx_clineno = __LINE__39282; goto __pyx_L1_error;}
39283 __Pyx_GOTREF(__pyx_t_3);
39284 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
39285 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1935; __pyx_clineno = __LINE__39285; goto __pyx_L1_error;}
39286 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
39287 __pyx_t_3 = 0;
39288 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
39289 goto __pyx_L0;
39290 }
39291 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
39292 }
39293
39294 /* "xmmsapi.pyx":1946
39295 * cdef xmmsc_result_t *res
39296 *
39297 * if not cb: # <<<<<<<<<<<<<<
39298 * cb = _noop
39299 *
39300 */
39301 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_cb); if (unlikely(__pyx_t_4 < 0)__builtin_expect(!!(__pyx_t_4 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1946; __pyx_clineno = __LINE__39301; goto __pyx_L1_error;}
39302 __pyx_t_5 = ((!__pyx_t_4) != 0);
39303 if (__pyx_t_5) {
39304
39305 /* "xmmsapi.pyx":1947
39306 *
39307 * if not cb:
39308 * cb = _noop # <<<<<<<<<<<<<<
39309 *
39310 * res = xmmsc_c2c_ready(self.conn)
39311 */
39312 __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_noop); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1947; __pyx_clineno = __LINE__39312; goto __pyx_L1_error;}
39313 __Pyx_GOTREF(__pyx_t_1);
39314 __Pyx_DECREF_SET(__pyx_v_cb, __pyx_t_1)do { PyObject *tmp = (PyObject *) __pyx_v_cb; __pyx_v_cb = __pyx_t_1
; do { if ( --((PyObject*)(tmp))->ob_refcnt != 0) ; else (
(*(((PyObject*)((PyObject *)(tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(tmp)))); } while (0); } while (0)
;
39315 __pyx_t_1 = 0;
39316 goto __pyx_L3;
39317 }
39318 __pyx_L3:;
39319
39320 /* "xmmsapi.pyx":1949
39321 * cb = _noop
39322 *
39323 * res = xmmsc_c2c_ready(self.conn) # <<<<<<<<<<<<<<
39324 * return self.create_result(cb, res)
39325 *
39326 */
39327 __pyx_v_res = xmmsc_c2c_ready(__pyx_v_self->__pyx_base.conn);
39328
39329 /* "xmmsapi.pyx":1950
39330 *
39331 * res = xmmsc_c2c_ready(self.conn)
39332 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
39333 *
39334 * cpdef XmmsResult c2c_get_connected_clients(self, cb = None):
39335 */
39336 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
39337 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1950; __pyx_clineno = __LINE__39337; goto __pyx_L1_error;}
39338 __Pyx_GOTREF(__pyx_t_1);
39339 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
39340 __pyx_t_1 = 0;
39341 goto __pyx_L0;
39342
39343 /* "xmmsapi.pyx":1935
39344 * return self.create_result(cb, res)
39345 *
39346 * cpdef XmmsResult c2c_ready(self, cb = None): # <<<<<<<<<<<<<<
39347 * """
39348 * Notify the server that client services are ready for query.
39349 */
39350
39351 /* function exit code */
39352 __pyx_L1_error:;
39353 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
39354 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
39355 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
39356 __Pyx_AddTraceback("xmmsapi.XmmsApi.c2c_ready", __pyx_clineno, __pyx_lineno, __pyx_filename);
39357 __pyx_r = 0;
39358 __pyx_L0:;
39359 __Pyx_XDECREF(__pyx_v_cb)do { if ((__pyx_v_cb) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_cb))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_v_cb)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_cb)))); } while (0); } while (0)
;
39360 __Pyx_XGIVEREF((PyObject *)__pyx_r);
39361 __Pyx_RefNannyFinishContext();
39362 return __pyx_r;
39363}
39364
39365/* Python wrapper */
39366static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_165c2c_ready(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
39367static char __pyx_doc_7xmmsapi_7XmmsApi_164c2c_ready[] = "XmmsApi.c2c_ready(self, cb=None) -> XmmsResult\n\n\t\tNotify the server that client services are ready for query.\n\t\tThis method is called XmmsServiceNamespace.register() and don't need to\n\t\tbe called explicitly.\n\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
39368static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_165c2c_ready(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
39369 PyObject *__pyx_v_cb = 0;
39370 int __pyx_lineno = 0;
39371 const char *__pyx_filename = NULL((void*)0);
39372 int __pyx_clineno = 0;
39373 PyObject *__pyx_r = 0;
39374 __Pyx_RefNannyDeclarations
39375 __Pyx_RefNannySetupContext("c2c_ready (wrapper)", 0);
39376 {
39377 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
39378 PyObject* values[1] = {0};
39379 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
39380 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
39381 Py_ssize_t kw_args;
39382 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
39383 switch (pos_args) {
39384 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
39385 case 0: break;
39386 default: goto __pyx_L5_argtuple_error;
39387 }
39388 kw_args = PyDict_Size(__pyx_kwds);
39389 switch (pos_args) {
39390 case 0:
39391 if (kw_args > 0) {
39392 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
39393 if (value) { values[0] = value; kw_args--; }
39394 }
39395 }
39396 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
39397 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "c2c_ready") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "c2c_ready") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1935; __pyx_clineno = __LINE__39397; goto __pyx_L3_error;}
39398 }
39399 } else {
39400 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
39401 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
39402 case 0: break;
39403 default: goto __pyx_L5_argtuple_error;
39404 }
39405 }
39406 __pyx_v_cb = values[0];
39407 }
39408 goto __pyx_L4_argument_unpacking_done;
39409 __pyx_L5_argtuple_error:;
39410 __Pyx_RaiseArgtupleInvalid("c2c_ready", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1935; __pyx_clineno = __LINE__39410; goto __pyx_L3_error;}
39411 __pyx_L3_error:;
39412 __Pyx_AddTraceback("xmmsapi.XmmsApi.c2c_ready", __pyx_clineno, __pyx_lineno, __pyx_filename);
39413 __Pyx_RefNannyFinishContext();
39414 return NULL((void*)0);
39415 __pyx_L4_argument_unpacking_done:;
39416 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_164c2c_ready(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
39417
39418 /* function exit code */
39419 __Pyx_RefNannyFinishContext();
39420 return __pyx_r;
39421}
39422
39423static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_164c2c_ready(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
39424 PyObject *__pyx_r = NULL((void*)0);
39425 __Pyx_RefNannyDeclarations
39426 PyObject *__pyx_t_1 = NULL((void*)0);
39427 struct __pyx_opt_args_7xmmsapi_7XmmsApi_c2c_ready __pyx_t_2;
39428 int __pyx_lineno = 0;
39429 const char *__pyx_filename = NULL((void*)0);
39430 int __pyx_clineno = 0;
39431 __Pyx_RefNannySetupContext("c2c_ready", 0);
39432 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
39433 __pyx_t_2.__pyx_n = 1;
39434 __pyx_t_2.cb = __pyx_v_cb;
39435 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->c2c_ready(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1935; __pyx_clineno = __LINE__39435; goto __pyx_L1_error;}
39436 __Pyx_GOTREF(__pyx_t_1);
39437 __pyx_r = __pyx_t_1;
39438 __pyx_t_1 = 0;
39439 goto __pyx_L0;
39440
39441 /* function exit code */
39442 __pyx_L1_error:;
39443 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
39444 __Pyx_AddTraceback("xmmsapi.XmmsApi.c2c_ready", __pyx_clineno, __pyx_lineno, __pyx_filename);
39445 __pyx_r = NULL((void*)0);
39446 __pyx_L0:;
39447 __Pyx_XGIVEREF(__pyx_r);
39448 __Pyx_RefNannyFinishContext();
39449 return __pyx_r;
39450}
39451
39452/* "xmmsapi.pyx":1952
39453 * return self.create_result(cb, res)
39454 *
39455 * cpdef XmmsResult c2c_get_connected_clients(self, cb = None): # <<<<<<<<<<<<<<
39456 * """
39457 * Get a list of clients connected to the xmms2 server
39458 */
39459
39460static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_167c2c_get_connected_clients(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
39461static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_c2c_get_connected_clients(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_c2c_get_connected_clients *__pyx_optional_args) {
39462 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
39463 xmmsc_result_t *__pyx_v_res;
39464 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
39465 __Pyx_RefNannyDeclarations
39466 PyObject *__pyx_t_1 = NULL((void*)0);
39467 PyObject *__pyx_t_2 = NULL((void*)0);
39468 PyObject *__pyx_t_3 = NULL((void*)0);
39469 int __pyx_lineno = 0;
39470 const char *__pyx_filename = NULL((void*)0);
39471 int __pyx_clineno = 0;
39472 __Pyx_RefNannySetupContext("c2c_get_connected_clients", 0);
39473 if (__pyx_optional_args) {
39474 if (__pyx_optional_args->__pyx_n > 0) {
39475 __pyx_v_cb = __pyx_optional_args->cb;
39476 }
39477 }
39478 /* Check if called by wrapper */
39479 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
39480 /* Check if overridden in Python */
39481 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
39482 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_c2c_get_connected_clients); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1952; __pyx_clineno = __LINE__39482; goto __pyx_L1_error;}
39483 __Pyx_GOTREF(__pyx_t_1);
39484 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_167c2c_get_connected_clients)) {
39485 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
39486 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1952; __pyx_clineno = __LINE__39486; goto __pyx_L1_error;}
39487 __Pyx_GOTREF(__pyx_t_2);
39488 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
39489 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
39490 __Pyx_GIVEREF(__pyx_v_cb);
39491 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1952; __pyx_clineno = __LINE__39491; goto __pyx_L1_error;}
39492 __Pyx_GOTREF(__pyx_t_3);
39493 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
39494 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1952; __pyx_clineno = __LINE__39494; goto __pyx_L1_error;}
39495 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
39496 __pyx_t_3 = 0;
39497 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
39498 goto __pyx_L0;
39499 }
39500 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
39501 }
39502
39503 /* "xmmsapi.pyx":1960
39504 * cdef xmmsc_result_t *res
39505 *
39506 * res = xmmsc_c2c_get_connected_clients (self.conn) # <<<<<<<<<<<<<<
39507 * return self.create_result(cb, res)
39508 *
39509 */
39510 __pyx_v_res = xmmsc_c2c_get_connected_clients(__pyx_v_self->__pyx_base.conn);
39511
39512 /* "xmmsapi.pyx":1961
39513 *
39514 * res = xmmsc_c2c_get_connected_clients (self.conn)
39515 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
39516 *
39517 * cpdef XmmsResult c2c_get_ready_clients(self, cb = None):
39518 */
39519 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
39520 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1961; __pyx_clineno = __LINE__39520; goto __pyx_L1_error;}
39521 __Pyx_GOTREF(__pyx_t_1);
39522 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
39523 __pyx_t_1 = 0;
39524 goto __pyx_L0;
39525
39526 /* "xmmsapi.pyx":1952
39527 * return self.create_result(cb, res)
39528 *
39529 * cpdef XmmsResult c2c_get_connected_clients(self, cb = None): # <<<<<<<<<<<<<<
39530 * """
39531 * Get a list of clients connected to the xmms2 server
39532 */
39533
39534 /* function exit code */
39535 __pyx_L1_error:;
39536 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
39537 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
39538 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
39539 __Pyx_AddTraceback("xmmsapi.XmmsApi.c2c_get_connected_clients", __pyx_clineno, __pyx_lineno, __pyx_filename);
39540 __pyx_r = 0;
39541 __pyx_L0:;
39542 __Pyx_XGIVEREF((PyObject *)__pyx_r);
39543 __Pyx_RefNannyFinishContext();
39544 return __pyx_r;
39545}
39546
39547/* Python wrapper */
39548static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_167c2c_get_connected_clients(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
39549static char __pyx_doc_7xmmsapi_7XmmsApi_166c2c_get_connected_clients[] = "XmmsApi.c2c_get_connected_clients(self, cb=None) -> XmmsResult\n\n\t\tGet a list of clients connected to the xmms2 server\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
39550static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_167c2c_get_connected_clients(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
39551 PyObject *__pyx_v_cb = 0;
39552 int __pyx_lineno = 0;
39553 const char *__pyx_filename = NULL((void*)0);
39554 int __pyx_clineno = 0;
39555 PyObject *__pyx_r = 0;
39556 __Pyx_RefNannyDeclarations
39557 __Pyx_RefNannySetupContext("c2c_get_connected_clients (wrapper)", 0);
39558 {
39559 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
39560 PyObject* values[1] = {0};
39561 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
39562 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
39563 Py_ssize_t kw_args;
39564 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
39565 switch (pos_args) {
39566 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
39567 case 0: break;
39568 default: goto __pyx_L5_argtuple_error;
39569 }
39570 kw_args = PyDict_Size(__pyx_kwds);
39571 switch (pos_args) {
39572 case 0:
39573 if (kw_args > 0) {
39574 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
39575 if (value) { values[0] = value; kw_args--; }
39576 }
39577 }
39578 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
39579 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "c2c_get_connected_clients") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "c2c_get_connected_clients") < 0), 0
)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1952; __pyx_clineno = __LINE__39579; goto __pyx_L3_error;}
39580 }
39581 } else {
39582 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
39583 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
39584 case 0: break;
39585 default: goto __pyx_L5_argtuple_error;
39586 }
39587 }
39588 __pyx_v_cb = values[0];
39589 }
39590 goto __pyx_L4_argument_unpacking_done;
39591 __pyx_L5_argtuple_error:;
39592 __Pyx_RaiseArgtupleInvalid("c2c_get_connected_clients", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1952; __pyx_clineno = __LINE__39592; goto __pyx_L3_error;}
39593 __pyx_L3_error:;
39594 __Pyx_AddTraceback("xmmsapi.XmmsApi.c2c_get_connected_clients", __pyx_clineno, __pyx_lineno, __pyx_filename);
39595 __Pyx_RefNannyFinishContext();
39596 return NULL((void*)0);
39597 __pyx_L4_argument_unpacking_done:;
39598 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_166c2c_get_connected_clients(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
39599
39600 /* function exit code */
39601 __Pyx_RefNannyFinishContext();
39602 return __pyx_r;
39603}
39604
39605static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_166c2c_get_connected_clients(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
39606 PyObject *__pyx_r = NULL((void*)0);
39607 __Pyx_RefNannyDeclarations
39608 PyObject *__pyx_t_1 = NULL((void*)0);
39609 struct __pyx_opt_args_7xmmsapi_7XmmsApi_c2c_get_connected_clients __pyx_t_2;
39610 int __pyx_lineno = 0;
39611 const char *__pyx_filename = NULL((void*)0);
39612 int __pyx_clineno = 0;
39613 __Pyx_RefNannySetupContext("c2c_get_connected_clients", 0);
39614 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
39615 __pyx_t_2.__pyx_n = 1;
39616 __pyx_t_2.cb = __pyx_v_cb;
39617 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->c2c_get_connected_clients(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1952; __pyx_clineno = __LINE__39617; goto __pyx_L1_error;}
39618 __Pyx_GOTREF(__pyx_t_1);
39619 __pyx_r = __pyx_t_1;
39620 __pyx_t_1 = 0;
39621 goto __pyx_L0;
39622
39623 /* function exit code */
39624 __pyx_L1_error:;
39625 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
39626 __Pyx_AddTraceback("xmmsapi.XmmsApi.c2c_get_connected_clients", __pyx_clineno, __pyx_lineno, __pyx_filename);
39627 __pyx_r = NULL((void*)0);
39628 __pyx_L0:;
39629 __Pyx_XGIVEREF(__pyx_r);
39630 __Pyx_RefNannyFinishContext();
39631 return __pyx_r;
39632}
39633
39634/* "xmmsapi.pyx":1963
39635 * return self.create_result(cb, res)
39636 *
39637 * cpdef XmmsResult c2c_get_ready_clients(self, cb = None): # <<<<<<<<<<<<<<
39638 * """
39639 * Get a list of clients connected to the xmms2 server
39640 */
39641
39642static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_169c2c_get_ready_clients(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
39643static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_c2c_get_ready_clients(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_c2c_get_ready_clients *__pyx_optional_args) {
39644 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
39645 xmmsc_result_t *__pyx_v_res;
39646 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
39647 __Pyx_RefNannyDeclarations
39648 PyObject *__pyx_t_1 = NULL((void*)0);
39649 PyObject *__pyx_t_2 = NULL((void*)0);
39650 PyObject *__pyx_t_3 = NULL((void*)0);
39651 int __pyx_lineno = 0;
39652 const char *__pyx_filename = NULL((void*)0);
39653 int __pyx_clineno = 0;
39654 __Pyx_RefNannySetupContext("c2c_get_ready_clients", 0);
39655 if (__pyx_optional_args) {
39656 if (__pyx_optional_args->__pyx_n > 0) {
39657 __pyx_v_cb = __pyx_optional_args->cb;
39658 }
39659 }
39660 /* Check if called by wrapper */
39661 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
39662 /* Check if overridden in Python */
39663 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
39664 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_c2c_get_ready_clients); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1963; __pyx_clineno = __LINE__39664; goto __pyx_L1_error;}
39665 __Pyx_GOTREF(__pyx_t_1);
39666 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_169c2c_get_ready_clients)) {
39667 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
39668 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1963; __pyx_clineno = __LINE__39668; goto __pyx_L1_error;}
39669 __Pyx_GOTREF(__pyx_t_2);
39670 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
39671 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
39672 __Pyx_GIVEREF(__pyx_v_cb);
39673 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1963; __pyx_clineno = __LINE__39673; goto __pyx_L1_error;}
39674 __Pyx_GOTREF(__pyx_t_3);
39675 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
39676 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1963; __pyx_clineno = __LINE__39676; goto __pyx_L1_error;}
39677 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
39678 __pyx_t_3 = 0;
39679 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
39680 goto __pyx_L0;
39681 }
39682 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
39683 }
39684
39685 /* "xmmsapi.pyx":1971
39686 * cdef xmmsc_result_t *res
39687 *
39688 * res = xmmsc_c2c_get_ready_clients (self.conn) # <<<<<<<<<<<<<<
39689 * return self.create_result(cb, res)
39690 *
39691 */
39692 __pyx_v_res = xmmsc_c2c_get_ready_clients(__pyx_v_self->__pyx_base.conn);
39693
39694 /* "xmmsapi.pyx":1972
39695 *
39696 * res = xmmsc_c2c_get_ready_clients (self.conn)
39697 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
39698 *
39699 * cpdef XmmsResult broadcast_c2c_ready(self, cb = None):
39700 */
39701 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
39702 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1972; __pyx_clineno = __LINE__39702; goto __pyx_L1_error;}
39703 __Pyx_GOTREF(__pyx_t_1);
39704 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
39705 __pyx_t_1 = 0;
39706 goto __pyx_L0;
39707
39708 /* "xmmsapi.pyx":1963
39709 * return self.create_result(cb, res)
39710 *
39711 * cpdef XmmsResult c2c_get_ready_clients(self, cb = None): # <<<<<<<<<<<<<<
39712 * """
39713 * Get a list of clients connected to the xmms2 server
39714 */
39715
39716 /* function exit code */
39717 __pyx_L1_error:;
39718 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
39719 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
39720 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
39721 __Pyx_AddTraceback("xmmsapi.XmmsApi.c2c_get_ready_clients", __pyx_clineno, __pyx_lineno, __pyx_filename);
39722 __pyx_r = 0;
39723 __pyx_L0:;
39724 __Pyx_XGIVEREF((PyObject *)__pyx_r);
39725 __Pyx_RefNannyFinishContext();
39726 return __pyx_r;
39727}
39728
39729/* Python wrapper */
39730static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_169c2c_get_ready_clients(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
39731static char __pyx_doc_7xmmsapi_7XmmsApi_168c2c_get_ready_clients[] = "XmmsApi.c2c_get_ready_clients(self, cb=None) -> XmmsResult\n\n\t\tGet a list of clients connected to the xmms2 server\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
39732static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_169c2c_get_ready_clients(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
39733 PyObject *__pyx_v_cb = 0;
39734 int __pyx_lineno = 0;
39735 const char *__pyx_filename = NULL((void*)0);
39736 int __pyx_clineno = 0;
39737 PyObject *__pyx_r = 0;
39738 __Pyx_RefNannyDeclarations
39739 __Pyx_RefNannySetupContext("c2c_get_ready_clients (wrapper)", 0);
39740 {
39741 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
39742 PyObject* values[1] = {0};
39743 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
39744 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
39745 Py_ssize_t kw_args;
39746 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
39747 switch (pos_args) {
39748 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
39749 case 0: break;
39750 default: goto __pyx_L5_argtuple_error;
39751 }
39752 kw_args = PyDict_Size(__pyx_kwds);
39753 switch (pos_args) {
39754 case 0:
39755 if (kw_args > 0) {
39756 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
39757 if (value) { values[0] = value; kw_args--; }
39758 }
39759 }
39760 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
39761 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "c2c_get_ready_clients") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "c2c_get_ready_clients") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1963; __pyx_clineno = __LINE__39761; goto __pyx_L3_error;}
39762 }
39763 } else {
39764 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
39765 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
39766 case 0: break;
39767 default: goto __pyx_L5_argtuple_error;
39768 }
39769 }
39770 __pyx_v_cb = values[0];
39771 }
39772 goto __pyx_L4_argument_unpacking_done;
39773 __pyx_L5_argtuple_error:;
39774 __Pyx_RaiseArgtupleInvalid("c2c_get_ready_clients", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1963; __pyx_clineno = __LINE__39774; goto __pyx_L3_error;}
39775 __pyx_L3_error:;
39776 __Pyx_AddTraceback("xmmsapi.XmmsApi.c2c_get_ready_clients", __pyx_clineno, __pyx_lineno, __pyx_filename);
39777 __Pyx_RefNannyFinishContext();
39778 return NULL((void*)0);
39779 __pyx_L4_argument_unpacking_done:;
39780 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_168c2c_get_ready_clients(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
39781
39782 /* function exit code */
39783 __Pyx_RefNannyFinishContext();
39784 return __pyx_r;
39785}
39786
39787static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_168c2c_get_ready_clients(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
39788 PyObject *__pyx_r = NULL((void*)0);
39789 __Pyx_RefNannyDeclarations
39790 PyObject *__pyx_t_1 = NULL((void*)0);
39791 struct __pyx_opt_args_7xmmsapi_7XmmsApi_c2c_get_ready_clients __pyx_t_2;
39792 int __pyx_lineno = 0;
39793 const char *__pyx_filename = NULL((void*)0);
39794 int __pyx_clineno = 0;
39795 __Pyx_RefNannySetupContext("c2c_get_ready_clients", 0);
39796 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
39797 __pyx_t_2.__pyx_n = 1;
39798 __pyx_t_2.cb = __pyx_v_cb;
39799 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->c2c_get_ready_clients(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1963; __pyx_clineno = __LINE__39799; goto __pyx_L1_error;}
39800 __Pyx_GOTREF(__pyx_t_1);
39801 __pyx_r = __pyx_t_1;
39802 __pyx_t_1 = 0;
39803 goto __pyx_L0;
39804
39805 /* function exit code */
39806 __pyx_L1_error:;
39807 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
39808 __Pyx_AddTraceback("xmmsapi.XmmsApi.c2c_get_ready_clients", __pyx_clineno, __pyx_lineno, __pyx_filename);
39809 __pyx_r = NULL((void*)0);
39810 __pyx_L0:;
39811 __Pyx_XGIVEREF(__pyx_r);
39812 __Pyx_RefNannyFinishContext();
39813 return __pyx_r;
39814}
39815
39816/* "xmmsapi.pyx":1974
39817 * return self.create_result(cb, res)
39818 *
39819 * cpdef XmmsResult broadcast_c2c_ready(self, cb = None): # <<<<<<<<<<<<<<
39820 * """
39821 * Broadcast reveiced whenever a client's service api is ready
39822 */
39823
39824static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_171broadcast_c2c_ready(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
39825static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_broadcast_c2c_ready(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_c2c_ready *__pyx_optional_args) {
39826 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
39827 xmmsc_result_t *__pyx_v_res;
39828 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
39829 __Pyx_RefNannyDeclarations
39830 PyObject *__pyx_t_1 = NULL((void*)0);
39831 PyObject *__pyx_t_2 = NULL((void*)0);
39832 PyObject *__pyx_t_3 = NULL((void*)0);
39833 int __pyx_lineno = 0;
39834 const char *__pyx_filename = NULL((void*)0);
39835 int __pyx_clineno = 0;
39836 __Pyx_RefNannySetupContext("broadcast_c2c_ready", 0);
39837 if (__pyx_optional_args) {
39838 if (__pyx_optional_args->__pyx_n > 0) {
39839 __pyx_v_cb = __pyx_optional_args->cb;
39840 }
39841 }
39842 /* Check if called by wrapper */
39843 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
39844 /* Check if overridden in Python */
39845 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
39846 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_broadcast_c2c_ready); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1974; __pyx_clineno = __LINE__39846; goto __pyx_L1_error;}
39847 __Pyx_GOTREF(__pyx_t_1);
39848 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_171broadcast_c2c_ready)) {
39849 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
39850 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1974; __pyx_clineno = __LINE__39850; goto __pyx_L1_error;}
39851 __Pyx_GOTREF(__pyx_t_2);
39852 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
39853 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
39854 __Pyx_GIVEREF(__pyx_v_cb);
39855 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1974; __pyx_clineno = __LINE__39855; goto __pyx_L1_error;}
39856 __Pyx_GOTREF(__pyx_t_3);
39857 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
39858 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1974; __pyx_clineno = __LINE__39858; goto __pyx_L1_error;}
39859 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
39860 __pyx_t_3 = 0;
39861 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
39862 goto __pyx_L0;
39863 }
39864 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
39865 }
39866
39867 /* "xmmsapi.pyx":1982
39868 * cdef xmmsc_result_t *res
39869 *
39870 * res = xmmsc_broadcast_c2c_ready(self.conn) # <<<<<<<<<<<<<<
39871 * return self.create_result(cb, res)
39872 *
39873 */
39874 __pyx_v_res = xmmsc_broadcast_c2c_ready(__pyx_v_self->__pyx_base.conn);
39875
39876 /* "xmmsapi.pyx":1983
39877 *
39878 * res = xmmsc_broadcast_c2c_ready(self.conn)
39879 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
39880 *
39881 *
39882 */
39883 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
39884 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1983; __pyx_clineno = __LINE__39884; goto __pyx_L1_error;}
39885 __Pyx_GOTREF(__pyx_t_1);
39886 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
39887 __pyx_t_1 = 0;
39888 goto __pyx_L0;
39889
39890 /* "xmmsapi.pyx":1974
39891 * return self.create_result(cb, res)
39892 *
39893 * cpdef XmmsResult broadcast_c2c_ready(self, cb = None): # <<<<<<<<<<<<<<
39894 * """
39895 * Broadcast reveiced whenever a client's service api is ready
39896 */
39897
39898 /* function exit code */
39899 __pyx_L1_error:;
39900 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
39901 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
39902 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
39903 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_c2c_ready", __pyx_clineno, __pyx_lineno, __pyx_filename);
39904 __pyx_r = 0;
39905 __pyx_L0:;
39906 __Pyx_XGIVEREF((PyObject *)__pyx_r);
39907 __Pyx_RefNannyFinishContext();
39908 return __pyx_r;
39909}
39910
39911/* Python wrapper */
39912static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_171broadcast_c2c_ready(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
39913static char __pyx_doc_7xmmsapi_7XmmsApi_170broadcast_c2c_ready[] = "XmmsApi.broadcast_c2c_ready(self, cb=None) -> XmmsResult\n\n\t\tBroadcast reveiced whenever a client's service api is ready\n\t\t@rtype: L{XmmsResult}\n\t\t@return: the result of the operation.\n\t\t";
39914static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_171broadcast_c2c_ready(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
39915 PyObject *__pyx_v_cb = 0;
39916 int __pyx_lineno = 0;
39917 const char *__pyx_filename = NULL((void*)0);
39918 int __pyx_clineno = 0;
39919 PyObject *__pyx_r = 0;
39920 __Pyx_RefNannyDeclarations
39921 __Pyx_RefNannySetupContext("broadcast_c2c_ready (wrapper)", 0);
39922 {
39923 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
39924 PyObject* values[1] = {0};
39925 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
39926 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
39927 Py_ssize_t kw_args;
39928 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
39929 switch (pos_args) {
39930 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
39931 case 0: break;
39932 default: goto __pyx_L5_argtuple_error;
39933 }
39934 kw_args = PyDict_Size(__pyx_kwds);
39935 switch (pos_args) {
39936 case 0:
39937 if (kw_args > 0) {
39938 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
39939 if (value) { values[0] = value; kw_args--; }
39940 }
39941 }
39942 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
39943 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "broadcast_c2c_ready") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "broadcast_c2c_ready") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1974; __pyx_clineno = __LINE__39943; goto __pyx_L3_error;}
39944 }
39945 } else {
39946 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
39947 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
39948 case 0: break;
39949 default: goto __pyx_L5_argtuple_error;
39950 }
39951 }
39952 __pyx_v_cb = values[0];
39953 }
39954 goto __pyx_L4_argument_unpacking_done;
39955 __pyx_L5_argtuple_error:;
39956 __Pyx_RaiseArgtupleInvalid("broadcast_c2c_ready", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1974; __pyx_clineno = __LINE__39956; goto __pyx_L3_error;}
39957 __pyx_L3_error:;
39958 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_c2c_ready", __pyx_clineno, __pyx_lineno, __pyx_filename);
39959 __Pyx_RefNannyFinishContext();
39960 return NULL((void*)0);
39961 __pyx_L4_argument_unpacking_done:;
39962 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_170broadcast_c2c_ready(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
39963
39964 /* function exit code */
39965 __Pyx_RefNannyFinishContext();
39966 return __pyx_r;
39967}
39968
39969static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_170broadcast_c2c_ready(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
39970 PyObject *__pyx_r = NULL((void*)0);
39971 __Pyx_RefNannyDeclarations
39972 PyObject *__pyx_t_1 = NULL((void*)0);
39973 struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_c2c_ready __pyx_t_2;
39974 int __pyx_lineno = 0;
39975 const char *__pyx_filename = NULL((void*)0);
39976 int __pyx_clineno = 0;
39977 __Pyx_RefNannySetupContext("broadcast_c2c_ready", 0);
39978 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
39979 __pyx_t_2.__pyx_n = 1;
39980 __pyx_t_2.cb = __pyx_v_cb;
39981 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->broadcast_c2c_ready(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1974; __pyx_clineno = __LINE__39981; goto __pyx_L1_error;}
39982 __Pyx_GOTREF(__pyx_t_1);
39983 __pyx_r = __pyx_t_1;
39984 __pyx_t_1 = 0;
39985 goto __pyx_L0;
39986
39987 /* function exit code */
39988 __pyx_L1_error:;
39989 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
39990 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_c2c_ready", __pyx_clineno, __pyx_lineno, __pyx_filename);
39991 __pyx_r = NULL((void*)0);
39992 __pyx_L0:;
39993 __Pyx_XGIVEREF(__pyx_r);
39994 __Pyx_RefNannyFinishContext();
39995 return __pyx_r;
39996}
39997
39998/* "xmmsapi.pyx":1986
39999 *
40000 *
40001 * cpdef XmmsResult broadcast_c2c_client_connected(self, cb = None): # <<<<<<<<<<<<<<
40002 * """
40003 * Broadcast received whenever a new client connects to the server
40004 */
40005
40006static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_173broadcast_c2c_client_connected(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
40007static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_broadcast_c2c_client_connected(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_c2c_client_connected *__pyx_optional_args) {
40008 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
40009 xmmsc_result_t *__pyx_v_res;
40010 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
40011 __Pyx_RefNannyDeclarations
40012 PyObject *__pyx_t_1 = NULL((void*)0);
40013 PyObject *__pyx_t_2 = NULL((void*)0);
40014 PyObject *__pyx_t_3 = NULL((void*)0);
40015 int __pyx_lineno = 0;
40016 const char *__pyx_filename = NULL((void*)0);
40017 int __pyx_clineno = 0;
40018 __Pyx_RefNannySetupContext("broadcast_c2c_client_connected", 0);
40019 if (__pyx_optional_args) {
40020 if (__pyx_optional_args->__pyx_n > 0) {
40021 __pyx_v_cb = __pyx_optional_args->cb;
40022 }
40023 }
40024 /* Check if called by wrapper */
40025 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
40026 /* Check if overridden in Python */
40027 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
40028 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_broadcast_c2c_client_connected); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1986; __pyx_clineno = __LINE__40028; goto __pyx_L1_error;}
40029 __Pyx_GOTREF(__pyx_t_1);
40030 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_173broadcast_c2c_client_connected)) {
40031 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
40032 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1986; __pyx_clineno = __LINE__40032; goto __pyx_L1_error;}
40033 __Pyx_GOTREF(__pyx_t_2);
40034 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
40035 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
40036 __Pyx_GIVEREF(__pyx_v_cb);
40037 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1986; __pyx_clineno = __LINE__40037; goto __pyx_L1_error;}
40038 __Pyx_GOTREF(__pyx_t_3);
40039 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
40040 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1986; __pyx_clineno = __LINE__40040; goto __pyx_L1_error;}
40041 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
40042 __pyx_t_3 = 0;
40043 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
40044 goto __pyx_L0;
40045 }
40046 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
40047 }
40048
40049 /* "xmmsapi.pyx":1994
40050 * cdef xmmsc_result_t *res
40051 *
40052 * res = xmmsc_broadcast_c2c_client_connected(self.conn) # <<<<<<<<<<<<<<
40053 * return self.create_result(cb, res)
40054 *
40055 */
40056 __pyx_v_res = xmmsc_broadcast_c2c_client_connected(__pyx_v_self->__pyx_base.conn);
40057
40058 /* "xmmsapi.pyx":1995
40059 *
40060 * res = xmmsc_broadcast_c2c_client_connected(self.conn)
40061 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
40062 *
40063 * cpdef XmmsResult broadcast_c2c_client_disconnected(self, cb = None):
40064 */
40065 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
40066 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1995; __pyx_clineno = __LINE__40066; goto __pyx_L1_error;}
40067 __Pyx_GOTREF(__pyx_t_1);
40068 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
40069 __pyx_t_1 = 0;
40070 goto __pyx_L0;
40071
40072 /* "xmmsapi.pyx":1986
40073 *
40074 *
40075 * cpdef XmmsResult broadcast_c2c_client_connected(self, cb = None): # <<<<<<<<<<<<<<
40076 * """
40077 * Broadcast received whenever a new client connects to the server
40078 */
40079
40080 /* function exit code */
40081 __pyx_L1_error:;
40082 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
40083 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
40084 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
40085 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_c2c_client_connected", __pyx_clineno, __pyx_lineno, __pyx_filename);
40086 __pyx_r = 0;
40087 __pyx_L0:;
40088 __Pyx_XGIVEREF((PyObject *)__pyx_r);
40089 __Pyx_RefNannyFinishContext();
40090 return __pyx_r;
40091}
40092
40093/* Python wrapper */
40094static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_173broadcast_c2c_client_connected(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
40095static char __pyx_doc_7xmmsapi_7XmmsApi_172broadcast_c2c_client_connected[] = "XmmsApi.broadcast_c2c_client_connected(self, cb=None) -> XmmsResult\n\n\t\tBroadcast received whenever a new client connects to the server\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
40096static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_173broadcast_c2c_client_connected(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
40097 PyObject *__pyx_v_cb = 0;
40098 int __pyx_lineno = 0;
40099 const char *__pyx_filename = NULL((void*)0);
40100 int __pyx_clineno = 0;
40101 PyObject *__pyx_r = 0;
40102 __Pyx_RefNannyDeclarations
40103 __Pyx_RefNannySetupContext("broadcast_c2c_client_connected (wrapper)", 0);
40104 {
40105 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
40106 PyObject* values[1] = {0};
40107 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
40108 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
40109 Py_ssize_t kw_args;
40110 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
40111 switch (pos_args) {
40112 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
40113 case 0: break;
40114 default: goto __pyx_L5_argtuple_error;
40115 }
40116 kw_args = PyDict_Size(__pyx_kwds);
40117 switch (pos_args) {
40118 case 0:
40119 if (kw_args > 0) {
40120 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
40121 if (value) { values[0] = value; kw_args--; }
40122 }
40123 }
40124 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
40125 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "broadcast_c2c_client_connected") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "broadcast_c2c_client_connected") <
0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1986; __pyx_clineno = __LINE__40125; goto __pyx_L3_error;}
40126 }
40127 } else {
40128 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
40129 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
40130 case 0: break;
40131 default: goto __pyx_L5_argtuple_error;
40132 }
40133 }
40134 __pyx_v_cb = values[0];
40135 }
40136 goto __pyx_L4_argument_unpacking_done;
40137 __pyx_L5_argtuple_error:;
40138 __Pyx_RaiseArgtupleInvalid("broadcast_c2c_client_connected", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1986; __pyx_clineno = __LINE__40138; goto __pyx_L3_error;}
40139 __pyx_L3_error:;
40140 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_c2c_client_connected", __pyx_clineno, __pyx_lineno, __pyx_filename);
40141 __Pyx_RefNannyFinishContext();
40142 return NULL((void*)0);
40143 __pyx_L4_argument_unpacking_done:;
40144 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_172broadcast_c2c_client_connected(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
40145
40146 /* function exit code */
40147 __Pyx_RefNannyFinishContext();
40148 return __pyx_r;
40149}
40150
40151static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_172broadcast_c2c_client_connected(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
40152 PyObject *__pyx_r = NULL((void*)0);
40153 __Pyx_RefNannyDeclarations
40154 PyObject *__pyx_t_1 = NULL((void*)0);
40155 struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_c2c_client_connected __pyx_t_2;
40156 int __pyx_lineno = 0;
40157 const char *__pyx_filename = NULL((void*)0);
40158 int __pyx_clineno = 0;
40159 __Pyx_RefNannySetupContext("broadcast_c2c_client_connected", 0);
40160 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
40161 __pyx_t_2.__pyx_n = 1;
40162 __pyx_t_2.cb = __pyx_v_cb;
40163 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->broadcast_c2c_client_connected(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1986; __pyx_clineno = __LINE__40163; goto __pyx_L1_error;}
40164 __Pyx_GOTREF(__pyx_t_1);
40165 __pyx_r = __pyx_t_1;
40166 __pyx_t_1 = 0;
40167 goto __pyx_L0;
40168
40169 /* function exit code */
40170 __pyx_L1_error:;
40171 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
40172 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_c2c_client_connected", __pyx_clineno, __pyx_lineno, __pyx_filename);
40173 __pyx_r = NULL((void*)0);
40174 __pyx_L0:;
40175 __Pyx_XGIVEREF(__pyx_r);
40176 __Pyx_RefNannyFinishContext();
40177 return __pyx_r;
40178}
40179
40180/* "xmmsapi.pyx":1997
40181 * return self.create_result(cb, res)
40182 *
40183 * cpdef XmmsResult broadcast_c2c_client_disconnected(self, cb = None): # <<<<<<<<<<<<<<
40184 * """
40185 * Broadcast received whenever a client disconnects from the server
40186 */
40187
40188static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_175broadcast_c2c_client_disconnected(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
40189static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_broadcast_c2c_client_disconnected(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_c2c_client_disconnected *__pyx_optional_args) {
40190 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
40191 xmmsc_result_t *__pyx_v_res;
40192 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
40193 __Pyx_RefNannyDeclarations
40194 PyObject *__pyx_t_1 = NULL((void*)0);
40195 PyObject *__pyx_t_2 = NULL((void*)0);
40196 PyObject *__pyx_t_3 = NULL((void*)0);
40197 int __pyx_lineno = 0;
40198 const char *__pyx_filename = NULL((void*)0);
40199 int __pyx_clineno = 0;
40200 __Pyx_RefNannySetupContext("broadcast_c2c_client_disconnected", 0);
40201 if (__pyx_optional_args) {
40202 if (__pyx_optional_args->__pyx_n > 0) {
40203 __pyx_v_cb = __pyx_optional_args->cb;
40204 }
40205 }
40206 /* Check if called by wrapper */
40207 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
40208 /* Check if overridden in Python */
40209 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
40210 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_broadcast_c2c_client_disconnecte); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1997; __pyx_clineno = __LINE__40210; goto __pyx_L1_error;}
40211 __Pyx_GOTREF(__pyx_t_1);
40212 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_175broadcast_c2c_client_disconnected)) {
40213 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
40214 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1997; __pyx_clineno = __LINE__40214; goto __pyx_L1_error;}
40215 __Pyx_GOTREF(__pyx_t_2);
40216 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
40217 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
40218 __Pyx_GIVEREF(__pyx_v_cb);
40219 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1997; __pyx_clineno = __LINE__40219; goto __pyx_L1_error;}
40220 __Pyx_GOTREF(__pyx_t_3);
40221 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
40222 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1997; __pyx_clineno = __LINE__40222; goto __pyx_L1_error;}
40223 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
40224 __pyx_t_3 = 0;
40225 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
40226 goto __pyx_L0;
40227 }
40228 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
40229 }
40230
40231 /* "xmmsapi.pyx":2005
40232 * cdef xmmsc_result_t *res
40233 *
40234 * res = xmmsc_broadcast_c2c_client_disconnected(self.conn) # <<<<<<<<<<<<<<
40235 * return self.create_result(cb, res)
40236 *
40237 */
40238 __pyx_v_res = xmmsc_broadcast_c2c_client_disconnected(__pyx_v_self->__pyx_base.conn);
40239
40240 /* "xmmsapi.pyx":2006
40241 *
40242 * res = xmmsc_broadcast_c2c_client_disconnected(self.conn)
40243 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
40244 *
40245 * cpdef bint sc_init(self):
40246 */
40247 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
40248 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2006; __pyx_clineno = __LINE__40248; goto __pyx_L1_error;}
40249 __Pyx_GOTREF(__pyx_t_1);
40250 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
40251 __pyx_t_1 = 0;
40252 goto __pyx_L0;
40253
40254 /* "xmmsapi.pyx":1997
40255 * return self.create_result(cb, res)
40256 *
40257 * cpdef XmmsResult broadcast_c2c_client_disconnected(self, cb = None): # <<<<<<<<<<<<<<
40258 * """
40259 * Broadcast received whenever a client disconnects from the server
40260 */
40261
40262 /* function exit code */
40263 __pyx_L1_error:;
40264 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
40265 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
40266 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
40267 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_c2c_client_disconnected", __pyx_clineno, __pyx_lineno, __pyx_filename);
40268 __pyx_r = 0;
40269 __pyx_L0:;
40270 __Pyx_XGIVEREF((PyObject *)__pyx_r);
40271 __Pyx_RefNannyFinishContext();
40272 return __pyx_r;
40273}
40274
40275/* Python wrapper */
40276static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_175broadcast_c2c_client_disconnected(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
40277static char __pyx_doc_7xmmsapi_7XmmsApi_174broadcast_c2c_client_disconnected[] = "XmmsApi.broadcast_c2c_client_disconnected(self, cb=None) -> XmmsResult\n\n\t\tBroadcast received whenever a client disconnects from the server\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
40278static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_175broadcast_c2c_client_disconnected(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
40279 PyObject *__pyx_v_cb = 0;
40280 int __pyx_lineno = 0;
40281 const char *__pyx_filename = NULL((void*)0);
40282 int __pyx_clineno = 0;
40283 PyObject *__pyx_r = 0;
40284 __Pyx_RefNannyDeclarations
40285 __Pyx_RefNannySetupContext("broadcast_c2c_client_disconnected (wrapper)", 0);
40286 {
40287 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
40288 PyObject* values[1] = {0};
40289 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
40290 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
40291 Py_ssize_t kw_args;
40292 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
40293 switch (pos_args) {
40294 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
40295 case 0: break;
40296 default: goto __pyx_L5_argtuple_error;
40297 }
40298 kw_args = PyDict_Size(__pyx_kwds);
40299 switch (pos_args) {
40300 case 0:
40301 if (kw_args > 0) {
40302 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
40303 if (value) { values[0] = value; kw_args--; }
40304 }
40305 }
40306 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
40307 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "broadcast_c2c_client_disconnected") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "broadcast_c2c_client_disconnected") <
0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1997; __pyx_clineno = __LINE__40307; goto __pyx_L3_error;}
40308 }
40309 } else {
40310 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
40311 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
40312 case 0: break;
40313 default: goto __pyx_L5_argtuple_error;
40314 }
40315 }
40316 __pyx_v_cb = values[0];
40317 }
40318 goto __pyx_L4_argument_unpacking_done;
40319 __pyx_L5_argtuple_error:;
40320 __Pyx_RaiseArgtupleInvalid("broadcast_c2c_client_disconnected", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1997; __pyx_clineno = __LINE__40320; goto __pyx_L3_error;}
40321 __pyx_L3_error:;
40322 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_c2c_client_disconnected", __pyx_clineno, __pyx_lineno, __pyx_filename);
40323 __Pyx_RefNannyFinishContext();
40324 return NULL((void*)0);
40325 __pyx_L4_argument_unpacking_done:;
40326 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_174broadcast_c2c_client_disconnected(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
40327
40328 /* function exit code */
40329 __Pyx_RefNannyFinishContext();
40330 return __pyx_r;
40331}
40332
40333static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_174broadcast_c2c_client_disconnected(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
40334 PyObject *__pyx_r = NULL((void*)0);
40335 __Pyx_RefNannyDeclarations
40336 PyObject *__pyx_t_1 = NULL((void*)0);
40337 struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_c2c_client_disconnected __pyx_t_2;
40338 int __pyx_lineno = 0;
40339 const char *__pyx_filename = NULL((void*)0);
40340 int __pyx_clineno = 0;
40341 __Pyx_RefNannySetupContext("broadcast_c2c_client_disconnected", 0);
40342 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
40343 __pyx_t_2.__pyx_n = 1;
40344 __pyx_t_2.cb = __pyx_v_cb;
40345 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->broadcast_c2c_client_disconnected(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1997; __pyx_clineno = __LINE__40345; goto __pyx_L1_error;}
40346 __Pyx_GOTREF(__pyx_t_1);
40347 __pyx_r = __pyx_t_1;
40348 __pyx_t_1 = 0;
40349 goto __pyx_L0;
40350
40351 /* function exit code */
40352 __pyx_L1_error:;
40353 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
40354 __Pyx_AddTraceback("xmmsapi.XmmsApi.broadcast_c2c_client_disconnected", __pyx_clineno, __pyx_lineno, __pyx_filename);
40355 __pyx_r = NULL((void*)0);
40356 __pyx_L0:;
40357 __Pyx_XGIVEREF(__pyx_r);
40358 __Pyx_RefNannyFinishContext();
40359 return __pyx_r;
40360}
40361
40362/* "xmmsapi.pyx":2008
40363 * return self.create_result(cb, res)
40364 *
40365 * cpdef bint sc_init(self): # <<<<<<<<<<<<<<
40366 * """
40367 * Initialize client-to-client features.
40368 */
40369
40370static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_177sc_init(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
40371static int __pyx_f_7xmmsapi_7XmmsApi_sc_init(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch) {
40372 int __pyx_r;
40373 __Pyx_RefNannyDeclarations
40374 PyObject *__pyx_t_1 = NULL((void*)0);
40375 PyObject *__pyx_t_2 = NULL((void*)0);
40376 int __pyx_t_3;
40377 int __pyx_lineno = 0;
40378 const char *__pyx_filename = NULL((void*)0);
40379 int __pyx_clineno = 0;
40380 __Pyx_RefNannySetupContext("sc_init", 0);
40381 /* Check if called by wrapper */
40382 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
40383 /* Check if overridden in Python */
40384 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
40385 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_sc_init); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2008; __pyx_clineno = __LINE__40385; goto __pyx_L1_error;}
40386 __Pyx_GOTREF(__pyx_t_1);
40387 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_177sc_init)) {
40388 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2008; __pyx_clineno = __LINE__40388; goto __pyx_L1_error;}
40389 __Pyx_GOTREF(__pyx_t_2);
40390 __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_t_3 == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2008; __pyx_clineno = __LINE__40390; goto __pyx_L1_error;}
40391 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
40392 __pyx_r = __pyx_t_3;
40393 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
40394 goto __pyx_L0;
40395 }
40396 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
40397 }
40398
40399 /* "xmmsapi.pyx":2015
40400 * @return: whether client-to-client is initialized.
40401 * """
40402 * return xmmsc_sc_init(self.conn) != NULL # <<<<<<<<<<<<<<
40403 *
40404 * cpdef bint sc_broadcast_emit(self, broadcast, value = None):
40405 */
40406 __pyx_r = (xmmsc_sc_init(__pyx_v_self->__pyx_base.conn) != NULL((void*)0));
40407 goto __pyx_L0;
40408
40409 /* "xmmsapi.pyx":2008
40410 * return self.create_result(cb, res)
40411 *
40412 * cpdef bint sc_init(self): # <<<<<<<<<<<<<<
40413 * """
40414 * Initialize client-to-client features.
40415 */
40416
40417 /* function exit code */
40418 __pyx_L1_error:;
40419 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
40420 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
40421 __Pyx_WriteUnraisable("xmmsapi.XmmsApi.sc_init", __pyx_clineno, __pyx_lineno, __pyx_filename, 0);
40422 __pyx_r = 0;
40423 __pyx_L0:;
40424 __Pyx_RefNannyFinishContext();
40425 return __pyx_r;
40426}
40427
40428/* Python wrapper */
40429static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_177sc_init(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
40430static char __pyx_doc_7xmmsapi_7XmmsApi_176sc_init[] = "XmmsApi.sc_init(self) -> bool\n\n\t\tInitialize client-to-client features.\n\t\tClient-to-client features won't work with the synchronous client wrapper\n\t\t@rtype: L{bool}\n\t\t@return: whether client-to-client is initialized.\n\t\t";
40431static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_177sc_init(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
40432 PyObject *__pyx_r = 0;
40433 __Pyx_RefNannyDeclarations
40434 __Pyx_RefNannySetupContext("sc_init (wrapper)", 0);
40435 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_176sc_init(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self));
40436
40437 /* function exit code */
40438 __Pyx_RefNannyFinishContext();
40439 return __pyx_r;
40440}
40441
40442static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_176sc_init(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self) {
40443 PyObject *__pyx_r = NULL((void*)0);
40444 __Pyx_RefNannyDeclarations
40445 PyObject *__pyx_t_1 = NULL((void*)0);
40446 int __pyx_lineno = 0;
40447 const char *__pyx_filename = NULL((void*)0);
40448 int __pyx_clineno = 0;
40449 __Pyx_RefNannySetupContext("sc_init", 0);
40450 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
40451 __pyx_t_1 = __Pyx_PyBool_FromLong(((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->sc_init(__pyx_v_self, 1))((((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->
__pyx_base.__pyx_vtab)->sc_init(__pyx_v_self, 1)) ? (( ((PyObject
*)(((PyObject *) &_Py_TrueStruct)))->ob_refcnt++), ((PyObject
*) &_Py_TrueStruct)) : (( ((PyObject*)(((PyObject *) &
_Py_ZeroStruct)))->ob_refcnt++), ((PyObject *) &_Py_ZeroStruct
)))
; if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2008; __pyx_clineno = __LINE__40451; goto __pyx_L1_error;}
40452 __Pyx_GOTREF(__pyx_t_1);
40453 __pyx_r = __pyx_t_1;
40454 __pyx_t_1 = 0;
40455 goto __pyx_L0;
40456
40457 /* function exit code */
40458 __pyx_L1_error:;
40459 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
40460 __Pyx_AddTraceback("xmmsapi.XmmsApi.sc_init", __pyx_clineno, __pyx_lineno, __pyx_filename);
40461 __pyx_r = NULL((void*)0);
40462 __pyx_L0:;
40463 __Pyx_XGIVEREF(__pyx_r);
40464 __Pyx_RefNannyFinishContext();
40465 return __pyx_r;
40466}
40467
40468/* "xmmsapi.pyx":2017
40469 * return xmmsc_sc_init(self.conn) != NULL
40470 *
40471 * cpdef bint sc_broadcast_emit(self, broadcast, value = None): # <<<<<<<<<<<<<<
40472 * """
40473 * Emit a broadcast message to subscribed clients
40474 */
40475
40476static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_179sc_broadcast_emit(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
40477static int __pyx_f_7xmmsapi_7XmmsApi_sc_broadcast_emit(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_broadcast, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_broadcast_emit *__pyx_optional_args) {
40478 PyObject *__pyx_v_value = ((PyObject *)Py_None(&_Py_NoneStruct));
40479 xmmsv_t *__pyx_v_val;
40480 xmmsv_t *__pyx_v_bc_path;
40481 int __pyx_v_ret;
40482 int __pyx_r;
40483 __Pyx_RefNannyDeclarations
40484 PyObject *__pyx_t_1 = NULL((void*)0);
40485 PyObject *__pyx_t_2 = NULL((void*)0);
40486 PyObject *__pyx_t_3 = NULL((void*)0);
40487 int __pyx_t_4;
40488 xmmsv_t *__pyx_t_5;
40489 int __pyx_lineno = 0;
40490 const char *__pyx_filename = NULL((void*)0);
40491 int __pyx_clineno = 0;
40492 __Pyx_RefNannySetupContext("sc_broadcast_emit", 0);
40493 if (__pyx_optional_args) {
40494 if (__pyx_optional_args->__pyx_n > 0) {
40495 __pyx_v_value = __pyx_optional_args->value;
40496 }
40497 }
40498 /* Check if called by wrapper */
40499 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
40500 /* Check if overridden in Python */
40501 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
40502 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_sc_broadcast_emit); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2017; __pyx_clineno = __LINE__40502; goto __pyx_L1_error;}
40503 __Pyx_GOTREF(__pyx_t_1);
40504 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_179sc_broadcast_emit)) {
40505 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2017; __pyx_clineno = __LINE__40505; goto __pyx_L1_error;}
40506 __Pyx_GOTREF(__pyx_t_2);
40507 __Pyx_INCREF(__pyx_v_broadcast)( ((PyObject*)(__pyx_v_broadcast))->ob_refcnt++);
40508 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_broadcast)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_broadcast
)
;
40509 __Pyx_GIVEREF(__pyx_v_broadcast);
40510 __Pyx_INCREF(__pyx_v_value)( ((PyObject*)(__pyx_v_value))->ob_refcnt++);
40511 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_value)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_value
)
;
40512 __Pyx_GIVEREF(__pyx_v_value);
40513 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2017; __pyx_clineno = __LINE__40513; goto __pyx_L1_error;}
40514 __Pyx_GOTREF(__pyx_t_3);
40515 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
40516 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_t_4 == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2017; __pyx_clineno = __LINE__40516; goto __pyx_L1_error;}
40517 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
40518 __pyx_r = __pyx_t_4;
40519 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
40520 goto __pyx_L0;
40521 }
40522 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
40523 }
40524
40525 /* "xmmsapi.pyx":2027
40526 * cdef bint ret
40527 *
40528 * bc_path = create_native_value(broadcast) # <<<<<<<<<<<<<<
40529 * val = create_native_value(value)
40530 * ret = xmmsc_sc_broadcast_emit(self.conn, bc_path, val)
40531 */
40532 __pyx_t_5 = __pyx_f_9xmmsvalue_create_native_value(__pyx_v_broadcast); if (unlikely(__pyx_t_5 == NULL)__builtin_expect(!!(__pyx_t_5 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2027; __pyx_clineno = __LINE__40532; goto __pyx_L1_error;}
40533 __pyx_v_bc_path = __pyx_t_5;
40534
40535 /* "xmmsapi.pyx":2028
40536 *
40537 * bc_path = create_native_value(broadcast)
40538 * val = create_native_value(value) # <<<<<<<<<<<<<<
40539 * ret = xmmsc_sc_broadcast_emit(self.conn, bc_path, val)
40540 * xmmsv_unref(bc_path)
40541 */
40542 __pyx_t_5 = __pyx_f_9xmmsvalue_create_native_value(__pyx_v_value); if (unlikely(__pyx_t_5 == NULL)__builtin_expect(!!(__pyx_t_5 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2028; __pyx_clineno = __LINE__40542; goto __pyx_L1_error;}
40543 __pyx_v_val = __pyx_t_5;
40544
40545 /* "xmmsapi.pyx":2029
40546 * bc_path = create_native_value(broadcast)
40547 * val = create_native_value(value)
40548 * ret = xmmsc_sc_broadcast_emit(self.conn, bc_path, val) # <<<<<<<<<<<<<<
40549 * xmmsv_unref(bc_path)
40550 * xmmsv_unref(val)
40551 */
40552 __pyx_v_ret = xmmsc_sc_broadcast_emit(__pyx_v_self->__pyx_base.conn, __pyx_v_bc_path, __pyx_v_val);
40553
40554 /* "xmmsapi.pyx":2030
40555 * val = create_native_value(value)
40556 * ret = xmmsc_sc_broadcast_emit(self.conn, bc_path, val)
40557 * xmmsv_unref(bc_path) # <<<<<<<<<<<<<<
40558 * xmmsv_unref(val)
40559 * return ret
40560 */
40561 xmmsv_unref(__pyx_v_bc_path);
40562
40563 /* "xmmsapi.pyx":2031
40564 * ret = xmmsc_sc_broadcast_emit(self.conn, bc_path, val)
40565 * xmmsv_unref(bc_path)
40566 * xmmsv_unref(val) # <<<<<<<<<<<<<<
40567 * return ret
40568 *
40569 */
40570 xmmsv_unref(__pyx_v_val);
40571
40572 /* "xmmsapi.pyx":2032
40573 * xmmsv_unref(bc_path)
40574 * xmmsv_unref(val)
40575 * return ret # <<<<<<<<<<<<<<
40576 *
40577 * cpdef XmmsResult sc_broadcast_subscribe(self, int dest, broadcast, cb = None):
40578 */
40579 __pyx_r = __pyx_v_ret;
40580 goto __pyx_L0;
40581
40582 /* "xmmsapi.pyx":2017
40583 * return xmmsc_sc_init(self.conn) != NULL
40584 *
40585 * cpdef bint sc_broadcast_emit(self, broadcast, value = None): # <<<<<<<<<<<<<<
40586 * """
40587 * Emit a broadcast message to subscribed clients
40588 */
40589
40590 /* function exit code */
40591 __pyx_L1_error:;
40592 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
40593 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
40594 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
40595 __Pyx_WriteUnraisable("xmmsapi.XmmsApi.sc_broadcast_emit", __pyx_clineno, __pyx_lineno, __pyx_filename, 0);
40596 __pyx_r = 0;
40597 __pyx_L0:;
40598 __Pyx_RefNannyFinishContext();
40599 return __pyx_r;
40600}
40601
40602/* Python wrapper */
40603static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_179sc_broadcast_emit(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
40604static char __pyx_doc_7xmmsapi_7XmmsApi_178sc_broadcast_emit[] = "XmmsApi.sc_broadcast_emit(self, broadcast, value=None) -> bool\n\n\t\tEmit a broadcast message to subscribed clients\n\t\t@rtype: L{bool}\n\t\t@return: whether notifications were successfully queued\n\t\t";
40605static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_179sc_broadcast_emit(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
40606 PyObject *__pyx_v_broadcast = 0;
40607 PyObject *__pyx_v_value = 0;
40608 int __pyx_lineno = 0;
40609 const char *__pyx_filename = NULL((void*)0);
40610 int __pyx_clineno = 0;
40611 PyObject *__pyx_r = 0;
40612 __Pyx_RefNannyDeclarations
40613 __Pyx_RefNannySetupContext("sc_broadcast_emit (wrapper)", 0);
40614 {
40615 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_broadcast,&__pyx_n_s_value,0};
40616 PyObject* values[2] = {0,0};
40617 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
40618 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
40619 Py_ssize_t kw_args;
40620 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
40621 switch (pos_args) {
40622 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
40623 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
40624 case 0: break;
40625 default: goto __pyx_L5_argtuple_error;
40626 }
40627 kw_args = PyDict_Size(__pyx_kwds);
40628 switch (pos_args) {
40629 case 0:
40630 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_broadcast)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_broadcast
)) != 0), 1)
) kw_args--;
40631 else goto __pyx_L5_argtuple_error;
40632 case 1:
40633 if (kw_args > 0) {
40634 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_value);
40635 if (value) { values[1] = value; kw_args--; }
40636 }
40637 }
40638 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
40639 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "sc_broadcast_emit") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "sc_broadcast_emit") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2017; __pyx_clineno = __LINE__40639; goto __pyx_L3_error;}
40640 }
40641 } else {
40642 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
40643 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
40644 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
40645 break;
40646 default: goto __pyx_L5_argtuple_error;
40647 }
40648 }
40649 __pyx_v_broadcast = values[0];
40650 __pyx_v_value = values[1];
40651 }
40652 goto __pyx_L4_argument_unpacking_done;
40653 __pyx_L5_argtuple_error:;
40654 __Pyx_RaiseArgtupleInvalid("sc_broadcast_emit", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2017; __pyx_clineno = __LINE__40654; goto __pyx_L3_error;}
40655 __pyx_L3_error:;
40656 __Pyx_AddTraceback("xmmsapi.XmmsApi.sc_broadcast_emit", __pyx_clineno, __pyx_lineno, __pyx_filename);
40657 __Pyx_RefNannyFinishContext();
40658 return NULL((void*)0);
40659 __pyx_L4_argument_unpacking_done:;
40660 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_178sc_broadcast_emit(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_broadcast, __pyx_v_value);
40661
40662 /* function exit code */
40663 __Pyx_RefNannyFinishContext();
40664 return __pyx_r;
40665}
40666
40667static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_178sc_broadcast_emit(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_broadcast, PyObject *__pyx_v_value) {
40668 PyObject *__pyx_r = NULL((void*)0);
40669 __Pyx_RefNannyDeclarations
40670 int __pyx_t_1;
40671 struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_broadcast_emit __pyx_t_2;
40672 PyObject *__pyx_t_3 = NULL((void*)0);
40673 int __pyx_lineno = 0;
40674 const char *__pyx_filename = NULL((void*)0);
40675 int __pyx_clineno = 0;
40676 __Pyx_RefNannySetupContext("sc_broadcast_emit", 0);
40677 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
40678 __pyx_t_2.__pyx_n = 1;
40679 __pyx_t_2.value = __pyx_v_value;
40680 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->sc_broadcast_emit(__pyx_v_self, __pyx_v_broadcast, 1, &__pyx_t_2);
40681 __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_1)((__pyx_t_1) ? (( ((PyObject*)(((PyObject *) &_Py_TrueStruct
)))->ob_refcnt++), ((PyObject *) &_Py_TrueStruct)) : (
( ((PyObject*)(((PyObject *) &_Py_ZeroStruct)))->ob_refcnt
++), ((PyObject *) &_Py_ZeroStruct)))
; if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2017; __pyx_clineno = __LINE__40681; goto __pyx_L1_error;}
40682 __Pyx_GOTREF(__pyx_t_3);
40683 __pyx_r = __pyx_t_3;
40684 __pyx_t_3 = 0;
40685 goto __pyx_L0;
40686
40687 /* function exit code */
40688 __pyx_L1_error:;
40689 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
40690 __Pyx_AddTraceback("xmmsapi.XmmsApi.sc_broadcast_emit", __pyx_clineno, __pyx_lineno, __pyx_filename);
40691 __pyx_r = NULL((void*)0);
40692 __pyx_L0:;
40693 __Pyx_XGIVEREF(__pyx_r);
40694 __Pyx_RefNannyFinishContext();
40695 return __pyx_r;
40696}
40697
40698/* "xmmsapi.pyx":2034
40699 * return ret
40700 *
40701 * cpdef XmmsResult sc_broadcast_subscribe(self, int dest, broadcast, cb = None): # <<<<<<<<<<<<<<
40702 * """
40703 * Subscribe to a broadcast from another client
40704 */
40705
40706static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_181sc_broadcast_subscribe(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
40707static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_sc_broadcast_subscribe(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_dest, PyObject *__pyx_v_broadcast, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_broadcast_subscribe *__pyx_optional_args) {
40708 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
40709 xmmsv_t *__pyx_v_bc_path;
40710 xmmsc_result_t *__pyx_v_res;
40711 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
40712 __Pyx_RefNannyDeclarations
40713 PyObject *__pyx_t_1 = NULL((void*)0);
40714 PyObject *__pyx_t_2 = NULL((void*)0);
40715 PyObject *__pyx_t_3 = NULL((void*)0);
40716 xmmsv_t *__pyx_t_4;
40717 int __pyx_lineno = 0;
40718 const char *__pyx_filename = NULL((void*)0);
40719 int __pyx_clineno = 0;
40720 __Pyx_RefNannySetupContext("sc_broadcast_subscribe", 0);
40721 if (__pyx_optional_args) {
40722 if (__pyx_optional_args->__pyx_n > 0) {
40723 __pyx_v_cb = __pyx_optional_args->cb;
40724 }
40725 }
40726 /* Check if called by wrapper */
40727 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
40728 /* Check if overridden in Python */
40729 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
40730 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_sc_broadcast_subscribe); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2034; __pyx_clineno = __LINE__40730; goto __pyx_L1_error;}
40731 __Pyx_GOTREF(__pyx_t_1);
40732 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_181sc_broadcast_subscribe)) {
40733 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
40734 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_dest); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2034; __pyx_clineno = __LINE__40734; goto __pyx_L1_error;}
40735 __Pyx_GOTREF(__pyx_t_2);
40736 __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2034; __pyx_clineno = __LINE__40736; goto __pyx_L1_error;}
40737 __Pyx_GOTREF(__pyx_t_3);
40738 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
40739 __Pyx_GIVEREF(__pyx_t_2);
40740 __Pyx_INCREF(__pyx_v_broadcast)( ((PyObject*)(__pyx_v_broadcast))->ob_refcnt++);
40741 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_broadcast)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_broadcast
)
;
40742 __Pyx_GIVEREF(__pyx_v_broadcast);
40743 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
40744 PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_3))->ob_item[2] = __pyx_v_cb);
40745 __Pyx_GIVEREF(__pyx_v_cb);
40746 __pyx_t_2 = 0;
40747 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2034; __pyx_clineno = __LINE__40747; goto __pyx_L1_error;}
40748 __Pyx_GOTREF(__pyx_t_2);
40749 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
40750 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_2) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2034; __pyx_clineno = __LINE__40750; goto __pyx_L1_error;}
40751 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_2);
40752 __pyx_t_2 = 0;
40753 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
40754 goto __pyx_L0;
40755 }
40756 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
40757 }
40758
40759 /* "xmmsapi.pyx":2043
40760 * cdef xmmsc_result_t *res
40761 *
40762 * bc_path = create_native_value(broadcast) # <<<<<<<<<<<<<<
40763 * res = xmmsc_sc_broadcast_subscribe(self.conn, dest, bc_path)
40764 * xmmsv_unref(bc_path)
40765 */
40766 __pyx_t_4 = __pyx_f_9xmmsvalue_create_native_value(__pyx_v_broadcast); if (unlikely(__pyx_t_4 == NULL)__builtin_expect(!!(__pyx_t_4 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2043; __pyx_clineno = __LINE__40766; goto __pyx_L1_error;}
40767 __pyx_v_bc_path = __pyx_t_4;
40768
40769 /* "xmmsapi.pyx":2044
40770 *
40771 * bc_path = create_native_value(broadcast)
40772 * res = xmmsc_sc_broadcast_subscribe(self.conn, dest, bc_path) # <<<<<<<<<<<<<<
40773 * xmmsv_unref(bc_path)
40774 * return self.create_result(cb, res)
40775 */
40776 __pyx_v_res = xmmsc_sc_broadcast_subscribe(__pyx_v_self->__pyx_base.conn, __pyx_v_dest, __pyx_v_bc_path);
40777
40778 /* "xmmsapi.pyx":2045
40779 * bc_path = create_native_value(broadcast)
40780 * res = xmmsc_sc_broadcast_subscribe(self.conn, dest, bc_path)
40781 * xmmsv_unref(bc_path) # <<<<<<<<<<<<<<
40782 * return self.create_result(cb, res)
40783 *
40784 */
40785 xmmsv_unref(__pyx_v_bc_path);
40786
40787 /* "xmmsapi.pyx":2046
40788 * res = xmmsc_sc_broadcast_subscribe(self.conn, dest, bc_path)
40789 * xmmsv_unref(bc_path)
40790 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
40791 *
40792 * cpdef XmmsResult sc_call(self, int dest, method, args = (), kargs = dict(), cb = None):
40793 */
40794 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
40795 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2046; __pyx_clineno = __LINE__40795; goto __pyx_L1_error;}
40796 __Pyx_GOTREF(__pyx_t_1);
40797 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
40798 __pyx_t_1 = 0;
40799 goto __pyx_L0;
40800
40801 /* "xmmsapi.pyx":2034
40802 * return ret
40803 *
40804 * cpdef XmmsResult sc_broadcast_subscribe(self, int dest, broadcast, cb = None): # <<<<<<<<<<<<<<
40805 * """
40806 * Subscribe to a broadcast from another client
40807 */
40808
40809 /* function exit code */
40810 __pyx_L1_error:;
40811 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
40812 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
40813 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
40814 __Pyx_AddTraceback("xmmsapi.XmmsApi.sc_broadcast_subscribe", __pyx_clineno, __pyx_lineno, __pyx_filename);
40815 __pyx_r = 0;
40816 __pyx_L0:;
40817 __Pyx_XGIVEREF((PyObject *)__pyx_r);
40818 __Pyx_RefNannyFinishContext();
40819 return __pyx_r;
40820}
40821
40822/* Python wrapper */
40823static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_181sc_broadcast_subscribe(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
40824static char __pyx_doc_7xmmsapi_7XmmsApi_180sc_broadcast_subscribe[] = "XmmsApi.sc_broadcast_subscribe(self, int dest, broadcast, cb=None) -> XmmsResult\n\n\t\tSubscribe to a broadcast from another client\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
40825static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_181sc_broadcast_subscribe(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
40826 int __pyx_v_dest;
40827 PyObject *__pyx_v_broadcast = 0;
40828 PyObject *__pyx_v_cb = 0;
40829 int __pyx_lineno = 0;
40830 const char *__pyx_filename = NULL((void*)0);
40831 int __pyx_clineno = 0;
40832 PyObject *__pyx_r = 0;
40833 __Pyx_RefNannyDeclarations
40834 __Pyx_RefNannySetupContext("sc_broadcast_subscribe (wrapper)", 0);
40835 {
40836 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dest,&__pyx_n_s_broadcast,&__pyx_n_s_cb,0};
40837 PyObject* values[3] = {0,0,0};
40838 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
40839 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
40840 Py_ssize_t kw_args;
40841 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
40842 switch (pos_args) {
40843 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
40844 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
40845 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
40846 case 0: break;
40847 default: goto __pyx_L5_argtuple_error;
40848 }
40849 kw_args = PyDict_Size(__pyx_kwds);
40850 switch (pos_args) {
40851 case 0:
40852 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest
)) != 0), 1)
) kw_args--;
40853 else goto __pyx_L5_argtuple_error;
40854 case 1:
40855 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_broadcast)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_broadcast
)) != 0), 1)
) kw_args--;
40856 else {
40857 __Pyx_RaiseArgtupleInvalid("sc_broadcast_subscribe", 0, 2, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2034; __pyx_clineno = __LINE__40857; goto __pyx_L3_error;}
40858 }
40859 case 2:
40860 if (kw_args > 0) {
40861 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
40862 if (value) { values[2] = value; kw_args--; }
40863 }
40864 }
40865 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
40866 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "sc_broadcast_subscribe") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "sc_broadcast_subscribe") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2034; __pyx_clineno = __LINE__40866; goto __pyx_L3_error;}
40867 }
40868 } else {
40869 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
40870 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
40871 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
40872 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
40873 break;
40874 default: goto __pyx_L5_argtuple_error;
40875 }
40876 }
40877 __pyx_v_dest = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_dest == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_dest == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2034; __pyx_clineno = __LINE__40877; goto __pyx_L3_error;}
40878 __pyx_v_broadcast = values[1];
40879 __pyx_v_cb = values[2];
40880 }
40881 goto __pyx_L4_argument_unpacking_done;
40882 __pyx_L5_argtuple_error:;
40883 __Pyx_RaiseArgtupleInvalid("sc_broadcast_subscribe", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2034; __pyx_clineno = __LINE__40883; goto __pyx_L3_error;}
40884 __pyx_L3_error:;
40885 __Pyx_AddTraceback("xmmsapi.XmmsApi.sc_broadcast_subscribe", __pyx_clineno, __pyx_lineno, __pyx_filename);
40886 __Pyx_RefNannyFinishContext();
40887 return NULL((void*)0);
40888 __pyx_L4_argument_unpacking_done:;
40889 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_180sc_broadcast_subscribe(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_dest, __pyx_v_broadcast, __pyx_v_cb);
40890
40891 /* function exit code */
40892 __Pyx_RefNannyFinishContext();
40893 return __pyx_r;
40894}
40895
40896static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_180sc_broadcast_subscribe(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_dest, PyObject *__pyx_v_broadcast, PyObject *__pyx_v_cb) {
40897 PyObject *__pyx_r = NULL((void*)0);
40898 __Pyx_RefNannyDeclarations
40899 PyObject *__pyx_t_1 = NULL((void*)0);
40900 struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_broadcast_subscribe __pyx_t_2;
40901 int __pyx_lineno = 0;
40902 const char *__pyx_filename = NULL((void*)0);
40903 int __pyx_clineno = 0;
40904 __Pyx_RefNannySetupContext("sc_broadcast_subscribe", 0);
40905 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
40906 __pyx_t_2.__pyx_n = 1;
40907 __pyx_t_2.cb = __pyx_v_cb;
40908 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->sc_broadcast_subscribe(__pyx_v_self, __pyx_v_dest, __pyx_v_broadcast, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2034; __pyx_clineno = __LINE__40908; goto __pyx_L1_error;}
40909 __Pyx_GOTREF(__pyx_t_1);
40910 __pyx_r = __pyx_t_1;
40911 __pyx_t_1 = 0;
40912 goto __pyx_L0;
40913
40914 /* function exit code */
40915 __pyx_L1_error:;
40916 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
40917 __Pyx_AddTraceback("xmmsapi.XmmsApi.sc_broadcast_subscribe", __pyx_clineno, __pyx_lineno, __pyx_filename);
40918 __pyx_r = NULL((void*)0);
40919 __pyx_L0:;
40920 __Pyx_XGIVEREF(__pyx_r);
40921 __Pyx_RefNannyFinishContext();
40922 return __pyx_r;
40923}
40924
40925/* "xmmsapi.pyx":2048
40926 * return self.create_result(cb, res)
40927 *
40928 * cpdef XmmsResult sc_call(self, int dest, method, args = (), kargs = dict(), cb = None): # <<<<<<<<<<<<<<
40929 * """
40930 * Call a remote method
40931 */
40932
40933static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_183sc_call(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
40934static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_sc_call(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_dest, PyObject *__pyx_v_method, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_call *__pyx_optional_args) {
40935 PyObject *__pyx_v_args = ((PyObject *)__pyx_empty_tuple);
40936 PyObject *__pyx_v_kargs = __pyx_k__45;
40937 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
40938 xmmsv_t *__pyx_v_m_path;
40939 xmmsv_t *__pyx_v_m_pos;
40940 xmmsv_t *__pyx_v_m_named;
40941 xmmsc_result_t *__pyx_v_res;
40942 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
40943 __Pyx_RefNannyDeclarations
40944 PyObject *__pyx_t_1 = NULL((void*)0);
40945 PyObject *__pyx_t_2 = NULL((void*)0);
40946 PyObject *__pyx_t_3 = NULL((void*)0);
40947 xmmsv_t *__pyx_t_4;
40948 int __pyx_lineno = 0;
40949 const char *__pyx_filename = NULL((void*)0);
40950 int __pyx_clineno = 0;
40951 __Pyx_RefNannySetupContext("sc_call", 0);
40952 if (__pyx_optional_args) {
40953 if (__pyx_optional_args->__pyx_n > 0) {
40954 __pyx_v_args = __pyx_optional_args->args;
40955 if (__pyx_optional_args->__pyx_n > 1) {
40956 __pyx_v_kargs = __pyx_optional_args->kargs;
40957 if (__pyx_optional_args->__pyx_n > 2) {
40958 __pyx_v_cb = __pyx_optional_args->cb;
40959 }
40960 }
40961 }
40962 }
40963 /* Check if called by wrapper */
40964 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
40965 /* Check if overridden in Python */
40966 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
40967 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_sc_call); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2048; __pyx_clineno = __LINE__40967; goto __pyx_L1_error;}
40968 __Pyx_GOTREF(__pyx_t_1);
40969 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_183sc_call)) {
40970 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
40971 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_dest); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2048; __pyx_clineno = __LINE__40971; goto __pyx_L1_error;}
40972 __Pyx_GOTREF(__pyx_t_2);
40973 __pyx_t_3 = PyTuple_New(5); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2048; __pyx_clineno = __LINE__40973; goto __pyx_L1_error;}
40974 __Pyx_GOTREF(__pyx_t_3);
40975 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
40976 __Pyx_GIVEREF(__pyx_t_2);
40977 __Pyx_INCREF(__pyx_v_method)( ((PyObject*)(__pyx_v_method))->ob_refcnt++);
40978 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_method)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_method
)
;
40979 __Pyx_GIVEREF(__pyx_v_method);
40980 __Pyx_INCREF(__pyx_v_args)( ((PyObject*)(__pyx_v_args))->ob_refcnt++);
40981 PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_args)(((PyTupleObject *)(__pyx_t_3))->ob_item[2] = __pyx_v_args
)
;
40982 __Pyx_GIVEREF(__pyx_v_args);
40983 __Pyx_INCREF(__pyx_v_kargs)( ((PyObject*)(__pyx_v_kargs))->ob_refcnt++);
40984 PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_v_kargs)(((PyTupleObject *)(__pyx_t_3))->ob_item[3] = __pyx_v_kargs
)
;
40985 __Pyx_GIVEREF(__pyx_v_kargs);
40986 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
40987 PyTuple_SET_ITEM(__pyx_t_3, 4, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_3))->ob_item[4] = __pyx_v_cb);
40988 __Pyx_GIVEREF(__pyx_v_cb);
40989 __pyx_t_2 = 0;
40990 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2048; __pyx_clineno = __LINE__40990; goto __pyx_L1_error;}
40991 __Pyx_GOTREF(__pyx_t_2);
40992 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
40993 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_2) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2048; __pyx_clineno = __LINE__40993; goto __pyx_L1_error;}
40994 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_2);
40995 __pyx_t_2 = 0;
40996 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
40997 goto __pyx_L0;
40998 }
40999 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
41000 }
41001
41002 /* "xmmsapi.pyx":2059
41003 * cdef xmmsc_result_t *res
41004 *
41005 * m_path = create_native_value(method) # <<<<<<<<<<<<<<
41006 * m_pos = create_native_value(args)
41007 * m_named = create_native_value(kargs)
41008 */
41009 __pyx_t_4 = __pyx_f_9xmmsvalue_create_native_value(__pyx_v_method); if (unlikely(__pyx_t_4 == NULL)__builtin_expect(!!(__pyx_t_4 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2059; __pyx_clineno = __LINE__41009; goto __pyx_L1_error;}
41010 __pyx_v_m_path = __pyx_t_4;
41011
41012 /* "xmmsapi.pyx":2060
41013 *
41014 * m_path = create_native_value(method)
41015 * m_pos = create_native_value(args) # <<<<<<<<<<<<<<
41016 * m_named = create_native_value(kargs)
41017 * res = xmmsc_sc_call(self.conn, dest, m_path, m_pos, m_named)
41018 */
41019 __pyx_t_4 = __pyx_f_9xmmsvalue_create_native_value(__pyx_v_args); if (unlikely(__pyx_t_4 == NULL)__builtin_expect(!!(__pyx_t_4 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2060; __pyx_clineno = __LINE__41019; goto __pyx_L1_error;}
41020 __pyx_v_m_pos = __pyx_t_4;
41021
41022 /* "xmmsapi.pyx":2061
41023 * m_path = create_native_value(method)
41024 * m_pos = create_native_value(args)
41025 * m_named = create_native_value(kargs) # <<<<<<<<<<<<<<
41026 * res = xmmsc_sc_call(self.conn, dest, m_path, m_pos, m_named)
41027 * xmmsv_unref(m_path)
41028 */
41029 __pyx_t_4 = __pyx_f_9xmmsvalue_create_native_value(__pyx_v_kargs); if (unlikely(__pyx_t_4 == NULL)__builtin_expect(!!(__pyx_t_4 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2061; __pyx_clineno = __LINE__41029; goto __pyx_L1_error;}
41030 __pyx_v_m_named = __pyx_t_4;
41031
41032 /* "xmmsapi.pyx":2062
41033 * m_pos = create_native_value(args)
41034 * m_named = create_native_value(kargs)
41035 * res = xmmsc_sc_call(self.conn, dest, m_path, m_pos, m_named) # <<<<<<<<<<<<<<
41036 * xmmsv_unref(m_path)
41037 * xmmsv_unref(m_pos)
41038 */
41039 __pyx_v_res = xmmsc_sc_call(__pyx_v_self->__pyx_base.conn, __pyx_v_dest, __pyx_v_m_path, __pyx_v_m_pos, __pyx_v_m_named);
41040
41041 /* "xmmsapi.pyx":2063
41042 * m_named = create_native_value(kargs)
41043 * res = xmmsc_sc_call(self.conn, dest, m_path, m_pos, m_named)
41044 * xmmsv_unref(m_path) # <<<<<<<<<<<<<<
41045 * xmmsv_unref(m_pos)
41046 * xmmsv_unref(m_named)
41047 */
41048 xmmsv_unref(__pyx_v_m_path);
41049
41050 /* "xmmsapi.pyx":2064
41051 * res = xmmsc_sc_call(self.conn, dest, m_path, m_pos, m_named)
41052 * xmmsv_unref(m_path)
41053 * xmmsv_unref(m_pos) # <<<<<<<<<<<<<<
41054 * xmmsv_unref(m_named)
41055 * return self.create_result(cb, res)
41056 */
41057 xmmsv_unref(__pyx_v_m_pos);
41058
41059 /* "xmmsapi.pyx":2065
41060 * xmmsv_unref(m_path)
41061 * xmmsv_unref(m_pos)
41062 * xmmsv_unref(m_named) # <<<<<<<<<<<<<<
41063 * return self.create_result(cb, res)
41064 *
41065 */
41066 xmmsv_unref(__pyx_v_m_named);
41067
41068 /* "xmmsapi.pyx":2066
41069 * xmmsv_unref(m_pos)
41070 * xmmsv_unref(m_named)
41071 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
41072 *
41073 * cpdef XmmsResult sc_introspect_namespace(self, int dest, path = (), cb = None):
41074 */
41075 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
41076 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2066; __pyx_clineno = __LINE__41076; goto __pyx_L1_error;}
41077 __Pyx_GOTREF(__pyx_t_1);
41078 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
41079 __pyx_t_1 = 0;
41080 goto __pyx_L0;
41081
41082 /* "xmmsapi.pyx":2048
41083 * return self.create_result(cb, res)
41084 *
41085 * cpdef XmmsResult sc_call(self, int dest, method, args = (), kargs = dict(), cb = None): # <<<<<<<<<<<<<<
41086 * """
41087 * Call a remote method
41088 */
41089
41090 /* function exit code */
41091 __pyx_L1_error:;
41092 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
41093 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
41094 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
41095 __Pyx_AddTraceback("xmmsapi.XmmsApi.sc_call", __pyx_clineno, __pyx_lineno, __pyx_filename);
41096 __pyx_r = 0;
41097 __pyx_L0:;
41098 __Pyx_XGIVEREF((PyObject *)__pyx_r);
41099 __Pyx_RefNannyFinishContext();
41100 return __pyx_r;
41101}
41102
41103/* Python wrapper */
41104static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_183sc_call(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
41105static char __pyx_doc_7xmmsapi_7XmmsApi_182sc_call[] = "XmmsApi.sc_call(self, int dest, method, args=(), kargs=<\077\077?>, cb=None) -> XmmsResult\n\n\t\tCall a remote method\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
41106static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_183sc_call(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
41107 int __pyx_v_dest;
41108 PyObject *__pyx_v_method = 0;
41109 PyObject *__pyx_v_args = 0;
41110 PyObject *__pyx_v_kargs = 0;
41111 PyObject *__pyx_v_cb = 0;
41112 int __pyx_lineno = 0;
41113 const char *__pyx_filename = NULL((void*)0);
41114 int __pyx_clineno = 0;
41115 PyObject *__pyx_r = 0;
41116 __Pyx_RefNannyDeclarations
41117 __Pyx_RefNannySetupContext("sc_call (wrapper)", 0);
41118 {
41119 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dest,&__pyx_n_s_method,&__pyx_n_s_args,&__pyx_n_s_kargs,&__pyx_n_s_cb,0};
41120 PyObject* values[5] = {0,0,0,0,0};
41121 values[2] = ((PyObject *)__pyx_empty_tuple);
41122 values[3] = __pyx_k__45;
41123 values[4] = ((PyObject *)Py_None(&_Py_NoneStruct));
41124 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
41125 Py_ssize_t kw_args;
41126 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
41127 switch (pos_args) {
41128 case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4)(((PyTupleObject *)(__pyx_args))->ob_item[4]);
41129 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
41130 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
41131 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
41132 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
41133 case 0: break;
41134 default: goto __pyx_L5_argtuple_error;
41135 }
41136 kw_args = PyDict_Size(__pyx_kwds);
41137 switch (pos_args) {
41138 case 0:
41139 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest
)) != 0), 1)
) kw_args--;
41140 else goto __pyx_L5_argtuple_error;
41141 case 1:
41142 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_method)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_method
)) != 0), 1)
) kw_args--;
41143 else {
41144 __Pyx_RaiseArgtupleInvalid("sc_call", 0, 2, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2048; __pyx_clineno = __LINE__41144; goto __pyx_L3_error;}
41145 }
41146 case 2:
41147 if (kw_args > 0) {
41148 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_args);
41149 if (value) { values[2] = value; kw_args--; }
41150 }
41151 case 3:
41152 if (kw_args > 0) {
41153 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_kargs);
41154 if (value) { values[3] = value; kw_args--; }
41155 }
41156 case 4:
41157 if (kw_args > 0) {
41158 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
41159 if (value) { values[4] = value; kw_args--; }
41160 }
41161 }
41162 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
41163 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "sc_call") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "sc_call") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2048; __pyx_clineno = __LINE__41163; goto __pyx_L3_error;}
41164 }
41165 } else {
41166 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
41167 case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4)(((PyTupleObject *)(__pyx_args))->ob_item[4]);
41168 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
41169 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
41170 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
41171 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
41172 break;
41173 default: goto __pyx_L5_argtuple_error;
41174 }
41175 }
41176 __pyx_v_dest = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_dest == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_dest == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2048; __pyx_clineno = __LINE__41176; goto __pyx_L3_error;}
41177 __pyx_v_method = values[1];
41178 __pyx_v_args = values[2];
41179 __pyx_v_kargs = values[3];
41180 __pyx_v_cb = values[4];
41181 }
41182 goto __pyx_L4_argument_unpacking_done;
41183 __pyx_L5_argtuple_error:;
41184 __Pyx_RaiseArgtupleInvalid("sc_call", 0, 2, 5, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2048; __pyx_clineno = __LINE__41184; goto __pyx_L3_error;}
41185 __pyx_L3_error:;
41186 __Pyx_AddTraceback("xmmsapi.XmmsApi.sc_call", __pyx_clineno, __pyx_lineno, __pyx_filename);
41187 __Pyx_RefNannyFinishContext();
41188 return NULL((void*)0);
41189 __pyx_L4_argument_unpacking_done:;
41190 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_182sc_call(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_dest, __pyx_v_method, __pyx_v_args, __pyx_v_kargs, __pyx_v_cb);
41191
41192 /* function exit code */
41193 __Pyx_RefNannyFinishContext();
41194 return __pyx_r;
41195}
41196
41197static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_182sc_call(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_dest, PyObject *__pyx_v_method, PyObject *__pyx_v_args, PyObject *__pyx_v_kargs, PyObject *__pyx_v_cb) {
41198 PyObject *__pyx_r = NULL((void*)0);
41199 __Pyx_RefNannyDeclarations
41200 PyObject *__pyx_t_1 = NULL((void*)0);
41201 struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_call __pyx_t_2;
41202 int __pyx_lineno = 0;
41203 const char *__pyx_filename = NULL((void*)0);
41204 int __pyx_clineno = 0;
41205 __Pyx_RefNannySetupContext("sc_call", 0);
41206 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
41207 __pyx_t_2.__pyx_n = 3;
41208 __pyx_t_2.args = __pyx_v_args;
41209 __pyx_t_2.kargs = __pyx_v_kargs;
41210 __pyx_t_2.cb = __pyx_v_cb;
41211 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->sc_call(__pyx_v_self, __pyx_v_dest, __pyx_v_method, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2048; __pyx_clineno = __LINE__41211; goto __pyx_L1_error;}
41212 __Pyx_GOTREF(__pyx_t_1);
41213 __pyx_r = __pyx_t_1;
41214 __pyx_t_1 = 0;
41215 goto __pyx_L0;
41216
41217 /* function exit code */
41218 __pyx_L1_error:;
41219 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
41220 __Pyx_AddTraceback("xmmsapi.XmmsApi.sc_call", __pyx_clineno, __pyx_lineno, __pyx_filename);
41221 __pyx_r = NULL((void*)0);
41222 __pyx_L0:;
41223 __Pyx_XGIVEREF(__pyx_r);
41224 __Pyx_RefNannyFinishContext();
41225 return __pyx_r;
41226}
41227
41228/* "xmmsapi.pyx":2068
41229 * return self.create_result(cb, res)
41230 *
41231 * cpdef XmmsResult sc_introspect_namespace(self, int dest, path = (), cb = None): # <<<<<<<<<<<<<<
41232 * """
41233 * Get informations about a namespace on a remote client
41234 */
41235
41236static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_185sc_introspect_namespace(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
41237static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_sc_introspect_namespace(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_dest, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_namespace *__pyx_optional_args) {
41238 PyObject *__pyx_v_path = ((PyObject *)__pyx_empty_tuple);
41239 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
41240 xmmsv_t *__pyx_v_i_path;
41241 xmmsc_result_t *__pyx_v_res;
41242 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
41243 __Pyx_RefNannyDeclarations
41244 PyObject *__pyx_t_1 = NULL((void*)0);
41245 PyObject *__pyx_t_2 = NULL((void*)0);
41246 PyObject *__pyx_t_3 = NULL((void*)0);
41247 xmmsv_t *__pyx_t_4;
41248 int __pyx_lineno = 0;
41249 const char *__pyx_filename = NULL((void*)0);
41250 int __pyx_clineno = 0;
41251 __Pyx_RefNannySetupContext("sc_introspect_namespace", 0);
41252 if (__pyx_optional_args) {
41253 if (__pyx_optional_args->__pyx_n > 0) {
41254 __pyx_v_path = __pyx_optional_args->path;
41255 if (__pyx_optional_args->__pyx_n > 1) {
41256 __pyx_v_cb = __pyx_optional_args->cb;
41257 }
41258 }
41259 }
41260 /* Check if called by wrapper */
41261 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
41262 /* Check if overridden in Python */
41263 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
41264 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_sc_introspect_namespace); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2068; __pyx_clineno = __LINE__41264; goto __pyx_L1_error;}
41265 __Pyx_GOTREF(__pyx_t_1);
41266 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_185sc_introspect_namespace)) {
41267 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
41268 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_dest); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2068; __pyx_clineno = __LINE__41268; goto __pyx_L1_error;}
41269 __Pyx_GOTREF(__pyx_t_2);
41270 __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2068; __pyx_clineno = __LINE__41270; goto __pyx_L1_error;}
41271 __Pyx_GOTREF(__pyx_t_3);
41272 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
41273 __Pyx_GIVEREF(__pyx_t_2);
41274 __Pyx_INCREF(__pyx_v_path)( ((PyObject*)(__pyx_v_path))->ob_refcnt++);
41275 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_path)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_path
)
;
41276 __Pyx_GIVEREF(__pyx_v_path);
41277 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
41278 PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_3))->ob_item[2] = __pyx_v_cb);
41279 __Pyx_GIVEREF(__pyx_v_cb);
41280 __pyx_t_2 = 0;
41281 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2068; __pyx_clineno = __LINE__41281; goto __pyx_L1_error;}
41282 __Pyx_GOTREF(__pyx_t_2);
41283 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
41284 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_2) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2068; __pyx_clineno = __LINE__41284; goto __pyx_L1_error;}
41285 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_2);
41286 __pyx_t_2 = 0;
41287 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
41288 goto __pyx_L0;
41289 }
41290 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
41291 }
41292
41293 /* "xmmsapi.pyx":2077
41294 * cdef xmmsc_result_t *res
41295 *
41296 * i_path = create_native_value(path) # <<<<<<<<<<<<<<
41297 * res = xmmsc_sc_introspect_namespace(self.conn, dest, i_path)
41298 * xmmsv_unref(i_path)
41299 */
41300 __pyx_t_4 = __pyx_f_9xmmsvalue_create_native_value(__pyx_v_path); if (unlikely(__pyx_t_4 == NULL)__builtin_expect(!!(__pyx_t_4 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2077; __pyx_clineno = __LINE__41300; goto __pyx_L1_error;}
41301 __pyx_v_i_path = __pyx_t_4;
41302
41303 /* "xmmsapi.pyx":2078
41304 *
41305 * i_path = create_native_value(path)
41306 * res = xmmsc_sc_introspect_namespace(self.conn, dest, i_path) # <<<<<<<<<<<<<<
41307 * xmmsv_unref(i_path)
41308 * return self.create_result(cb, res)
41309 */
41310 __pyx_v_res = xmmsc_sc_introspect_namespace(__pyx_v_self->__pyx_base.conn, __pyx_v_dest, __pyx_v_i_path);
41311
41312 /* "xmmsapi.pyx":2079
41313 * i_path = create_native_value(path)
41314 * res = xmmsc_sc_introspect_namespace(self.conn, dest, i_path)
41315 * xmmsv_unref(i_path) # <<<<<<<<<<<<<<
41316 * return self.create_result(cb, res)
41317 *
41318 */
41319 xmmsv_unref(__pyx_v_i_path);
41320
41321 /* "xmmsapi.pyx":2080
41322 * res = xmmsc_sc_introspect_namespace(self.conn, dest, i_path)
41323 * xmmsv_unref(i_path)
41324 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
41325 *
41326 * cpdef XmmsResult sc_introspect_method(self, int dest, path, cb = None):
41327 */
41328 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
41329 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2080; __pyx_clineno = __LINE__41329; goto __pyx_L1_error;}
41330 __Pyx_GOTREF(__pyx_t_1);
41331 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
41332 __pyx_t_1 = 0;
41333 goto __pyx_L0;
41334
41335 /* "xmmsapi.pyx":2068
41336 * return self.create_result(cb, res)
41337 *
41338 * cpdef XmmsResult sc_introspect_namespace(self, int dest, path = (), cb = None): # <<<<<<<<<<<<<<
41339 * """
41340 * Get informations about a namespace on a remote client
41341 */
41342
41343 /* function exit code */
41344 __pyx_L1_error:;
41345 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
41346 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
41347 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
41348 __Pyx_AddTraceback("xmmsapi.XmmsApi.sc_introspect_namespace", __pyx_clineno, __pyx_lineno, __pyx_filename);
41349 __pyx_r = 0;
41350 __pyx_L0:;
41351 __Pyx_XGIVEREF((PyObject *)__pyx_r);
41352 __Pyx_RefNannyFinishContext();
41353 return __pyx_r;
41354}
41355
41356/* Python wrapper */
41357static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_185sc_introspect_namespace(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
41358static char __pyx_doc_7xmmsapi_7XmmsApi_184sc_introspect_namespace[] = "XmmsApi.sc_introspect_namespace(self, int dest, path=(), cb=None) -> XmmsResult\n\n\t\tGet informations about a namespace on a remote client\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
41359static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_185sc_introspect_namespace(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
41360 int __pyx_v_dest;
41361 PyObject *__pyx_v_path = 0;
41362 PyObject *__pyx_v_cb = 0;
41363 int __pyx_lineno = 0;
41364 const char *__pyx_filename = NULL((void*)0);
41365 int __pyx_clineno = 0;
41366 PyObject *__pyx_r = 0;
41367 __Pyx_RefNannyDeclarations
41368 __Pyx_RefNannySetupContext("sc_introspect_namespace (wrapper)", 0);
41369 {
41370 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dest,&__pyx_n_s_path,&__pyx_n_s_cb,0};
41371 PyObject* values[3] = {0,0,0};
41372 values[1] = ((PyObject *)__pyx_empty_tuple);
41373 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
41374 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
41375 Py_ssize_t kw_args;
41376 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
41377 switch (pos_args) {
41378 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
41379 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
41380 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
41381 case 0: break;
41382 default: goto __pyx_L5_argtuple_error;
41383 }
41384 kw_args = PyDict_Size(__pyx_kwds);
41385 switch (pos_args) {
41386 case 0:
41387 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest
)) != 0), 1)
) kw_args--;
41388 else goto __pyx_L5_argtuple_error;
41389 case 1:
41390 if (kw_args > 0) {
41391 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path);
41392 if (value) { values[1] = value; kw_args--; }
41393 }
41394 case 2:
41395 if (kw_args > 0) {
41396 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
41397 if (value) { values[2] = value; kw_args--; }
41398 }
41399 }
41400 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
41401 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "sc_introspect_namespace") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "sc_introspect_namespace") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2068; __pyx_clineno = __LINE__41401; goto __pyx_L3_error;}
41402 }
41403 } else {
41404 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
41405 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
41406 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
41407 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
41408 break;
41409 default: goto __pyx_L5_argtuple_error;
41410 }
41411 }
41412 __pyx_v_dest = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_dest == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_dest == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2068; __pyx_clineno = __LINE__41412; goto __pyx_L3_error;}
41413 __pyx_v_path = values[1];
41414 __pyx_v_cb = values[2];
41415 }
41416 goto __pyx_L4_argument_unpacking_done;
41417 __pyx_L5_argtuple_error:;
41418 __Pyx_RaiseArgtupleInvalid("sc_introspect_namespace", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2068; __pyx_clineno = __LINE__41418; goto __pyx_L3_error;}
41419 __pyx_L3_error:;
41420 __Pyx_AddTraceback("xmmsapi.XmmsApi.sc_introspect_namespace", __pyx_clineno, __pyx_lineno, __pyx_filename);
41421 __Pyx_RefNannyFinishContext();
41422 return NULL((void*)0);
41423 __pyx_L4_argument_unpacking_done:;
41424 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_184sc_introspect_namespace(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_dest, __pyx_v_path, __pyx_v_cb);
41425
41426 /* function exit code */
41427 __Pyx_RefNannyFinishContext();
41428 return __pyx_r;
41429}
41430
41431static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_184sc_introspect_namespace(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_dest, PyObject *__pyx_v_path, PyObject *__pyx_v_cb) {
41432 PyObject *__pyx_r = NULL((void*)0);
41433 __Pyx_RefNannyDeclarations
41434 PyObject *__pyx_t_1 = NULL((void*)0);
41435 struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_namespace __pyx_t_2;
41436 int __pyx_lineno = 0;
41437 const char *__pyx_filename = NULL((void*)0);
41438 int __pyx_clineno = 0;
41439 __Pyx_RefNannySetupContext("sc_introspect_namespace", 0);
41440 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
41441 __pyx_t_2.__pyx_n = 2;
41442 __pyx_t_2.path = __pyx_v_path;
41443 __pyx_t_2.cb = __pyx_v_cb;
41444 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->sc_introspect_namespace(__pyx_v_self, __pyx_v_dest, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2068; __pyx_clineno = __LINE__41444; goto __pyx_L1_error;}
41445 __Pyx_GOTREF(__pyx_t_1);
41446 __pyx_r = __pyx_t_1;
41447 __pyx_t_1 = 0;
41448 goto __pyx_L0;
41449
41450 /* function exit code */
41451 __pyx_L1_error:;
41452 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
41453 __Pyx_AddTraceback("xmmsapi.XmmsApi.sc_introspect_namespace", __pyx_clineno, __pyx_lineno, __pyx_filename);
41454 __pyx_r = NULL((void*)0);
41455 __pyx_L0:;
41456 __Pyx_XGIVEREF(__pyx_r);
41457 __Pyx_RefNannyFinishContext();
41458 return __pyx_r;
41459}
41460
41461/* "xmmsapi.pyx":2082
41462 * return self.create_result(cb, res)
41463 *
41464 * cpdef XmmsResult sc_introspect_method(self, int dest, path, cb = None): # <<<<<<<<<<<<<<
41465 * """
41466 * Get informations about a method on a remote client
41467 */
41468
41469static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_187sc_introspect_method(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
41470static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_sc_introspect_method(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_dest, PyObject *__pyx_v_path, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_method *__pyx_optional_args) {
41471 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
41472 xmmsv_t *__pyx_v_i_path;
41473 xmmsc_result_t *__pyx_v_res;
41474 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
41475 __Pyx_RefNannyDeclarations
41476 PyObject *__pyx_t_1 = NULL((void*)0);
41477 PyObject *__pyx_t_2 = NULL((void*)0);
41478 PyObject *__pyx_t_3 = NULL((void*)0);
41479 xmmsv_t *__pyx_t_4;
41480 int __pyx_lineno = 0;
41481 const char *__pyx_filename = NULL((void*)0);
41482 int __pyx_clineno = 0;
41483 __Pyx_RefNannySetupContext("sc_introspect_method", 0);
41484 if (__pyx_optional_args) {
41485 if (__pyx_optional_args->__pyx_n > 0) {
41486 __pyx_v_cb = __pyx_optional_args->cb;
41487 }
41488 }
41489 /* Check if called by wrapper */
41490 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
41491 /* Check if overridden in Python */
41492 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
41493 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_sc_introspect_method); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2082; __pyx_clineno = __LINE__41493; goto __pyx_L1_error;}
41494 __Pyx_GOTREF(__pyx_t_1);
41495 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_187sc_introspect_method)) {
41496 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
41497 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_dest); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2082; __pyx_clineno = __LINE__41497; goto __pyx_L1_error;}
41498 __Pyx_GOTREF(__pyx_t_2);
41499 __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2082; __pyx_clineno = __LINE__41499; goto __pyx_L1_error;}
41500 __Pyx_GOTREF(__pyx_t_3);
41501 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
41502 __Pyx_GIVEREF(__pyx_t_2);
41503 __Pyx_INCREF(__pyx_v_path)( ((PyObject*)(__pyx_v_path))->ob_refcnt++);
41504 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_path)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_path
)
;
41505 __Pyx_GIVEREF(__pyx_v_path);
41506 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
41507 PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_3))->ob_item[2] = __pyx_v_cb);
41508 __Pyx_GIVEREF(__pyx_v_cb);
41509 __pyx_t_2 = 0;
41510 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2082; __pyx_clineno = __LINE__41510; goto __pyx_L1_error;}
41511 __Pyx_GOTREF(__pyx_t_2);
41512 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
41513 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_2) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2082; __pyx_clineno = __LINE__41513; goto __pyx_L1_error;}
41514 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_2);
41515 __pyx_t_2 = 0;
41516 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
41517 goto __pyx_L0;
41518 }
41519 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
41520 }
41521
41522 /* "xmmsapi.pyx":2091
41523 * cdef xmmsc_result_t *res
41524 *
41525 * i_path = create_native_value(path) # <<<<<<<<<<<<<<
41526 * res = xmmsc_sc_introspect_method(self.conn, dest, i_path)
41527 * xmmsv_unref(i_path)
41528 */
41529 __pyx_t_4 = __pyx_f_9xmmsvalue_create_native_value(__pyx_v_path); if (unlikely(__pyx_t_4 == NULL)__builtin_expect(!!(__pyx_t_4 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2091; __pyx_clineno = __LINE__41529; goto __pyx_L1_error;}
41530 __pyx_v_i_path = __pyx_t_4;
41531
41532 /* "xmmsapi.pyx":2092
41533 *
41534 * i_path = create_native_value(path)
41535 * res = xmmsc_sc_introspect_method(self.conn, dest, i_path) # <<<<<<<<<<<<<<
41536 * xmmsv_unref(i_path)
41537 * return self.create_result(cb, res)
41538 */
41539 __pyx_v_res = xmmsc_sc_introspect_method(__pyx_v_self->__pyx_base.conn, __pyx_v_dest, __pyx_v_i_path);
41540
41541 /* "xmmsapi.pyx":2093
41542 * i_path = create_native_value(path)
41543 * res = xmmsc_sc_introspect_method(self.conn, dest, i_path)
41544 * xmmsv_unref(i_path) # <<<<<<<<<<<<<<
41545 * return self.create_result(cb, res)
41546 *
41547 */
41548 xmmsv_unref(__pyx_v_i_path);
41549
41550 /* "xmmsapi.pyx":2094
41551 * res = xmmsc_sc_introspect_method(self.conn, dest, i_path)
41552 * xmmsv_unref(i_path)
41553 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
41554 *
41555 * cpdef XmmsResult sc_introspect_broadcast(self, int dest, path, cb = None):
41556 */
41557 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
41558 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2094; __pyx_clineno = __LINE__41558; goto __pyx_L1_error;}
41559 __Pyx_GOTREF(__pyx_t_1);
41560 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
41561 __pyx_t_1 = 0;
41562 goto __pyx_L0;
41563
41564 /* "xmmsapi.pyx":2082
41565 * return self.create_result(cb, res)
41566 *
41567 * cpdef XmmsResult sc_introspect_method(self, int dest, path, cb = None): # <<<<<<<<<<<<<<
41568 * """
41569 * Get informations about a method on a remote client
41570 */
41571
41572 /* function exit code */
41573 __pyx_L1_error:;
41574 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
41575 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
41576 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
41577 __Pyx_AddTraceback("xmmsapi.XmmsApi.sc_introspect_method", __pyx_clineno, __pyx_lineno, __pyx_filename);
41578 __pyx_r = 0;
41579 __pyx_L0:;
41580 __Pyx_XGIVEREF((PyObject *)__pyx_r);
41581 __Pyx_RefNannyFinishContext();
41582 return __pyx_r;
41583}
41584
41585/* Python wrapper */
41586static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_187sc_introspect_method(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
41587static char __pyx_doc_7xmmsapi_7XmmsApi_186sc_introspect_method[] = "XmmsApi.sc_introspect_method(self, int dest, path, cb=None) -> XmmsResult\n\n\t\tGet informations about a method on a remote client\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
41588static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_187sc_introspect_method(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
41589 int __pyx_v_dest;
41590 PyObject *__pyx_v_path = 0;
41591 PyObject *__pyx_v_cb = 0;
41592 int __pyx_lineno = 0;
41593 const char *__pyx_filename = NULL((void*)0);
41594 int __pyx_clineno = 0;
41595 PyObject *__pyx_r = 0;
41596 __Pyx_RefNannyDeclarations
41597 __Pyx_RefNannySetupContext("sc_introspect_method (wrapper)", 0);
41598 {
41599 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dest,&__pyx_n_s_path,&__pyx_n_s_cb,0};
41600 PyObject* values[3] = {0,0,0};
41601 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
41602 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
41603 Py_ssize_t kw_args;
41604 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
41605 switch (pos_args) {
41606 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
41607 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
41608 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
41609 case 0: break;
41610 default: goto __pyx_L5_argtuple_error;
41611 }
41612 kw_args = PyDict_Size(__pyx_kwds);
41613 switch (pos_args) {
41614 case 0:
41615 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest
)) != 0), 1)
) kw_args--;
41616 else goto __pyx_L5_argtuple_error;
41617 case 1:
41618 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path
)) != 0), 1)
) kw_args--;
41619 else {
41620 __Pyx_RaiseArgtupleInvalid("sc_introspect_method", 0, 2, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2082; __pyx_clineno = __LINE__41620; goto __pyx_L3_error;}
41621 }
41622 case 2:
41623 if (kw_args > 0) {
41624 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
41625 if (value) { values[2] = value; kw_args--; }
41626 }
41627 }
41628 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
41629 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "sc_introspect_method") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "sc_introspect_method") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2082; __pyx_clineno = __LINE__41629; goto __pyx_L3_error;}
41630 }
41631 } else {
41632 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
41633 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
41634 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
41635 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
41636 break;
41637 default: goto __pyx_L5_argtuple_error;
41638 }
41639 }
41640 __pyx_v_dest = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_dest == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_dest == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2082; __pyx_clineno = __LINE__41640; goto __pyx_L3_error;}
41641 __pyx_v_path = values[1];
41642 __pyx_v_cb = values[2];
41643 }
41644 goto __pyx_L4_argument_unpacking_done;
41645 __pyx_L5_argtuple_error:;
41646 __Pyx_RaiseArgtupleInvalid("sc_introspect_method", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2082; __pyx_clineno = __LINE__41646; goto __pyx_L3_error;}
41647 __pyx_L3_error:;
41648 __Pyx_AddTraceback("xmmsapi.XmmsApi.sc_introspect_method", __pyx_clineno, __pyx_lineno, __pyx_filename);
41649 __Pyx_RefNannyFinishContext();
41650 return NULL((void*)0);
41651 __pyx_L4_argument_unpacking_done:;
41652 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_186sc_introspect_method(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_dest, __pyx_v_path, __pyx_v_cb);
41653
41654 /* function exit code */
41655 __Pyx_RefNannyFinishContext();
41656 return __pyx_r;
41657}
41658
41659static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_186sc_introspect_method(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_dest, PyObject *__pyx_v_path, PyObject *__pyx_v_cb) {
41660 PyObject *__pyx_r = NULL((void*)0);
41661 __Pyx_RefNannyDeclarations
41662 PyObject *__pyx_t_1 = NULL((void*)0);
41663 struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_method __pyx_t_2;
41664 int __pyx_lineno = 0;
41665 const char *__pyx_filename = NULL((void*)0);
41666 int __pyx_clineno = 0;
41667 __Pyx_RefNannySetupContext("sc_introspect_method", 0);
41668 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
41669 __pyx_t_2.__pyx_n = 1;
41670 __pyx_t_2.cb = __pyx_v_cb;
41671 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->sc_introspect_method(__pyx_v_self, __pyx_v_dest, __pyx_v_path, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2082; __pyx_clineno = __LINE__41671; goto __pyx_L1_error;}
41672 __Pyx_GOTREF(__pyx_t_1);
41673 __pyx_r = __pyx_t_1;
41674 __pyx_t_1 = 0;
41675 goto __pyx_L0;
41676
41677 /* function exit code */
41678 __pyx_L1_error:;
41679 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
41680 __Pyx_AddTraceback("xmmsapi.XmmsApi.sc_introspect_method", __pyx_clineno, __pyx_lineno, __pyx_filename);
41681 __pyx_r = NULL((void*)0);
41682 __pyx_L0:;
41683 __Pyx_XGIVEREF(__pyx_r);
41684 __Pyx_RefNannyFinishContext();
41685 return __pyx_r;
41686}
41687
41688/* "xmmsapi.pyx":2096
41689 * return self.create_result(cb, res)
41690 *
41691 * cpdef XmmsResult sc_introspect_broadcast(self, int dest, path, cb = None): # <<<<<<<<<<<<<<
41692 * """
41693 * Get informations about a broadcast on a remote client
41694 */
41695
41696static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_189sc_introspect_broadcast(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
41697static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_sc_introspect_broadcast(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_dest, PyObject *__pyx_v_path, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_broadcast *__pyx_optional_args) {
41698 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
41699 xmmsv_t *__pyx_v_i_path;
41700 xmmsc_result_t *__pyx_v_res;
41701 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
41702 __Pyx_RefNannyDeclarations
41703 PyObject *__pyx_t_1 = NULL((void*)0);
41704 PyObject *__pyx_t_2 = NULL((void*)0);
41705 PyObject *__pyx_t_3 = NULL((void*)0);
41706 xmmsv_t *__pyx_t_4;
41707 int __pyx_lineno = 0;
41708 const char *__pyx_filename = NULL((void*)0);
41709 int __pyx_clineno = 0;
41710 __Pyx_RefNannySetupContext("sc_introspect_broadcast", 0);
41711 if (__pyx_optional_args) {
41712 if (__pyx_optional_args->__pyx_n > 0) {
41713 __pyx_v_cb = __pyx_optional_args->cb;
41714 }
41715 }
41716 /* Check if called by wrapper */
41717 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
41718 /* Check if overridden in Python */
41719 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
41720 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_sc_introspect_broadcast); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2096; __pyx_clineno = __LINE__41720; goto __pyx_L1_error;}
41721 __Pyx_GOTREF(__pyx_t_1);
41722 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_189sc_introspect_broadcast)) {
41723 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
41724 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_dest); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2096; __pyx_clineno = __LINE__41724; goto __pyx_L1_error;}
41725 __Pyx_GOTREF(__pyx_t_2);
41726 __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2096; __pyx_clineno = __LINE__41726; goto __pyx_L1_error;}
41727 __Pyx_GOTREF(__pyx_t_3);
41728 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
41729 __Pyx_GIVEREF(__pyx_t_2);
41730 __Pyx_INCREF(__pyx_v_path)( ((PyObject*)(__pyx_v_path))->ob_refcnt++);
41731 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_path)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_path
)
;
41732 __Pyx_GIVEREF(__pyx_v_path);
41733 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
41734 PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_3))->ob_item[2] = __pyx_v_cb);
41735 __Pyx_GIVEREF(__pyx_v_cb);
41736 __pyx_t_2 = 0;
41737 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2096; __pyx_clineno = __LINE__41737; goto __pyx_L1_error;}
41738 __Pyx_GOTREF(__pyx_t_2);
41739 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
41740 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_2) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2096; __pyx_clineno = __LINE__41740; goto __pyx_L1_error;}
41741 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_2);
41742 __pyx_t_2 = 0;
41743 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
41744 goto __pyx_L0;
41745 }
41746 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
41747 }
41748
41749 /* "xmmsapi.pyx":2105
41750 * cdef xmmsc_result_t *res
41751 *
41752 * i_path = create_native_value(path) # <<<<<<<<<<<<<<
41753 * res = xmmsc_sc_introspect_broadcast(self.conn, dest, i_path)
41754 * xmmsv_unref(i_path)
41755 */
41756 __pyx_t_4 = __pyx_f_9xmmsvalue_create_native_value(__pyx_v_path); if (unlikely(__pyx_t_4 == NULL)__builtin_expect(!!(__pyx_t_4 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2105; __pyx_clineno = __LINE__41756; goto __pyx_L1_error;}
41757 __pyx_v_i_path = __pyx_t_4;
41758
41759 /* "xmmsapi.pyx":2106
41760 *
41761 * i_path = create_native_value(path)
41762 * res = xmmsc_sc_introspect_broadcast(self.conn, dest, i_path) # <<<<<<<<<<<<<<
41763 * xmmsv_unref(i_path)
41764 * return self.create_result(cb, res)
41765 */
41766 __pyx_v_res = xmmsc_sc_introspect_broadcast(__pyx_v_self->__pyx_base.conn, __pyx_v_dest, __pyx_v_i_path);
41767
41768 /* "xmmsapi.pyx":2107
41769 * i_path = create_native_value(path)
41770 * res = xmmsc_sc_introspect_broadcast(self.conn, dest, i_path)
41771 * xmmsv_unref(i_path) # <<<<<<<<<<<<<<
41772 * return self.create_result(cb, res)
41773 *
41774 */
41775 xmmsv_unref(__pyx_v_i_path);
41776
41777 /* "xmmsapi.pyx":2108
41778 * res = xmmsc_sc_introspect_broadcast(self.conn, dest, i_path)
41779 * xmmsv_unref(i_path)
41780 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
41781 *
41782 * cpdef XmmsResult sc_introspect_constant(self, int dest, path, cb = None):
41783 */
41784 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
41785 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2108; __pyx_clineno = __LINE__41785; goto __pyx_L1_error;}
41786 __Pyx_GOTREF(__pyx_t_1);
41787 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
41788 __pyx_t_1 = 0;
41789 goto __pyx_L0;
41790
41791 /* "xmmsapi.pyx":2096
41792 * return self.create_result(cb, res)
41793 *
41794 * cpdef XmmsResult sc_introspect_broadcast(self, int dest, path, cb = None): # <<<<<<<<<<<<<<
41795 * """
41796 * Get informations about a broadcast on a remote client
41797 */
41798
41799 /* function exit code */
41800 __pyx_L1_error:;
41801 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
41802 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
41803 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
41804 __Pyx_AddTraceback("xmmsapi.XmmsApi.sc_introspect_broadcast", __pyx_clineno, __pyx_lineno, __pyx_filename);
41805 __pyx_r = 0;
41806 __pyx_L0:;
41807 __Pyx_XGIVEREF((PyObject *)__pyx_r);
41808 __Pyx_RefNannyFinishContext();
41809 return __pyx_r;
41810}
41811
41812/* Python wrapper */
41813static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_189sc_introspect_broadcast(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
41814static char __pyx_doc_7xmmsapi_7XmmsApi_188sc_introspect_broadcast[] = "XmmsApi.sc_introspect_broadcast(self, int dest, path, cb=None) -> XmmsResult\n\n\t\tGet informations about a broadcast on a remote client\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
41815static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_189sc_introspect_broadcast(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
41816 int __pyx_v_dest;
41817 PyObject *__pyx_v_path = 0;
41818 PyObject *__pyx_v_cb = 0;
41819 int __pyx_lineno = 0;
41820 const char *__pyx_filename = NULL((void*)0);
41821 int __pyx_clineno = 0;
41822 PyObject *__pyx_r = 0;
41823 __Pyx_RefNannyDeclarations
41824 __Pyx_RefNannySetupContext("sc_introspect_broadcast (wrapper)", 0);
41825 {
41826 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dest,&__pyx_n_s_path,&__pyx_n_s_cb,0};
41827 PyObject* values[3] = {0,0,0};
41828 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
41829 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
41830 Py_ssize_t kw_args;
41831 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
41832 switch (pos_args) {
41833 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
41834 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
41835 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
41836 case 0: break;
41837 default: goto __pyx_L5_argtuple_error;
41838 }
41839 kw_args = PyDict_Size(__pyx_kwds);
41840 switch (pos_args) {
41841 case 0:
41842 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest
)) != 0), 1)
) kw_args--;
41843 else goto __pyx_L5_argtuple_error;
41844 case 1:
41845 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path
)) != 0), 1)
) kw_args--;
41846 else {
41847 __Pyx_RaiseArgtupleInvalid("sc_introspect_broadcast", 0, 2, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2096; __pyx_clineno = __LINE__41847; goto __pyx_L3_error;}
41848 }
41849 case 2:
41850 if (kw_args > 0) {
41851 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
41852 if (value) { values[2] = value; kw_args--; }
41853 }
41854 }
41855 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
41856 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "sc_introspect_broadcast") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "sc_introspect_broadcast") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2096; __pyx_clineno = __LINE__41856; goto __pyx_L3_error;}
41857 }
41858 } else {
41859 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
41860 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
41861 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
41862 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
41863 break;
41864 default: goto __pyx_L5_argtuple_error;
41865 }
41866 }
41867 __pyx_v_dest = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_dest == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_dest == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2096; __pyx_clineno = __LINE__41867; goto __pyx_L3_error;}
41868 __pyx_v_path = values[1];
41869 __pyx_v_cb = values[2];
41870 }
41871 goto __pyx_L4_argument_unpacking_done;
41872 __pyx_L5_argtuple_error:;
41873 __Pyx_RaiseArgtupleInvalid("sc_introspect_broadcast", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2096; __pyx_clineno = __LINE__41873; goto __pyx_L3_error;}
41874 __pyx_L3_error:;
41875 __Pyx_AddTraceback("xmmsapi.XmmsApi.sc_introspect_broadcast", __pyx_clineno, __pyx_lineno, __pyx_filename);
41876 __Pyx_RefNannyFinishContext();
41877 return NULL((void*)0);
41878 __pyx_L4_argument_unpacking_done:;
41879 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_188sc_introspect_broadcast(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_dest, __pyx_v_path, __pyx_v_cb);
41880
41881 /* function exit code */
41882 __Pyx_RefNannyFinishContext();
41883 return __pyx_r;
41884}
41885
41886static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_188sc_introspect_broadcast(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_dest, PyObject *__pyx_v_path, PyObject *__pyx_v_cb) {
41887 PyObject *__pyx_r = NULL((void*)0);
41888 __Pyx_RefNannyDeclarations
41889 PyObject *__pyx_t_1 = NULL((void*)0);
41890 struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_broadcast __pyx_t_2;
41891 int __pyx_lineno = 0;
41892 const char *__pyx_filename = NULL((void*)0);
41893 int __pyx_clineno = 0;
41894 __Pyx_RefNannySetupContext("sc_introspect_broadcast", 0);
41895 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
41896 __pyx_t_2.__pyx_n = 1;
41897 __pyx_t_2.cb = __pyx_v_cb;
41898 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->sc_introspect_broadcast(__pyx_v_self, __pyx_v_dest, __pyx_v_path, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2096; __pyx_clineno = __LINE__41898; goto __pyx_L1_error;}
41899 __Pyx_GOTREF(__pyx_t_1);
41900 __pyx_r = __pyx_t_1;
41901 __pyx_t_1 = 0;
41902 goto __pyx_L0;
41903
41904 /* function exit code */
41905 __pyx_L1_error:;
41906 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
41907 __Pyx_AddTraceback("xmmsapi.XmmsApi.sc_introspect_broadcast", __pyx_clineno, __pyx_lineno, __pyx_filename);
41908 __pyx_r = NULL((void*)0);
41909 __pyx_L0:;
41910 __Pyx_XGIVEREF(__pyx_r);
41911 __Pyx_RefNannyFinishContext();
41912 return __pyx_r;
41913}
41914
41915/* "xmmsapi.pyx":2110
41916 * return self.create_result(cb, res)
41917 *
41918 * cpdef XmmsResult sc_introspect_constant(self, int dest, path, cb = None): # <<<<<<<<<<<<<<
41919 * """
41920 * Get informations about a constant on a remote client
41921 */
41922
41923static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_191sc_introspect_constant(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
41924static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_sc_introspect_constant(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_dest, PyObject *__pyx_v_path, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_constant *__pyx_optional_args) {
41925 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
41926 xmmsv_t *__pyx_v_i_path;
41927 xmmsc_result_t *__pyx_v_res;
41928 PyObject *__pyx_v_ns = NULL((void*)0);
41929 PyObject *__pyx_v_key = NULL((void*)0);
41930 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
41931 __Pyx_RefNannyDeclarations
41932 PyObject *__pyx_t_1 = NULL((void*)0);
41933 PyObject *__pyx_t_2 = NULL((void*)0);
41934 PyObject *__pyx_t_3 = NULL((void*)0);
41935 xmmsv_t *__pyx_t_4;
41936 char *__pyx_t_5;
41937 int __pyx_lineno = 0;
41938 const char *__pyx_filename = NULL((void*)0);
41939 int __pyx_clineno = 0;
41940 __Pyx_RefNannySetupContext("sc_introspect_constant", 0);
41941 if (__pyx_optional_args) {
41942 if (__pyx_optional_args->__pyx_n > 0) {
41943 __pyx_v_cb = __pyx_optional_args->cb;
41944 }
41945 }
41946 /* Check if called by wrapper */
41947 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
41948 /* Check if overridden in Python */
41949 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
41950 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_sc_introspect_constant); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2110; __pyx_clineno = __LINE__41950; goto __pyx_L1_error;}
41951 __Pyx_GOTREF(__pyx_t_1);
41952 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_191sc_introspect_constant)) {
41953 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
41954 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_dest); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2110; __pyx_clineno = __LINE__41954; goto __pyx_L1_error;}
41955 __Pyx_GOTREF(__pyx_t_2);
41956 __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2110; __pyx_clineno = __LINE__41956; goto __pyx_L1_error;}
41957 __Pyx_GOTREF(__pyx_t_3);
41958 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
41959 __Pyx_GIVEREF(__pyx_t_2);
41960 __Pyx_INCREF(__pyx_v_path)( ((PyObject*)(__pyx_v_path))->ob_refcnt++);
41961 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_path)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_path
)
;
41962 __Pyx_GIVEREF(__pyx_v_path);
41963 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
41964 PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_3))->ob_item[2] = __pyx_v_cb);
41965 __Pyx_GIVEREF(__pyx_v_cb);
41966 __pyx_t_2 = 0;
41967 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2110; __pyx_clineno = __LINE__41967; goto __pyx_L1_error;}
41968 __Pyx_GOTREF(__pyx_t_2);
41969 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
41970 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_2) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2110; __pyx_clineno = __LINE__41970; goto __pyx_L1_error;}
41971 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_2);
41972 __pyx_t_2 = 0;
41973 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
41974 goto __pyx_L0;
41975 }
41976 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
41977 }
41978
41979 /* "xmmsapi.pyx":2118
41980 * cdef xmmsv_t *i_path
41981 * cdef xmmsc_result_t *res
41982 * ns = path[:-1] # <<<<<<<<<<<<<<
41983 * key = from_unicode(path[-1])
41984 * i_path = create_native_value(ns)
41985 */
41986 __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_v_path, 0, -1, NULL((void*)0), NULL((void*)0), &__pyx_slice__46, 0, 1, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2118; __pyx_clineno = __LINE__41986; goto __pyx_L1_error;}
41987 __Pyx_GOTREF(__pyx_t_1);
41988 __pyx_v_ns = __pyx_t_1;
41989 __pyx_t_1 = 0;
41990
41991 /* "xmmsapi.pyx":2119
41992 * cdef xmmsc_result_t *res
41993 * ns = path[:-1]
41994 * key = from_unicode(path[-1]) # <<<<<<<<<<<<<<
41995 * i_path = create_native_value(ns)
41996 * res = xmmsc_sc_introspect_constant(self.conn, dest, i_path, <char *>key)
41997 */
41998 __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_path, -1, long, 1, __Pyx_PyInt_From_long, 0, 1, 1)(( (sizeof(long) < sizeof(Py_ssize_t)) || (sizeof(long) >
sizeof(Py_ssize_t) && __builtin_expect(!!(-1 < (long
)((Py_ssize_t)(((size_t)-1)>>1)) || -1 == (long)((Py_ssize_t
)(((size_t)-1)>>1))), 1) && (!1 || __builtin_expect
(!!(-1 > (long)(-((Py_ssize_t)(((size_t)-1)>>1))-1) ||
-1 == (long)(-((Py_ssize_t)(((size_t)-1)>>1))-1)), 1))
) || (sizeof(long) == sizeof(Py_ssize_t) && (1 || __builtin_expect
(!!(-1 < (long)((Py_ssize_t)(((size_t)-1)>>1)) || -1
== (long)((Py_ssize_t)(((size_t)-1)>>1))), 1))) ) ? __Pyx_GetItemInt_Fast
(__pyx_v_path, (Py_ssize_t)-1, 0, 1, 1) : (0 ? (PyErr_SetString
(PyExc_IndexError, "list index out of range"), (PyObject*)((void
*)0)) : __Pyx_GetItemInt_Generic(__pyx_v_path, __Pyx_PyInt_From_long
(-1))))
; if (unlikely(__pyx_t_1 == NULL)__builtin_expect(!!(__pyx_t_1 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2119; __pyx_clineno = __LINE__41998; goto __pyx_L1_error;};
41999 __Pyx_GOTREF(__pyx_t_1);
42000 __pyx_t_2 = __pyx_f_9xmmsutils_from_unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2119; __pyx_clineno = __LINE__42000; goto __pyx_L1_error;}
42001 __Pyx_GOTREF(__pyx_t_2);
42002 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
42003 __pyx_v_key = __pyx_t_2;
42004 __pyx_t_2 = 0;
42005
42006 /* "xmmsapi.pyx":2120
42007 * ns = path[:-1]
42008 * key = from_unicode(path[-1])
42009 * i_path = create_native_value(ns) # <<<<<<<<<<<<<<
42010 * res = xmmsc_sc_introspect_constant(self.conn, dest, i_path, <char *>key)
42011 * xmmsv_unref(i_path)
42012 */
42013 __pyx_t_4 = __pyx_f_9xmmsvalue_create_native_value(__pyx_v_ns); if (unlikely(__pyx_t_4 == NULL)__builtin_expect(!!(__pyx_t_4 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2120; __pyx_clineno = __LINE__42013; goto __pyx_L1_error;}
42014 __pyx_v_i_path = __pyx_t_4;
42015
42016 /* "xmmsapi.pyx":2121
42017 * key = from_unicode(path[-1])
42018 * i_path = create_native_value(ns)
42019 * res = xmmsc_sc_introspect_constant(self.conn, dest, i_path, <char *>key) # <<<<<<<<<<<<<<
42020 * xmmsv_unref(i_path)
42021 * return self.create_result(cb, res)
42022 */
42023 __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_key); if (unlikely((!__pyx_t_5) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_5) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2121; __pyx_clineno = __LINE__42023; goto __pyx_L1_error;}
42024 __pyx_v_res = xmmsc_sc_introspect_constant(__pyx_v_self->__pyx_base.conn, __pyx_v_dest, __pyx_v_i_path, ((char *)__pyx_t_5));
42025
42026 /* "xmmsapi.pyx":2122
42027 * i_path = create_native_value(ns)
42028 * res = xmmsc_sc_introspect_constant(self.conn, dest, i_path, <char *>key)
42029 * xmmsv_unref(i_path) # <<<<<<<<<<<<<<
42030 * return self.create_result(cb, res)
42031 *
42032 */
42033 xmmsv_unref(__pyx_v_i_path);
42034
42035 /* "xmmsapi.pyx":2123
42036 * res = xmmsc_sc_introspect_constant(self.conn, dest, i_path, <char *>key)
42037 * xmmsv_unref(i_path)
42038 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
42039 *
42040 * cpdef XmmsResult sc_introspect_docstring(self, int dest, path, cb = None):
42041 */
42042 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
42043 __pyx_t_2 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2123; __pyx_clineno = __LINE__42043; goto __pyx_L1_error;}
42044 __Pyx_GOTREF(__pyx_t_2);
42045 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_2);
42046 __pyx_t_2 = 0;
42047 goto __pyx_L0;
42048
42049 /* "xmmsapi.pyx":2110
42050 * return self.create_result(cb, res)
42051 *
42052 * cpdef XmmsResult sc_introspect_constant(self, int dest, path, cb = None): # <<<<<<<<<<<<<<
42053 * """
42054 * Get informations about a constant on a remote client
42055 */
42056
42057 /* function exit code */
42058 __pyx_L1_error:;
42059 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
42060 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
42061 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
42062 __Pyx_AddTraceback("xmmsapi.XmmsApi.sc_introspect_constant", __pyx_clineno, __pyx_lineno, __pyx_filename);
42063 __pyx_r = 0;
42064 __pyx_L0:;
42065 __Pyx_XDECREF(__pyx_v_ns)do { if ((__pyx_v_ns) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_ns))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_v_ns)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_ns)))); } while (0); } while (0)
;
42066 __Pyx_XDECREF(__pyx_v_key)do { if ((__pyx_v_key) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_key))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(__pyx_v_key)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_key)))); } while (0); } while (0)
;
42067 __Pyx_XGIVEREF((PyObject *)__pyx_r);
42068 __Pyx_RefNannyFinishContext();
42069 return __pyx_r;
42070}
42071
42072/* Python wrapper */
42073static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_191sc_introspect_constant(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
42074static char __pyx_doc_7xmmsapi_7XmmsApi_190sc_introspect_constant[] = "XmmsApi.sc_introspect_constant(self, int dest, path, cb=None) -> XmmsResult\n\n\t\tGet informations about a constant on a remote client\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
42075static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_191sc_introspect_constant(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
42076 int __pyx_v_dest;
42077 PyObject *__pyx_v_path = 0;
42078 PyObject *__pyx_v_cb = 0;
42079 int __pyx_lineno = 0;
42080 const char *__pyx_filename = NULL((void*)0);
42081 int __pyx_clineno = 0;
42082 PyObject *__pyx_r = 0;
42083 __Pyx_RefNannyDeclarations
42084 __Pyx_RefNannySetupContext("sc_introspect_constant (wrapper)", 0);
42085 {
42086 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dest,&__pyx_n_s_path,&__pyx_n_s_cb,0};
42087 PyObject* values[3] = {0,0,0};
42088 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
42089 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
42090 Py_ssize_t kw_args;
42091 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
42092 switch (pos_args) {
42093 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
42094 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
42095 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
42096 case 0: break;
42097 default: goto __pyx_L5_argtuple_error;
42098 }
42099 kw_args = PyDict_Size(__pyx_kwds);
42100 switch (pos_args) {
42101 case 0:
42102 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest
)) != 0), 1)
) kw_args--;
42103 else goto __pyx_L5_argtuple_error;
42104 case 1:
42105 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path
)) != 0), 1)
) kw_args--;
42106 else {
42107 __Pyx_RaiseArgtupleInvalid("sc_introspect_constant", 0, 2, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2110; __pyx_clineno = __LINE__42107; goto __pyx_L3_error;}
42108 }
42109 case 2:
42110 if (kw_args > 0) {
42111 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
42112 if (value) { values[2] = value; kw_args--; }
42113 }
42114 }
42115 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
42116 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "sc_introspect_constant") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "sc_introspect_constant") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2110; __pyx_clineno = __LINE__42116; goto __pyx_L3_error;}
42117 }
42118 } else {
42119 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
42120 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
42121 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
42122 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
42123 break;
42124 default: goto __pyx_L5_argtuple_error;
42125 }
42126 }
42127 __pyx_v_dest = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_dest == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_dest == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2110; __pyx_clineno = __LINE__42127; goto __pyx_L3_error;}
42128 __pyx_v_path = values[1];
42129 __pyx_v_cb = values[2];
42130 }
42131 goto __pyx_L4_argument_unpacking_done;
42132 __pyx_L5_argtuple_error:;
42133 __Pyx_RaiseArgtupleInvalid("sc_introspect_constant", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2110; __pyx_clineno = __LINE__42133; goto __pyx_L3_error;}
42134 __pyx_L3_error:;
42135 __Pyx_AddTraceback("xmmsapi.XmmsApi.sc_introspect_constant", __pyx_clineno, __pyx_lineno, __pyx_filename);
42136 __Pyx_RefNannyFinishContext();
42137 return NULL((void*)0);
42138 __pyx_L4_argument_unpacking_done:;
42139 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_190sc_introspect_constant(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_dest, __pyx_v_path, __pyx_v_cb);
42140
42141 /* function exit code */
42142 __Pyx_RefNannyFinishContext();
42143 return __pyx_r;
42144}
42145
42146static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_190sc_introspect_constant(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_dest, PyObject *__pyx_v_path, PyObject *__pyx_v_cb) {
42147 PyObject *__pyx_r = NULL((void*)0);
42148 __Pyx_RefNannyDeclarations
42149 PyObject *__pyx_t_1 = NULL((void*)0);
42150 struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_constant __pyx_t_2;
42151 int __pyx_lineno = 0;
42152 const char *__pyx_filename = NULL((void*)0);
42153 int __pyx_clineno = 0;
42154 __Pyx_RefNannySetupContext("sc_introspect_constant", 0);
42155 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
42156 __pyx_t_2.__pyx_n = 1;
42157 __pyx_t_2.cb = __pyx_v_cb;
42158 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->sc_introspect_constant(__pyx_v_self, __pyx_v_dest, __pyx_v_path, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2110; __pyx_clineno = __LINE__42158; goto __pyx_L1_error;}
42159 __Pyx_GOTREF(__pyx_t_1);
42160 __pyx_r = __pyx_t_1;
42161 __pyx_t_1 = 0;
42162 goto __pyx_L0;
42163
42164 /* function exit code */
42165 __pyx_L1_error:;
42166 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
42167 __Pyx_AddTraceback("xmmsapi.XmmsApi.sc_introspect_constant", __pyx_clineno, __pyx_lineno, __pyx_filename);
42168 __pyx_r = NULL((void*)0);
42169 __pyx_L0:;
42170 __Pyx_XGIVEREF(__pyx_r);
42171 __Pyx_RefNannyFinishContext();
42172 return __pyx_r;
42173}
42174
42175/* "xmmsapi.pyx":2125
42176 * return self.create_result(cb, res)
42177 *
42178 * cpdef XmmsResult sc_introspect_docstring(self, int dest, path, cb = None): # <<<<<<<<<<<<<<
42179 * """
42180 * Get the docstring for a given path on a remote client
42181 */
42182
42183static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_193sc_introspect_docstring(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
42184static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_sc_introspect_docstring(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_dest, PyObject *__pyx_v_path, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_docstring *__pyx_optional_args) {
42185 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
42186 xmmsv_t *__pyx_v_i_path;
42187 xmmsc_result_t *__pyx_v_res;
42188 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
42189 __Pyx_RefNannyDeclarations
42190 PyObject *__pyx_t_1 = NULL((void*)0);
42191 PyObject *__pyx_t_2 = NULL((void*)0);
42192 PyObject *__pyx_t_3 = NULL((void*)0);
42193 xmmsv_t *__pyx_t_4;
42194 int __pyx_lineno = 0;
42195 const char *__pyx_filename = NULL((void*)0);
42196 int __pyx_clineno = 0;
42197 __Pyx_RefNannySetupContext("sc_introspect_docstring", 0);
42198 if (__pyx_optional_args) {
42199 if (__pyx_optional_args->__pyx_n > 0) {
42200 __pyx_v_cb = __pyx_optional_args->cb;
42201 }
42202 }
42203 /* Check if called by wrapper */
42204 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
42205 /* Check if overridden in Python */
42206 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
42207 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_sc_introspect_docstring); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2125; __pyx_clineno = __LINE__42207; goto __pyx_L1_error;}
42208 __Pyx_GOTREF(__pyx_t_1);
42209 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_193sc_introspect_docstring)) {
42210 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
42211 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_dest); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2125; __pyx_clineno = __LINE__42211; goto __pyx_L1_error;}
42212 __Pyx_GOTREF(__pyx_t_2);
42213 __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2125; __pyx_clineno = __LINE__42213; goto __pyx_L1_error;}
42214 __Pyx_GOTREF(__pyx_t_3);
42215 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
42216 __Pyx_GIVEREF(__pyx_t_2);
42217 __Pyx_INCREF(__pyx_v_path)( ((PyObject*)(__pyx_v_path))->ob_refcnt++);
42218 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_path)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_path
)
;
42219 __Pyx_GIVEREF(__pyx_v_path);
42220 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
42221 PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_3))->ob_item[2] = __pyx_v_cb);
42222 __Pyx_GIVEREF(__pyx_v_cb);
42223 __pyx_t_2 = 0;
42224 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2125; __pyx_clineno = __LINE__42224; goto __pyx_L1_error;}
42225 __Pyx_GOTREF(__pyx_t_2);
42226 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
42227 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_2) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2125; __pyx_clineno = __LINE__42227; goto __pyx_L1_error;}
42228 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_2);
42229 __pyx_t_2 = 0;
42230 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
42231 goto __pyx_L0;
42232 }
42233 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
42234 }
42235
42236 /* "xmmsapi.pyx":2134
42237 * cdef xmmsc_result_t *res
42238 *
42239 * i_path = create_native_value(path) # <<<<<<<<<<<<<<
42240 * res = xmmsc_sc_introspect_docstring(self.conn, dest, i_path)
42241 * xmmsv_unref(i_path)
42242 */
42243 __pyx_t_4 = __pyx_f_9xmmsvalue_create_native_value(__pyx_v_path); if (unlikely(__pyx_t_4 == NULL)__builtin_expect(!!(__pyx_t_4 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2134; __pyx_clineno = __LINE__42243; goto __pyx_L1_error;}
42244 __pyx_v_i_path = __pyx_t_4;
42245
42246 /* "xmmsapi.pyx":2135
42247 *
42248 * i_path = create_native_value(path)
42249 * res = xmmsc_sc_introspect_docstring(self.conn, dest, i_path) # <<<<<<<<<<<<<<
42250 * xmmsv_unref(i_path)
42251 * return self.create_result(cb, res)
42252 */
42253 __pyx_v_res = xmmsc_sc_introspect_docstring(__pyx_v_self->__pyx_base.conn, __pyx_v_dest, __pyx_v_i_path);
42254
42255 /* "xmmsapi.pyx":2136
42256 * i_path = create_native_value(path)
42257 * res = xmmsc_sc_introspect_docstring(self.conn, dest, i_path)
42258 * xmmsv_unref(i_path) # <<<<<<<<<<<<<<
42259 * return self.create_result(cb, res)
42260 *
42261 */
42262 xmmsv_unref(__pyx_v_i_path);
42263
42264 /* "xmmsapi.pyx":2137
42265 * res = xmmsc_sc_introspect_docstring(self.conn, dest, i_path)
42266 * xmmsv_unref(i_path)
42267 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
42268 *
42269 * cpdef XmmsResult bindata_add(self, data, cb = None):
42270 */
42271 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
42272 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2137; __pyx_clineno = __LINE__42272; goto __pyx_L1_error;}
42273 __Pyx_GOTREF(__pyx_t_1);
42274 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
42275 __pyx_t_1 = 0;
42276 goto __pyx_L0;
42277
42278 /* "xmmsapi.pyx":2125
42279 * return self.create_result(cb, res)
42280 *
42281 * cpdef XmmsResult sc_introspect_docstring(self, int dest, path, cb = None): # <<<<<<<<<<<<<<
42282 * """
42283 * Get the docstring for a given path on a remote client
42284 */
42285
42286 /* function exit code */
42287 __pyx_L1_error:;
42288 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
42289 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
42290 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
42291 __Pyx_AddTraceback("xmmsapi.XmmsApi.sc_introspect_docstring", __pyx_clineno, __pyx_lineno, __pyx_filename);
42292 __pyx_r = 0;
42293 __pyx_L0:;
42294 __Pyx_XGIVEREF((PyObject *)__pyx_r);
42295 __Pyx_RefNannyFinishContext();
42296 return __pyx_r;
42297}
42298
42299/* Python wrapper */
42300static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_193sc_introspect_docstring(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
42301static char __pyx_doc_7xmmsapi_7XmmsApi_192sc_introspect_docstring[] = "XmmsApi.sc_introspect_docstring(self, int dest, path, cb=None) -> XmmsResult\n\n\t\tGet the docstring for a given path on a remote client\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
42302static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_193sc_introspect_docstring(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
42303 int __pyx_v_dest;
42304 PyObject *__pyx_v_path = 0;
42305 PyObject *__pyx_v_cb = 0;
42306 int __pyx_lineno = 0;
42307 const char *__pyx_filename = NULL((void*)0);
42308 int __pyx_clineno = 0;
42309 PyObject *__pyx_r = 0;
42310 __Pyx_RefNannyDeclarations
42311 __Pyx_RefNannySetupContext("sc_introspect_docstring (wrapper)", 0);
42312 {
42313 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dest,&__pyx_n_s_path,&__pyx_n_s_cb,0};
42314 PyObject* values[3] = {0,0,0};
42315 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
42316 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
42317 Py_ssize_t kw_args;
42318 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
42319 switch (pos_args) {
42320 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
42321 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
42322 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
42323 case 0: break;
42324 default: goto __pyx_L5_argtuple_error;
42325 }
42326 kw_args = PyDict_Size(__pyx_kwds);
42327 switch (pos_args) {
42328 case 0:
42329 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_dest
)) != 0), 1)
) kw_args--;
42330 else goto __pyx_L5_argtuple_error;
42331 case 1:
42332 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_path
)) != 0), 1)
) kw_args--;
42333 else {
42334 __Pyx_RaiseArgtupleInvalid("sc_introspect_docstring", 0, 2, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2125; __pyx_clineno = __LINE__42334; goto __pyx_L3_error;}
42335 }
42336 case 2:
42337 if (kw_args > 0) {
42338 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
42339 if (value) { values[2] = value; kw_args--; }
42340 }
42341 }
42342 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
42343 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "sc_introspect_docstring") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "sc_introspect_docstring") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2125; __pyx_clineno = __LINE__42343; goto __pyx_L3_error;}
42344 }
42345 } else {
42346 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
42347 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
42348 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
42349 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
42350 break;
42351 default: goto __pyx_L5_argtuple_error;
42352 }
42353 }
42354 __pyx_v_dest = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_dest == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_dest == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2125; __pyx_clineno = __LINE__42354; goto __pyx_L3_error;}
42355 __pyx_v_path = values[1];
42356 __pyx_v_cb = values[2];
42357 }
42358 goto __pyx_L4_argument_unpacking_done;
42359 __pyx_L5_argtuple_error:;
42360 __Pyx_RaiseArgtupleInvalid("sc_introspect_docstring", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2125; __pyx_clineno = __LINE__42360; goto __pyx_L3_error;}
42361 __pyx_L3_error:;
42362 __Pyx_AddTraceback("xmmsapi.XmmsApi.sc_introspect_docstring", __pyx_clineno, __pyx_lineno, __pyx_filename);
42363 __Pyx_RefNannyFinishContext();
42364 return NULL((void*)0);
42365 __pyx_L4_argument_unpacking_done:;
42366 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_192sc_introspect_docstring(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_dest, __pyx_v_path, __pyx_v_cb);
42367
42368 /* function exit code */
42369 __Pyx_RefNannyFinishContext();
42370 return __pyx_r;
42371}
42372
42373static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_192sc_introspect_docstring(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_dest, PyObject *__pyx_v_path, PyObject *__pyx_v_cb) {
42374 PyObject *__pyx_r = NULL((void*)0);
42375 __Pyx_RefNannyDeclarations
42376 PyObject *__pyx_t_1 = NULL((void*)0);
42377 struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_docstring __pyx_t_2;
42378 int __pyx_lineno = 0;
42379 const char *__pyx_filename = NULL((void*)0);
42380 int __pyx_clineno = 0;
42381 __Pyx_RefNannySetupContext("sc_introspect_docstring", 0);
42382 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
42383 __pyx_t_2.__pyx_n = 1;
42384 __pyx_t_2.cb = __pyx_v_cb;
42385 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->sc_introspect_docstring(__pyx_v_self, __pyx_v_dest, __pyx_v_path, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2125; __pyx_clineno = __LINE__42385; goto __pyx_L1_error;}
42386 __Pyx_GOTREF(__pyx_t_1);
42387 __pyx_r = __pyx_t_1;
42388 __pyx_t_1 = 0;
42389 goto __pyx_L0;
42390
42391 /* function exit code */
42392 __pyx_L1_error:;
42393 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
42394 __Pyx_AddTraceback("xmmsapi.XmmsApi.sc_introspect_docstring", __pyx_clineno, __pyx_lineno, __pyx_filename);
42395 __pyx_r = NULL((void*)0);
42396 __pyx_L0:;
42397 __Pyx_XGIVEREF(__pyx_r);
42398 __Pyx_RefNannyFinishContext();
42399 return __pyx_r;
42400}
42401
42402/* "xmmsapi.pyx":2139
42403 * return self.create_result(cb, res)
42404 *
42405 * cpdef XmmsResult bindata_add(self, data, cb = None): # <<<<<<<<<<<<<<
42406 * """
42407 * Add a datafile to the server
42408 */
42409
42410static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_195bindata_add(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
42411static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_bindata_add(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_data, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_bindata_add *__pyx_optional_args) {
42412 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
42413 char *__pyx_v_t;
42414 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
42415 __Pyx_RefNannyDeclarations
42416 PyObject *__pyx_t_1 = NULL((void*)0);
42417 PyObject *__pyx_t_2 = NULL((void*)0);
42418 PyObject *__pyx_t_3 = NULL((void*)0);
42419 char *__pyx_t_4;
42420 Py_ssize_t __pyx_t_5;
42421 int __pyx_lineno = 0;
42422 const char *__pyx_filename = NULL((void*)0);
42423 int __pyx_clineno = 0;
42424 __Pyx_RefNannySetupContext("bindata_add", 0);
42425 if (__pyx_optional_args) {
42426 if (__pyx_optional_args->__pyx_n > 0) {
42427 __pyx_v_cb = __pyx_optional_args->cb;
42428 }
42429 }
42430 /* Check if called by wrapper */
42431 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
42432 /* Check if overridden in Python */
42433 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
42434 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_bindata_add); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2139; __pyx_clineno = __LINE__42434; goto __pyx_L1_error;}
42435 __Pyx_GOTREF(__pyx_t_1);
42436 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_195bindata_add)) {
42437 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
42438 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2139; __pyx_clineno = __LINE__42438; goto __pyx_L1_error;}
42439 __Pyx_GOTREF(__pyx_t_2);
42440 __Pyx_INCREF(__pyx_v_data)( ((PyObject*)(__pyx_v_data))->ob_refcnt++);
42441 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_data)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_data
)
;
42442 __Pyx_GIVEREF(__pyx_v_data);
42443 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
42444 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_cb);
42445 __Pyx_GIVEREF(__pyx_v_cb);
42446 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2139; __pyx_clineno = __LINE__42446; goto __pyx_L1_error;}
42447 __Pyx_GOTREF(__pyx_t_3);
42448 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
42449 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2139; __pyx_clineno = __LINE__42449; goto __pyx_L1_error;}
42450 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
42451 __pyx_t_3 = 0;
42452 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
42453 goto __pyx_L0;
42454 }
42455 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
42456 }
42457
42458 /* "xmmsapi.pyx":2146
42459 * """
42460 * cdef char *t
42461 * t = <char *>data # <<<<<<<<<<<<<<
42462 * return self.create_result(cb, xmmsc_bindata_add(self.conn,<unsigned char *>t,len(data)))
42463 *
42464 */
42465 __pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_data); if (unlikely((!__pyx_t_4) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_4) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2146; __pyx_clineno = __LINE__42465; goto __pyx_L1_error;}
42466 __pyx_v_t = ((char *)__pyx_t_4);
42467
42468 /* "xmmsapi.pyx":2147
42469 * cdef char *t
42470 * t = <char *>data
42471 * return self.create_result(cb, xmmsc_bindata_add(self.conn,<unsigned char *>t,len(data))) # <<<<<<<<<<<<<<
42472 *
42473 * cpdef XmmsResult bindata_retrieve(self, hash, cb = None):
42474 */
42475 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
42476 __pyx_t_5 = PyObject_LengthPyObject_Size(__pyx_v_data); if (unlikely(__pyx_t_5 == -1)__builtin_expect(!!(__pyx_t_5 == -1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2147; __pyx_clineno = __LINE__42476; goto __pyx_L1_error;}
42477 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_bindata_add(__pyx_v_self->__pyx_base.conn, ((unsigned char *)__pyx_v_t), __pyx_t_5))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2147; __pyx_clineno = __LINE__42477; goto __pyx_L1_error;}
42478 __Pyx_GOTREF(__pyx_t_1);
42479 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
42480 __pyx_t_1 = 0;
42481 goto __pyx_L0;
42482
42483 /* "xmmsapi.pyx":2139
42484 * return self.create_result(cb, res)
42485 *
42486 * cpdef XmmsResult bindata_add(self, data, cb = None): # <<<<<<<<<<<<<<
42487 * """
42488 * Add a datafile to the server
42489 */
42490
42491 /* function exit code */
42492 __pyx_L1_error:;
42493 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
42494 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
42495 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
42496 __Pyx_AddTraceback("xmmsapi.XmmsApi.bindata_add", __pyx_clineno, __pyx_lineno, __pyx_filename);
42497 __pyx_r = 0;
42498 __pyx_L0:;
42499 __Pyx_XGIVEREF((PyObject *)__pyx_r);
42500 __Pyx_RefNannyFinishContext();
42501 return __pyx_r;
42502}
42503
42504/* Python wrapper */
42505static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_195bindata_add(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
42506static char __pyx_doc_7xmmsapi_7XmmsApi_194bindata_add[] = "XmmsApi.bindata_add(self, data, cb=None) -> XmmsResult\n\n\t\tAdd a datafile to the server\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
42507static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_195bindata_add(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
42508 PyObject *__pyx_v_data = 0;
42509 PyObject *__pyx_v_cb = 0;
42510 int __pyx_lineno = 0;
42511 const char *__pyx_filename = NULL((void*)0);
42512 int __pyx_clineno = 0;
42513 PyObject *__pyx_r = 0;
42514 __Pyx_RefNannyDeclarations
42515 __Pyx_RefNannySetupContext("bindata_add (wrapper)", 0);
42516 {
42517 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_data,&__pyx_n_s_cb,0};
42518 PyObject* values[2] = {0,0};
42519 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
42520 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
42521 Py_ssize_t kw_args;
42522 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
42523 switch (pos_args) {
42524 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
42525 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
42526 case 0: break;
42527 default: goto __pyx_L5_argtuple_error;
42528 }
42529 kw_args = PyDict_Size(__pyx_kwds);
42530 switch (pos_args) {
42531 case 0:
42532 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_data)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_data
)) != 0), 1)
) kw_args--;
42533 else goto __pyx_L5_argtuple_error;
42534 case 1:
42535 if (kw_args > 0) {
42536 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
42537 if (value) { values[1] = value; kw_args--; }
42538 }
42539 }
42540 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
42541 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bindata_add") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "bindata_add") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2139; __pyx_clineno = __LINE__42541; goto __pyx_L3_error;}
42542 }
42543 } else {
42544 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
42545 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
42546 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
42547 break;
42548 default: goto __pyx_L5_argtuple_error;
42549 }
42550 }
42551 __pyx_v_data = values[0];
42552 __pyx_v_cb = values[1];
42553 }
42554 goto __pyx_L4_argument_unpacking_done;
42555 __pyx_L5_argtuple_error:;
42556 __Pyx_RaiseArgtupleInvalid("bindata_add", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2139; __pyx_clineno = __LINE__42556; goto __pyx_L3_error;}
42557 __pyx_L3_error:;
42558 __Pyx_AddTraceback("xmmsapi.XmmsApi.bindata_add", __pyx_clineno, __pyx_lineno, __pyx_filename);
42559 __Pyx_RefNannyFinishContext();
42560 return NULL((void*)0);
42561 __pyx_L4_argument_unpacking_done:;
42562 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_194bindata_add(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_data, __pyx_v_cb);
42563
42564 /* function exit code */
42565 __Pyx_RefNannyFinishContext();
42566 return __pyx_r;
42567}
42568
42569static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_194bindata_add(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_data, PyObject *__pyx_v_cb) {
42570 PyObject *__pyx_r = NULL((void*)0);
42571 __Pyx_RefNannyDeclarations
42572 PyObject *__pyx_t_1 = NULL((void*)0);
42573 struct __pyx_opt_args_7xmmsapi_7XmmsApi_bindata_add __pyx_t_2;
42574 int __pyx_lineno = 0;
42575 const char *__pyx_filename = NULL((void*)0);
42576 int __pyx_clineno = 0;
42577 __Pyx_RefNannySetupContext("bindata_add", 0);
42578 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
42579 __pyx_t_2.__pyx_n = 1;
42580 __pyx_t_2.cb = __pyx_v_cb;
42581 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->bindata_add(__pyx_v_self, __pyx_v_data, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2139; __pyx_clineno = __LINE__42581; goto __pyx_L1_error;}
42582 __Pyx_GOTREF(__pyx_t_1);
42583 __pyx_r = __pyx_t_1;
42584 __pyx_t_1 = 0;
42585 goto __pyx_L0;
42586
42587 /* function exit code */
42588 __pyx_L1_error:;
42589 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
42590 __Pyx_AddTraceback("xmmsapi.XmmsApi.bindata_add", __pyx_clineno, __pyx_lineno, __pyx_filename);
42591 __pyx_r = NULL((void*)0);
42592 __pyx_L0:;
42593 __Pyx_XGIVEREF(__pyx_r);
42594 __Pyx_RefNannyFinishContext();
42595 return __pyx_r;
42596}
42597
42598/* "xmmsapi.pyx":2149
42599 * return self.create_result(cb, xmmsc_bindata_add(self.conn,<unsigned char *>t,len(data)))
42600 *
42601 * cpdef XmmsResult bindata_retrieve(self, hash, cb = None): # <<<<<<<<<<<<<<
42602 * """
42603 * Retrieve a datafile from the server
42604 */
42605
42606static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_197bindata_retrieve(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
42607static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_bindata_retrieve(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_hash, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_bindata_retrieve *__pyx_optional_args) {
42608 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
42609 PyObject *__pyx_v_h = NULL((void*)0);
42610 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
42611 __Pyx_RefNannyDeclarations
42612 PyObject *__pyx_t_1 = NULL((void*)0);
42613 PyObject *__pyx_t_2 = NULL((void*)0);
42614 PyObject *__pyx_t_3 = NULL((void*)0);
42615 char *__pyx_t_4;
42616 int __pyx_lineno = 0;
42617 const char *__pyx_filename = NULL((void*)0);
42618 int __pyx_clineno = 0;
42619 __Pyx_RefNannySetupContext("bindata_retrieve", 0);
42620 if (__pyx_optional_args) {
42621 if (__pyx_optional_args->__pyx_n > 0) {
42622 __pyx_v_cb = __pyx_optional_args->cb;
42623 }
42624 }
42625 /* Check if called by wrapper */
42626 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
42627 /* Check if overridden in Python */
42628 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
42629 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_bindata_retrieve); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2149; __pyx_clineno = __LINE__42629; goto __pyx_L1_error;}
42630 __Pyx_GOTREF(__pyx_t_1);
42631 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_197bindata_retrieve)) {
42632 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
42633 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2149; __pyx_clineno = __LINE__42633; goto __pyx_L1_error;}
42634 __Pyx_GOTREF(__pyx_t_2);
42635 __Pyx_INCREF(__pyx_v_hash)( ((PyObject*)(__pyx_v_hash))->ob_refcnt++);
42636 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_hash)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_hash
)
;
42637 __Pyx_GIVEREF(__pyx_v_hash);
42638 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
42639 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_cb);
42640 __Pyx_GIVEREF(__pyx_v_cb);
42641 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2149; __pyx_clineno = __LINE__42641; goto __pyx_L1_error;}
42642 __Pyx_GOTREF(__pyx_t_3);
42643 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
42644 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2149; __pyx_clineno = __LINE__42644; goto __pyx_L1_error;}
42645 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
42646 __pyx_t_3 = 0;
42647 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
42648 goto __pyx_L0;
42649 }
42650 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
42651 }
42652
42653 /* "xmmsapi.pyx":2155
42654 * @return: The result of the operation.
42655 * """
42656 * h = from_unicode(hash) # <<<<<<<<<<<<<<
42657 * return self.create_result(cb, xmmsc_bindata_retrieve(self.conn, <char *>h))
42658 *
42659 */
42660 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_hash); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2155; __pyx_clineno = __LINE__42660; goto __pyx_L1_error;}
42661 __Pyx_GOTREF(__pyx_t_1);
42662 __pyx_v_h = __pyx_t_1;
42663 __pyx_t_1 = 0;
42664
42665 /* "xmmsapi.pyx":2156
42666 * """
42667 * h = from_unicode(hash)
42668 * return self.create_result(cb, xmmsc_bindata_retrieve(self.conn, <char *>h)) # <<<<<<<<<<<<<<
42669 *
42670 * cpdef XmmsResult bindata_remove(self, hash, cb = None):
42671 */
42672 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
42673 __pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_h); if (unlikely((!__pyx_t_4) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_4) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2156; __pyx_clineno = __LINE__42673; goto __pyx_L1_error;}
42674 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_bindata_retrieve(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_4)))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2156; __pyx_clineno = __LINE__42674; goto __pyx_L1_error;}
42675 __Pyx_GOTREF(__pyx_t_1);
42676 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
42677 __pyx_t_1 = 0;
42678 goto __pyx_L0;
42679
42680 /* "xmmsapi.pyx":2149
42681 * return self.create_result(cb, xmmsc_bindata_add(self.conn,<unsigned char *>t,len(data)))
42682 *
42683 * cpdef XmmsResult bindata_retrieve(self, hash, cb = None): # <<<<<<<<<<<<<<
42684 * """
42685 * Retrieve a datafile from the server
42686 */
42687
42688 /* function exit code */
42689 __pyx_L1_error:;
42690 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
42691 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
42692 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
42693 __Pyx_AddTraceback("xmmsapi.XmmsApi.bindata_retrieve", __pyx_clineno, __pyx_lineno, __pyx_filename);
42694 __pyx_r = 0;
42695 __pyx_L0:;
42696 __Pyx_XDECREF(__pyx_v_h)do { if ((__pyx_v_h) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_h))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_h)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_h)))); } while (0); } while (0)
;
42697 __Pyx_XGIVEREF((PyObject *)__pyx_r);
42698 __Pyx_RefNannyFinishContext();
42699 return __pyx_r;
42700}
42701
42702/* Python wrapper */
42703static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_197bindata_retrieve(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
42704static char __pyx_doc_7xmmsapi_7XmmsApi_196bindata_retrieve[] = "XmmsApi.bindata_retrieve(self, hash, cb=None) -> XmmsResult\n\n\t\tRetrieve a datafile from the server\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
42705static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_197bindata_retrieve(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
42706 PyObject *__pyx_v_hash = 0;
42707 PyObject *__pyx_v_cb = 0;
42708 int __pyx_lineno = 0;
42709 const char *__pyx_filename = NULL((void*)0);
42710 int __pyx_clineno = 0;
42711 PyObject *__pyx_r = 0;
42712 __Pyx_RefNannyDeclarations
42713 __Pyx_RefNannySetupContext("bindata_retrieve (wrapper)", 0);
42714 {
42715 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hash,&__pyx_n_s_cb,0};
42716 PyObject* values[2] = {0,0};
42717 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
42718 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
42719 Py_ssize_t kw_args;
42720 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
42721 switch (pos_args) {
42722 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
42723 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
42724 case 0: break;
42725 default: goto __pyx_L5_argtuple_error;
42726 }
42727 kw_args = PyDict_Size(__pyx_kwds);
42728 switch (pos_args) {
42729 case 0:
42730 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_hash)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_hash
)) != 0), 1)
) kw_args--;
42731 else goto __pyx_L5_argtuple_error;
42732 case 1:
42733 if (kw_args > 0) {
42734 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
42735 if (value) { values[1] = value; kw_args--; }
42736 }
42737 }
42738 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
42739 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bindata_retrieve") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "bindata_retrieve") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2149; __pyx_clineno = __LINE__42739; goto __pyx_L3_error;}
42740 }
42741 } else {
42742 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
42743 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
42744 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
42745 break;
42746 default: goto __pyx_L5_argtuple_error;
42747 }
42748 }
42749 __pyx_v_hash = values[0];
42750 __pyx_v_cb = values[1];
42751 }
42752 goto __pyx_L4_argument_unpacking_done;
42753 __pyx_L5_argtuple_error:;
42754 __Pyx_RaiseArgtupleInvalid("bindata_retrieve", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2149; __pyx_clineno = __LINE__42754; goto __pyx_L3_error;}
42755 __pyx_L3_error:;
42756 __Pyx_AddTraceback("xmmsapi.XmmsApi.bindata_retrieve", __pyx_clineno, __pyx_lineno, __pyx_filename);
42757 __Pyx_RefNannyFinishContext();
42758 return NULL((void*)0);
42759 __pyx_L4_argument_unpacking_done:;
42760 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_196bindata_retrieve(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_hash, __pyx_v_cb);
42761
42762 /* function exit code */
42763 __Pyx_RefNannyFinishContext();
42764 return __pyx_r;
42765}
42766
42767static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_196bindata_retrieve(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_hash, PyObject *__pyx_v_cb) {
42768 PyObject *__pyx_r = NULL((void*)0);
42769 __Pyx_RefNannyDeclarations
42770 PyObject *__pyx_t_1 = NULL((void*)0);
42771 struct __pyx_opt_args_7xmmsapi_7XmmsApi_bindata_retrieve __pyx_t_2;
42772 int __pyx_lineno = 0;
42773 const char *__pyx_filename = NULL((void*)0);
42774 int __pyx_clineno = 0;
42775 __Pyx_RefNannySetupContext("bindata_retrieve", 0);
42776 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
42777 __pyx_t_2.__pyx_n = 1;
42778 __pyx_t_2.cb = __pyx_v_cb;
42779 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->bindata_retrieve(__pyx_v_self, __pyx_v_hash, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2149; __pyx_clineno = __LINE__42779; goto __pyx_L1_error;}
42780 __Pyx_GOTREF(__pyx_t_1);
42781 __pyx_r = __pyx_t_1;
42782 __pyx_t_1 = 0;
42783 goto __pyx_L0;
42784
42785 /* function exit code */
42786 __pyx_L1_error:;
42787 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
42788 __Pyx_AddTraceback("xmmsapi.XmmsApi.bindata_retrieve", __pyx_clineno, __pyx_lineno, __pyx_filename);
42789 __pyx_r = NULL((void*)0);
42790 __pyx_L0:;
42791 __Pyx_XGIVEREF(__pyx_r);
42792 __Pyx_RefNannyFinishContext();
42793 return __pyx_r;
42794}
42795
42796/* "xmmsapi.pyx":2158
42797 * return self.create_result(cb, xmmsc_bindata_retrieve(self.conn, <char *>h))
42798 *
42799 * cpdef XmmsResult bindata_remove(self, hash, cb = None): # <<<<<<<<<<<<<<
42800 * """
42801 * Remove a datafile from the server
42802 */
42803
42804static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_199bindata_remove(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
42805static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_bindata_remove(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_hash, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_bindata_remove *__pyx_optional_args) {
42806 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
42807 PyObject *__pyx_v_h = NULL((void*)0);
42808 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
42809 __Pyx_RefNannyDeclarations
42810 PyObject *__pyx_t_1 = NULL((void*)0);
42811 PyObject *__pyx_t_2 = NULL((void*)0);
42812 PyObject *__pyx_t_3 = NULL((void*)0);
42813 char *__pyx_t_4;
42814 int __pyx_lineno = 0;
42815 const char *__pyx_filename = NULL((void*)0);
42816 int __pyx_clineno = 0;
42817 __Pyx_RefNannySetupContext("bindata_remove", 0);
42818 if (__pyx_optional_args) {
42819 if (__pyx_optional_args->__pyx_n > 0) {
42820 __pyx_v_cb = __pyx_optional_args->cb;
42821 }
42822 }
42823 /* Check if called by wrapper */
42824 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
42825 /* Check if overridden in Python */
42826 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
42827 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_bindata_remove); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2158; __pyx_clineno = __LINE__42827; goto __pyx_L1_error;}
42828 __Pyx_GOTREF(__pyx_t_1);
42829 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_199bindata_remove)) {
42830 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
42831 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2158; __pyx_clineno = __LINE__42831; goto __pyx_L1_error;}
42832 __Pyx_GOTREF(__pyx_t_2);
42833 __Pyx_INCREF(__pyx_v_hash)( ((PyObject*)(__pyx_v_hash))->ob_refcnt++);
42834 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_hash)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_hash
)
;
42835 __Pyx_GIVEREF(__pyx_v_hash);
42836 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
42837 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_v_cb);
42838 __Pyx_GIVEREF(__pyx_v_cb);
42839 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2158; __pyx_clineno = __LINE__42839; goto __pyx_L1_error;}
42840 __Pyx_GOTREF(__pyx_t_3);
42841 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
42842 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2158; __pyx_clineno = __LINE__42842; goto __pyx_L1_error;}
42843 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
42844 __pyx_t_3 = 0;
42845 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
42846 goto __pyx_L0;
42847 }
42848 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
42849 }
42850
42851 /* "xmmsapi.pyx":2164
42852 * @return: The result of the operation.
42853 * """
42854 * h = from_unicode(hash) # <<<<<<<<<<<<<<
42855 * return self.create_result(cb, xmmsc_bindata_remove(self.conn, <char *>h))
42856 *
42857 */
42858 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_hash); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2164; __pyx_clineno = __LINE__42858; goto __pyx_L1_error;}
42859 __Pyx_GOTREF(__pyx_t_1);
42860 __pyx_v_h = __pyx_t_1;
42861 __pyx_t_1 = 0;
42862
42863 /* "xmmsapi.pyx":2165
42864 * """
42865 * h = from_unicode(hash)
42866 * return self.create_result(cb, xmmsc_bindata_remove(self.conn, <char *>h)) # <<<<<<<<<<<<<<
42867 *
42868 * cpdef XmmsResult bindata_list(self, cb = None):
42869 */
42870 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
42871 __pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_h); if (unlikely((!__pyx_t_4) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_4) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2165; __pyx_clineno = __LINE__42871; goto __pyx_L1_error;}
42872 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_bindata_remove(__pyx_v_self->__pyx_base.conn, ((char *)__pyx_t_4)))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2165; __pyx_clineno = __LINE__42872; goto __pyx_L1_error;}
42873 __Pyx_GOTREF(__pyx_t_1);
42874 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
42875 __pyx_t_1 = 0;
42876 goto __pyx_L0;
42877
42878 /* "xmmsapi.pyx":2158
42879 * return self.create_result(cb, xmmsc_bindata_retrieve(self.conn, <char *>h))
42880 *
42881 * cpdef XmmsResult bindata_remove(self, hash, cb = None): # <<<<<<<<<<<<<<
42882 * """
42883 * Remove a datafile from the server
42884 */
42885
42886 /* function exit code */
42887 __pyx_L1_error:;
42888 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
42889 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
42890 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
42891 __Pyx_AddTraceback("xmmsapi.XmmsApi.bindata_remove", __pyx_clineno, __pyx_lineno, __pyx_filename);
42892 __pyx_r = 0;
42893 __pyx_L0:;
42894 __Pyx_XDECREF(__pyx_v_h)do { if ((__pyx_v_h) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_h))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_h)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_h)))); } while (0); } while (0)
;
42895 __Pyx_XGIVEREF((PyObject *)__pyx_r);
42896 __Pyx_RefNannyFinishContext();
42897 return __pyx_r;
42898}
42899
42900/* Python wrapper */
42901static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_199bindata_remove(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
42902static char __pyx_doc_7xmmsapi_7XmmsApi_198bindata_remove[] = "XmmsApi.bindata_remove(self, hash, cb=None) -> XmmsResult\n\n\t\tRemove a datafile from the server\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
42903static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_199bindata_remove(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
42904 PyObject *__pyx_v_hash = 0;
42905 PyObject *__pyx_v_cb = 0;
42906 int __pyx_lineno = 0;
42907 const char *__pyx_filename = NULL((void*)0);
42908 int __pyx_clineno = 0;
42909 PyObject *__pyx_r = 0;
42910 __Pyx_RefNannyDeclarations
42911 __Pyx_RefNannySetupContext("bindata_remove (wrapper)", 0);
42912 {
42913 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hash,&__pyx_n_s_cb,0};
42914 PyObject* values[2] = {0,0};
42915 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
42916 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
42917 Py_ssize_t kw_args;
42918 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
42919 switch (pos_args) {
42920 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
42921 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
42922 case 0: break;
42923 default: goto __pyx_L5_argtuple_error;
42924 }
42925 kw_args = PyDict_Size(__pyx_kwds);
42926 switch (pos_args) {
42927 case 0:
42928 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_hash)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_hash
)) != 0), 1)
) kw_args--;
42929 else goto __pyx_L5_argtuple_error;
42930 case 1:
42931 if (kw_args > 0) {
42932 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
42933 if (value) { values[1] = value; kw_args--; }
42934 }
42935 }
42936 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
42937 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bindata_remove") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "bindata_remove") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2158; __pyx_clineno = __LINE__42937; goto __pyx_L3_error;}
42938 }
42939 } else {
42940 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
42941 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
42942 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
42943 break;
42944 default: goto __pyx_L5_argtuple_error;
42945 }
42946 }
42947 __pyx_v_hash = values[0];
42948 __pyx_v_cb = values[1];
42949 }
42950 goto __pyx_L4_argument_unpacking_done;
42951 __pyx_L5_argtuple_error:;
42952 __Pyx_RaiseArgtupleInvalid("bindata_remove", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2158; __pyx_clineno = __LINE__42952; goto __pyx_L3_error;}
42953 __pyx_L3_error:;
42954 __Pyx_AddTraceback("xmmsapi.XmmsApi.bindata_remove", __pyx_clineno, __pyx_lineno, __pyx_filename);
42955 __Pyx_RefNannyFinishContext();
42956 return NULL((void*)0);
42957 __pyx_L4_argument_unpacking_done:;
42958 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_198bindata_remove(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_hash, __pyx_v_cb);
42959
42960 /* function exit code */
42961 __Pyx_RefNannyFinishContext();
42962 return __pyx_r;
42963}
42964
42965static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_198bindata_remove(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_hash, PyObject *__pyx_v_cb) {
42966 PyObject *__pyx_r = NULL((void*)0);
42967 __Pyx_RefNannyDeclarations
42968 PyObject *__pyx_t_1 = NULL((void*)0);
42969 struct __pyx_opt_args_7xmmsapi_7XmmsApi_bindata_remove __pyx_t_2;
42970 int __pyx_lineno = 0;
42971 const char *__pyx_filename = NULL((void*)0);
42972 int __pyx_clineno = 0;
42973 __Pyx_RefNannySetupContext("bindata_remove", 0);
42974 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
42975 __pyx_t_2.__pyx_n = 1;
42976 __pyx_t_2.cb = __pyx_v_cb;
42977 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->bindata_remove(__pyx_v_self, __pyx_v_hash, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2158; __pyx_clineno = __LINE__42977; goto __pyx_L1_error;}
42978 __Pyx_GOTREF(__pyx_t_1);
42979 __pyx_r = __pyx_t_1;
42980 __pyx_t_1 = 0;
42981 goto __pyx_L0;
42982
42983 /* function exit code */
42984 __pyx_L1_error:;
42985 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
42986 __Pyx_AddTraceback("xmmsapi.XmmsApi.bindata_remove", __pyx_clineno, __pyx_lineno, __pyx_filename);
42987 __pyx_r = NULL((void*)0);
42988 __pyx_L0:;
42989 __Pyx_XGIVEREF(__pyx_r);
42990 __Pyx_RefNannyFinishContext();
42991 return __pyx_r;
42992}
42993
42994/* "xmmsapi.pyx":2167
42995 * return self.create_result(cb, xmmsc_bindata_remove(self.conn, <char *>h))
42996 *
42997 * cpdef XmmsResult bindata_list(self, cb = None): # <<<<<<<<<<<<<<
42998 * """
42999 * List all bindata hashes stored on the server
43000 */
43001
43002static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_201bindata_list(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
43003static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_bindata_list(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_bindata_list *__pyx_optional_args) {
43004 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
43005 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
43006 __Pyx_RefNannyDeclarations
43007 PyObject *__pyx_t_1 = NULL((void*)0);
43008 PyObject *__pyx_t_2 = NULL((void*)0);
43009 PyObject *__pyx_t_3 = NULL((void*)0);
43010 int __pyx_lineno = 0;
43011 const char *__pyx_filename = NULL((void*)0);
43012 int __pyx_clineno = 0;
43013 __Pyx_RefNannySetupContext("bindata_list", 0);
43014 if (__pyx_optional_args) {
43015 if (__pyx_optional_args->__pyx_n > 0) {
43016 __pyx_v_cb = __pyx_optional_args->cb;
43017 }
43018 }
43019 /* Check if called by wrapper */
43020 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
43021 /* Check if overridden in Python */
43022 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
43023 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_bindata_list); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2167; __pyx_clineno = __LINE__43023; goto __pyx_L1_error;}
43024 __Pyx_GOTREF(__pyx_t_1);
43025 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_201bindata_list)) {
43026 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
43027 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2167; __pyx_clineno = __LINE__43027; goto __pyx_L1_error;}
43028 __Pyx_GOTREF(__pyx_t_2);
43029 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
43030 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
43031 __Pyx_GIVEREF(__pyx_v_cb);
43032 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2167; __pyx_clineno = __LINE__43032; goto __pyx_L1_error;}
43033 __Pyx_GOTREF(__pyx_t_3);
43034 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
43035 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2167; __pyx_clineno = __LINE__43035; goto __pyx_L1_error;}
43036 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
43037 __pyx_t_3 = 0;
43038 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
43039 goto __pyx_L0;
43040 }
43041 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
43042 }
43043
43044 /* "xmmsapi.pyx":2173
43045 * @return: The result of the operation.
43046 * """
43047 * return self.create_result(cb, xmmsc_bindata_list(self.conn)) # <<<<<<<<<<<<<<
43048 *
43049 * cpdef XmmsResult stats(self, cb = None):
43050 */
43051 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
43052 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_bindata_list(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2173; __pyx_clineno = __LINE__43052; goto __pyx_L1_error;}
43053 __Pyx_GOTREF(__pyx_t_1);
43054 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
43055 __pyx_t_1 = 0;
43056 goto __pyx_L0;
43057
43058 /* "xmmsapi.pyx":2167
43059 * return self.create_result(cb, xmmsc_bindata_remove(self.conn, <char *>h))
43060 *
43061 * cpdef XmmsResult bindata_list(self, cb = None): # <<<<<<<<<<<<<<
43062 * """
43063 * List all bindata hashes stored on the server
43064 */
43065
43066 /* function exit code */
43067 __pyx_L1_error:;
43068 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
43069 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
43070 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
43071 __Pyx_AddTraceback("xmmsapi.XmmsApi.bindata_list", __pyx_clineno, __pyx_lineno, __pyx_filename);
43072 __pyx_r = 0;
43073 __pyx_L0:;
43074 __Pyx_XGIVEREF((PyObject *)__pyx_r);
43075 __Pyx_RefNannyFinishContext();
43076 return __pyx_r;
43077}
43078
43079/* Python wrapper */
43080static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_201bindata_list(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
43081static char __pyx_doc_7xmmsapi_7XmmsApi_200bindata_list[] = "XmmsApi.bindata_list(self, cb=None) -> XmmsResult\n\n\t\tList all bindata hashes stored on the server\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
43082static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_201bindata_list(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
43083 PyObject *__pyx_v_cb = 0;
43084 int __pyx_lineno = 0;
43085 const char *__pyx_filename = NULL((void*)0);
43086 int __pyx_clineno = 0;
43087 PyObject *__pyx_r = 0;
43088 __Pyx_RefNannyDeclarations
43089 __Pyx_RefNannySetupContext("bindata_list (wrapper)", 0);
43090 {
43091 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
43092 PyObject* values[1] = {0};
43093 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
43094 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
43095 Py_ssize_t kw_args;
43096 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
43097 switch (pos_args) {
43098 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
43099 case 0: break;
43100 default: goto __pyx_L5_argtuple_error;
43101 }
43102 kw_args = PyDict_Size(__pyx_kwds);
43103 switch (pos_args) {
43104 case 0:
43105 if (kw_args > 0) {
43106 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
43107 if (value) { values[0] = value; kw_args--; }
43108 }
43109 }
43110 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
43111 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "bindata_list") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "bindata_list") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2167; __pyx_clineno = __LINE__43111; goto __pyx_L3_error;}
43112 }
43113 } else {
43114 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
43115 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
43116 case 0: break;
43117 default: goto __pyx_L5_argtuple_error;
43118 }
43119 }
43120 __pyx_v_cb = values[0];
43121 }
43122 goto __pyx_L4_argument_unpacking_done;
43123 __pyx_L5_argtuple_error:;
43124 __Pyx_RaiseArgtupleInvalid("bindata_list", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2167; __pyx_clineno = __LINE__43124; goto __pyx_L3_error;}
43125 __pyx_L3_error:;
43126 __Pyx_AddTraceback("xmmsapi.XmmsApi.bindata_list", __pyx_clineno, __pyx_lineno, __pyx_filename);
43127 __Pyx_RefNannyFinishContext();
43128 return NULL((void*)0);
43129 __pyx_L4_argument_unpacking_done:;
43130 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_200bindata_list(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
43131
43132 /* function exit code */
43133 __Pyx_RefNannyFinishContext();
43134 return __pyx_r;
43135}
43136
43137static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_200bindata_list(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
43138 PyObject *__pyx_r = NULL((void*)0);
43139 __Pyx_RefNannyDeclarations
43140 PyObject *__pyx_t_1 = NULL((void*)0);
43141 struct __pyx_opt_args_7xmmsapi_7XmmsApi_bindata_list __pyx_t_2;
43142 int __pyx_lineno = 0;
43143 const char *__pyx_filename = NULL((void*)0);
43144 int __pyx_clineno = 0;
43145 __Pyx_RefNannySetupContext("bindata_list", 0);
43146 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
43147 __pyx_t_2.__pyx_n = 1;
43148 __pyx_t_2.cb = __pyx_v_cb;
43149 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->bindata_list(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2167; __pyx_clineno = __LINE__43149; goto __pyx_L1_error;}
43150 __Pyx_GOTREF(__pyx_t_1);
43151 __pyx_r = __pyx_t_1;
43152 __pyx_t_1 = 0;
43153 goto __pyx_L0;
43154
43155 /* function exit code */
43156 __pyx_L1_error:;
43157 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
43158 __Pyx_AddTraceback("xmmsapi.XmmsApi.bindata_list", __pyx_clineno, __pyx_lineno, __pyx_filename);
43159 __pyx_r = NULL((void*)0);
43160 __pyx_L0:;
43161 __Pyx_XGIVEREF(__pyx_r);
43162 __Pyx_RefNannyFinishContext();
43163 return __pyx_r;
43164}
43165
43166/* "xmmsapi.pyx":2175
43167 * return self.create_result(cb, xmmsc_bindata_list(self.conn))
43168 *
43169 * cpdef XmmsResult stats(self, cb = None): # <<<<<<<<<<<<<<
43170 * """
43171 * Get statistics information from the server
43172 */
43173
43174static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_203stats(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
43175static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_stats(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_stats *__pyx_optional_args) {
43176 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
43177 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
43178 __Pyx_RefNannyDeclarations
43179 PyObject *__pyx_t_1 = NULL((void*)0);
43180 PyObject *__pyx_t_2 = NULL((void*)0);
43181 PyObject *__pyx_t_3 = NULL((void*)0);
43182 int __pyx_lineno = 0;
43183 const char *__pyx_filename = NULL((void*)0);
43184 int __pyx_clineno = 0;
43185 __Pyx_RefNannySetupContext("stats", 0);
43186 if (__pyx_optional_args) {
43187 if (__pyx_optional_args->__pyx_n > 0) {
43188 __pyx_v_cb = __pyx_optional_args->cb;
43189 }
43190 }
43191 /* Check if called by wrapper */
43192 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
43193 /* Check if overridden in Python */
43194 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
43195 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_stats); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2175; __pyx_clineno = __LINE__43195; goto __pyx_L1_error;}
43196 __Pyx_GOTREF(__pyx_t_1);
43197 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_203stats)) {
43198 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
43199 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2175; __pyx_clineno = __LINE__43199; goto __pyx_L1_error;}
43200 __Pyx_GOTREF(__pyx_t_2);
43201 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
43202 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
43203 __Pyx_GIVEREF(__pyx_v_cb);
43204 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2175; __pyx_clineno = __LINE__43204; goto __pyx_L1_error;}
43205 __Pyx_GOTREF(__pyx_t_3);
43206 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
43207 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2175; __pyx_clineno = __LINE__43207; goto __pyx_L1_error;}
43208 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
43209 __pyx_t_3 = 0;
43210 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
43211 goto __pyx_L0;
43212 }
43213 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
43214 }
43215
43216 /* "xmmsapi.pyx":2181
43217 * @return: The result of the operation.
43218 * """
43219 * return self.create_result(cb, xmmsc_main_stats(self.conn)) # <<<<<<<<<<<<<<
43220 *
43221 * cpdef XmmsResult visualization_version(self, cb = None):
43222 */
43223 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
43224 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_main_stats(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2181; __pyx_clineno = __LINE__43224; goto __pyx_L1_error;}
43225 __Pyx_GOTREF(__pyx_t_1);
43226 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
43227 __pyx_t_1 = 0;
43228 goto __pyx_L0;
43229
43230 /* "xmmsapi.pyx":2175
43231 * return self.create_result(cb, xmmsc_bindata_list(self.conn))
43232 *
43233 * cpdef XmmsResult stats(self, cb = None): # <<<<<<<<<<<<<<
43234 * """
43235 * Get statistics information from the server
43236 */
43237
43238 /* function exit code */
43239 __pyx_L1_error:;
43240 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
43241 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
43242 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
43243 __Pyx_AddTraceback("xmmsapi.XmmsApi.stats", __pyx_clineno, __pyx_lineno, __pyx_filename);
43244 __pyx_r = 0;
43245 __pyx_L0:;
43246 __Pyx_XGIVEREF((PyObject *)__pyx_r);
43247 __Pyx_RefNannyFinishContext();
43248 return __pyx_r;
43249}
43250
43251/* Python wrapper */
43252static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_203stats(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
43253static char __pyx_doc_7xmmsapi_7XmmsApi_202stats[] = "XmmsApi.stats(self, cb=None) -> XmmsResult\n\n\t\tGet statistics information from the server\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
43254static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_203stats(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
43255 PyObject *__pyx_v_cb = 0;
43256 int __pyx_lineno = 0;
43257 const char *__pyx_filename = NULL((void*)0);
43258 int __pyx_clineno = 0;
43259 PyObject *__pyx_r = 0;
43260 __Pyx_RefNannyDeclarations
43261 __Pyx_RefNannySetupContext("stats (wrapper)", 0);
43262 {
43263 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
43264 PyObject* values[1] = {0};
43265 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
43266 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
43267 Py_ssize_t kw_args;
43268 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
43269 switch (pos_args) {
43270 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
43271 case 0: break;
43272 default: goto __pyx_L5_argtuple_error;
43273 }
43274 kw_args = PyDict_Size(__pyx_kwds);
43275 switch (pos_args) {
43276 case 0:
43277 if (kw_args > 0) {
43278 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
43279 if (value) { values[0] = value; kw_args--; }
43280 }
43281 }
43282 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
43283 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "stats") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "stats") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2175; __pyx_clineno = __LINE__43283; goto __pyx_L3_error;}
43284 }
43285 } else {
43286 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
43287 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
43288 case 0: break;
43289 default: goto __pyx_L5_argtuple_error;
43290 }
43291 }
43292 __pyx_v_cb = values[0];
43293 }
43294 goto __pyx_L4_argument_unpacking_done;
43295 __pyx_L5_argtuple_error:;
43296 __Pyx_RaiseArgtupleInvalid("stats", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2175; __pyx_clineno = __LINE__43296; goto __pyx_L3_error;}
43297 __pyx_L3_error:;
43298 __Pyx_AddTraceback("xmmsapi.XmmsApi.stats", __pyx_clineno, __pyx_lineno, __pyx_filename);
43299 __Pyx_RefNannyFinishContext();
43300 return NULL((void*)0);
43301 __pyx_L4_argument_unpacking_done:;
43302 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_202stats(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
43303
43304 /* function exit code */
43305 __Pyx_RefNannyFinishContext();
43306 return __pyx_r;
43307}
43308
43309static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_202stats(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
43310 PyObject *__pyx_r = NULL((void*)0);
43311 __Pyx_RefNannyDeclarations
43312 PyObject *__pyx_t_1 = NULL((void*)0);
43313 struct __pyx_opt_args_7xmmsapi_7XmmsApi_stats __pyx_t_2;
43314 int __pyx_lineno = 0;
43315 const char *__pyx_filename = NULL((void*)0);
43316 int __pyx_clineno = 0;
43317 __Pyx_RefNannySetupContext("stats", 0);
43318 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
43319 __pyx_t_2.__pyx_n = 1;
43320 __pyx_t_2.cb = __pyx_v_cb;
43321 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->stats(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2175; __pyx_clineno = __LINE__43321; goto __pyx_L1_error;}
43322 __Pyx_GOTREF(__pyx_t_1);
43323 __pyx_r = __pyx_t_1;
43324 __pyx_t_1 = 0;
43325 goto __pyx_L0;
43326
43327 /* function exit code */
43328 __pyx_L1_error:;
43329 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
43330 __Pyx_AddTraceback("xmmsapi.XmmsApi.stats", __pyx_clineno, __pyx_lineno, __pyx_filename);
43331 __pyx_r = NULL((void*)0);
43332 __pyx_L0:;
43333 __Pyx_XGIVEREF(__pyx_r);
43334 __Pyx_RefNannyFinishContext();
43335 return __pyx_r;
43336}
43337
43338/* "xmmsapi.pyx":2183
43339 * return self.create_result(cb, xmmsc_main_stats(self.conn))
43340 *
43341 * cpdef XmmsResult visualization_version(self, cb = None): # <<<<<<<<<<<<<<
43342 * """
43343 * Get the version of the visualization plugin installed on the server.
43344 */
43345
43346static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_205visualization_version(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
43347static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_visualization_version(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_version *__pyx_optional_args) {
43348 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
43349 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
43350 __Pyx_RefNannyDeclarations
43351 PyObject *__pyx_t_1 = NULL((void*)0);
43352 PyObject *__pyx_t_2 = NULL((void*)0);
43353 PyObject *__pyx_t_3 = NULL((void*)0);
43354 int __pyx_lineno = 0;
43355 const char *__pyx_filename = NULL((void*)0);
43356 int __pyx_clineno = 0;
43357 __Pyx_RefNannySetupContext("visualization_version", 0);
43358 if (__pyx_optional_args) {
43359 if (__pyx_optional_args->__pyx_n > 0) {
43360 __pyx_v_cb = __pyx_optional_args->cb;
43361 }
43362 }
43363 /* Check if called by wrapper */
43364 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
43365 /* Check if overridden in Python */
43366 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
43367 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_visualization_version); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2183; __pyx_clineno = __LINE__43367; goto __pyx_L1_error;}
43368 __Pyx_GOTREF(__pyx_t_1);
43369 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_205visualization_version)) {
43370 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
43371 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2183; __pyx_clineno = __LINE__43371; goto __pyx_L1_error;}
43372 __Pyx_GOTREF(__pyx_t_2);
43373 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
43374 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
43375 __Pyx_GIVEREF(__pyx_v_cb);
43376 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2183; __pyx_clineno = __LINE__43376; goto __pyx_L1_error;}
43377 __Pyx_GOTREF(__pyx_t_3);
43378 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
43379 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2183; __pyx_clineno = __LINE__43379; goto __pyx_L1_error;}
43380 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
43381 __pyx_t_3 = 0;
43382 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
43383 goto __pyx_L0;
43384 }
43385 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
43386 }
43387
43388 /* "xmmsapi.pyx":2189
43389 * @return: The result of the operation.
43390 * """
43391 * return self.create_result(cb, xmmsc_visualization_version(self.conn)) # <<<<<<<<<<<<<<
43392 *
43393 * cpdef XmmsResult visualization_init(self, cb = None):
43394 */
43395 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
43396 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_visualization_version(__pyx_v_self->__pyx_base.conn))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2189; __pyx_clineno = __LINE__43396; goto __pyx_L1_error;}
43397 __Pyx_GOTREF(__pyx_t_1);
43398 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
43399 __pyx_t_1 = 0;
43400 goto __pyx_L0;
43401
43402 /* "xmmsapi.pyx":2183
43403 * return self.create_result(cb, xmmsc_main_stats(self.conn))
43404 *
43405 * cpdef XmmsResult visualization_version(self, cb = None): # <<<<<<<<<<<<<<
43406 * """
43407 * Get the version of the visualization plugin installed on the server.
43408 */
43409
43410 /* function exit code */
43411 __pyx_L1_error:;
43412 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
43413 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
43414 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
43415 __Pyx_AddTraceback("xmmsapi.XmmsApi.visualization_version", __pyx_clineno, __pyx_lineno, __pyx_filename);
43416 __pyx_r = 0;
43417 __pyx_L0:;
43418 __Pyx_XGIVEREF((PyObject *)__pyx_r);
43419 __Pyx_RefNannyFinishContext();
43420 return __pyx_r;
43421}
43422
43423/* Python wrapper */
43424static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_205visualization_version(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
43425static char __pyx_doc_7xmmsapi_7XmmsApi_204visualization_version[] = "XmmsApi.visualization_version(self, cb=None) -> XmmsResult\n\n\t\tGet the version of the visualization plugin installed on the server.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation.\n\t\t";
43426static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_205visualization_version(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
43427 PyObject *__pyx_v_cb = 0;
43428 int __pyx_lineno = 0;
43429 const char *__pyx_filename = NULL((void*)0);
43430 int __pyx_clineno = 0;
43431 PyObject *__pyx_r = 0;
43432 __Pyx_RefNannyDeclarations
43433 __Pyx_RefNannySetupContext("visualization_version (wrapper)", 0);
43434 {
43435 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
43436 PyObject* values[1] = {0};
43437 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
43438 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
43439 Py_ssize_t kw_args;
43440 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
43441 switch (pos_args) {
43442 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
43443 case 0: break;
43444 default: goto __pyx_L5_argtuple_error;
43445 }
43446 kw_args = PyDict_Size(__pyx_kwds);
43447 switch (pos_args) {
43448 case 0:
43449 if (kw_args > 0) {
43450 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
43451 if (value) { values[0] = value; kw_args--; }
43452 }
43453 }
43454 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
43455 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "visualization_version") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "visualization_version") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2183; __pyx_clineno = __LINE__43455; goto __pyx_L3_error;}
43456 }
43457 } else {
43458 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
43459 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
43460 case 0: break;
43461 default: goto __pyx_L5_argtuple_error;
43462 }
43463 }
43464 __pyx_v_cb = values[0];
43465 }
43466 goto __pyx_L4_argument_unpacking_done;
43467 __pyx_L5_argtuple_error:;
43468 __Pyx_RaiseArgtupleInvalid("visualization_version", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2183; __pyx_clineno = __LINE__43468; goto __pyx_L3_error;}
43469 __pyx_L3_error:;
43470 __Pyx_AddTraceback("xmmsapi.XmmsApi.visualization_version", __pyx_clineno, __pyx_lineno, __pyx_filename);
43471 __Pyx_RefNannyFinishContext();
43472 return NULL((void*)0);
43473 __pyx_L4_argument_unpacking_done:;
43474 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_204visualization_version(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
43475
43476 /* function exit code */
43477 __Pyx_RefNannyFinishContext();
43478 return __pyx_r;
43479}
43480
43481static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_204visualization_version(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
43482 PyObject *__pyx_r = NULL((void*)0);
43483 __Pyx_RefNannyDeclarations
43484 PyObject *__pyx_t_1 = NULL((void*)0);
43485 struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_version __pyx_t_2;
43486 int __pyx_lineno = 0;
43487 const char *__pyx_filename = NULL((void*)0);
43488 int __pyx_clineno = 0;
43489 __Pyx_RefNannySetupContext("visualization_version", 0);
43490 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
43491 __pyx_t_2.__pyx_n = 1;
43492 __pyx_t_2.cb = __pyx_v_cb;
43493 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->visualization_version(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2183; __pyx_clineno = __LINE__43493; goto __pyx_L1_error;}
43494 __Pyx_GOTREF(__pyx_t_1);
43495 __pyx_r = __pyx_t_1;
43496 __pyx_t_1 = 0;
43497 goto __pyx_L0;
43498
43499 /* function exit code */
43500 __pyx_L1_error:;
43501 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
43502 __Pyx_AddTraceback("xmmsapi.XmmsApi.visualization_version", __pyx_clineno, __pyx_lineno, __pyx_filename);
43503 __pyx_r = NULL((void*)0);
43504 __pyx_L0:;
43505 __Pyx_XGIVEREF(__pyx_r);
43506 __Pyx_RefNannyFinishContext();
43507 return __pyx_r;
43508}
43509
43510/* "xmmsapi.pyx":2191
43511 * return self.create_result(cb, xmmsc_visualization_version(self.conn))
43512 *
43513 * cpdef XmmsResult visualization_init(self, cb = None): # <<<<<<<<<<<<<<
43514 * """
43515 * Get a new visualization handle.
43516 */
43517
43518static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_207visualization_init(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
43519static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_visualization_init(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_init *__pyx_optional_args) {
43520 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
43521 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
43522 __Pyx_RefNannyDeclarations
43523 PyObject *__pyx_t_1 = NULL((void*)0);
43524 PyObject *__pyx_t_2 = NULL((void*)0);
43525 PyObject *__pyx_t_3 = NULL((void*)0);
43526 int __pyx_lineno = 0;
43527 const char *__pyx_filename = NULL((void*)0);
43528 int __pyx_clineno = 0;
43529 __Pyx_RefNannySetupContext("visualization_init", 0);
43530 if (__pyx_optional_args) {
43531 if (__pyx_optional_args->__pyx_n > 0) {
43532 __pyx_v_cb = __pyx_optional_args->cb;
43533 }
43534 }
43535 /* Check if called by wrapper */
43536 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
43537 /* Check if overridden in Python */
43538 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
43539 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_visualization_init); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2191; __pyx_clineno = __LINE__43539; goto __pyx_L1_error;}
43540 __Pyx_GOTREF(__pyx_t_1);
43541 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_207visualization_init)) {
43542 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
43543 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2191; __pyx_clineno = __LINE__43543; goto __pyx_L1_error;}
43544 __Pyx_GOTREF(__pyx_t_2);
43545 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
43546 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_cb);
43547 __Pyx_GIVEREF(__pyx_v_cb);
43548 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2191; __pyx_clineno = __LINE__43548; goto __pyx_L1_error;}
43549 __Pyx_GOTREF(__pyx_t_3);
43550 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
43551 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_3) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2191; __pyx_clineno = __LINE__43551; goto __pyx_L1_error;}
43552 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_3);
43553 __pyx_t_3 = 0;
43554 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
43555 goto __pyx_L0;
43556 }
43557 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
43558 }
43559
43560 /* "xmmsapi.pyx":2197
43561 * @return: The result of the operation
43562 * """
43563 * return self.create_vis_result(cb, xmmsc_visualization_init(self.conn), VIS_RESULT_CMD_INIT) # <<<<<<<<<<<<<<
43564 *
43565 * cpdef XmmsResult visualization_start(self, int handle, cb = None):
43566 */
43567 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
43568 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_vis_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_visualization_init(__pyx_v_self->__pyx_base.conn), __pyx_e_7xmmsapi_VIS_RESULT_CMD_INIT)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2197; __pyx_clineno = __LINE__43568; goto __pyx_L1_error;}
43569 __Pyx_GOTREF(__pyx_t_1);
43570 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
43571 __pyx_t_1 = 0;
43572 goto __pyx_L0;
43573
43574 /* "xmmsapi.pyx":2191
43575 * return self.create_result(cb, xmmsc_visualization_version(self.conn))
43576 *
43577 * cpdef XmmsResult visualization_init(self, cb = None): # <<<<<<<<<<<<<<
43578 * """
43579 * Get a new visualization handle.
43580 */
43581
43582 /* function exit code */
43583 __pyx_L1_error:;
43584 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
43585 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
43586 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
43587 __Pyx_AddTraceback("xmmsapi.XmmsApi.visualization_init", __pyx_clineno, __pyx_lineno, __pyx_filename);
43588 __pyx_r = 0;
43589 __pyx_L0:;
43590 __Pyx_XGIVEREF((PyObject *)__pyx_r);
43591 __Pyx_RefNannyFinishContext();
43592 return __pyx_r;
43593}
43594
43595/* Python wrapper */
43596static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_207visualization_init(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
43597static char __pyx_doc_7xmmsapi_7XmmsApi_206visualization_init[] = "XmmsApi.visualization_init(self, cb=None) -> XmmsResult\n\n\t\tGet a new visualization handle.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation\n\t\t";
43598static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_207visualization_init(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
43599 PyObject *__pyx_v_cb = 0;
43600 int __pyx_lineno = 0;
43601 const char *__pyx_filename = NULL((void*)0);
43602 int __pyx_clineno = 0;
43603 PyObject *__pyx_r = 0;
43604 __Pyx_RefNannyDeclarations
43605 __Pyx_RefNannySetupContext("visualization_init (wrapper)", 0);
43606 {
43607 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cb,0};
43608 PyObject* values[1] = {0};
43609 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
43610 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
43611 Py_ssize_t kw_args;
43612 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
43613 switch (pos_args) {
43614 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
43615 case 0: break;
43616 default: goto __pyx_L5_argtuple_error;
43617 }
43618 kw_args = PyDict_Size(__pyx_kwds);
43619 switch (pos_args) {
43620 case 0:
43621 if (kw_args > 0) {
43622 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
43623 if (value) { values[0] = value; kw_args--; }
43624 }
43625 }
43626 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
43627 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "visualization_init") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "visualization_init") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2191; __pyx_clineno = __LINE__43627; goto __pyx_L3_error;}
43628 }
43629 } else {
43630 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
43631 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
43632 case 0: break;
43633 default: goto __pyx_L5_argtuple_error;
43634 }
43635 }
43636 __pyx_v_cb = values[0];
43637 }
43638 goto __pyx_L4_argument_unpacking_done;
43639 __pyx_L5_argtuple_error:;
43640 __Pyx_RaiseArgtupleInvalid("visualization_init", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2191; __pyx_clineno = __LINE__43640; goto __pyx_L3_error;}
43641 __pyx_L3_error:;
43642 __Pyx_AddTraceback("xmmsapi.XmmsApi.visualization_init", __pyx_clineno, __pyx_lineno, __pyx_filename);
43643 __Pyx_RefNannyFinishContext();
43644 return NULL((void*)0);
43645 __pyx_L4_argument_unpacking_done:;
43646 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_206visualization_init(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_cb);
43647
43648 /* function exit code */
43649 __Pyx_RefNannyFinishContext();
43650 return __pyx_r;
43651}
43652
43653static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_206visualization_init(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, PyObject *__pyx_v_cb) {
43654 PyObject *__pyx_r = NULL((void*)0);
43655 __Pyx_RefNannyDeclarations
43656 PyObject *__pyx_t_1 = NULL((void*)0);
43657 struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_init __pyx_t_2;
43658 int __pyx_lineno = 0;
43659 const char *__pyx_filename = NULL((void*)0);
43660 int __pyx_clineno = 0;
43661 __Pyx_RefNannySetupContext("visualization_init", 0);
43662 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
43663 __pyx_t_2.__pyx_n = 1;
43664 __pyx_t_2.cb = __pyx_v_cb;
43665 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->visualization_init(__pyx_v_self, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2191; __pyx_clineno = __LINE__43665; goto __pyx_L1_error;}
43666 __Pyx_GOTREF(__pyx_t_1);
43667 __pyx_r = __pyx_t_1;
43668 __pyx_t_1 = 0;
43669 goto __pyx_L0;
43670
43671 /* function exit code */
43672 __pyx_L1_error:;
43673 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
43674 __Pyx_AddTraceback("xmmsapi.XmmsApi.visualization_init", __pyx_clineno, __pyx_lineno, __pyx_filename);
43675 __pyx_r = NULL((void*)0);
43676 __pyx_L0:;
43677 __Pyx_XGIVEREF(__pyx_r);
43678 __Pyx_RefNannyFinishContext();
43679 return __pyx_r;
43680}
43681
43682/* "xmmsapi.pyx":2199
43683 * return self.create_vis_result(cb, xmmsc_visualization_init(self.conn), VIS_RESULT_CMD_INIT)
43684 *
43685 * cpdef XmmsResult visualization_start(self, int handle, cb = None): # <<<<<<<<<<<<<<
43686 * """
43687 * Starts the visualization.
43688 */
43689
43690static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_209visualization_start(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
43691static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_visualization_start(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_handle, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_start *__pyx_optional_args) {
43692 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
43693 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
43694 __Pyx_RefNannyDeclarations
43695 PyObject *__pyx_t_1 = NULL((void*)0);
43696 PyObject *__pyx_t_2 = NULL((void*)0);
43697 PyObject *__pyx_t_3 = NULL((void*)0);
43698 int __pyx_lineno = 0;
43699 const char *__pyx_filename = NULL((void*)0);
43700 int __pyx_clineno = 0;
43701 __Pyx_RefNannySetupContext("visualization_start", 0);
43702 if (__pyx_optional_args) {
43703 if (__pyx_optional_args->__pyx_n > 0) {
43704 __pyx_v_cb = __pyx_optional_args->cb;
43705 }
43706 }
43707 /* Check if called by wrapper */
43708 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
43709 /* Check if overridden in Python */
43710 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
43711 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_visualization_start); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2199; __pyx_clineno = __LINE__43711; goto __pyx_L1_error;}
43712 __Pyx_GOTREF(__pyx_t_1);
43713 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_209visualization_start)) {
43714 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
43715 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_handle); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2199; __pyx_clineno = __LINE__43715; goto __pyx_L1_error;}
43716 __Pyx_GOTREF(__pyx_t_2);
43717 __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2199; __pyx_clineno = __LINE__43717; goto __pyx_L1_error;}
43718 __Pyx_GOTREF(__pyx_t_3);
43719 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
43720 __Pyx_GIVEREF(__pyx_t_2);
43721 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
43722 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_cb);
43723 __Pyx_GIVEREF(__pyx_v_cb);
43724 __pyx_t_2 = 0;
43725 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2199; __pyx_clineno = __LINE__43725; goto __pyx_L1_error;}
43726 __Pyx_GOTREF(__pyx_t_2);
43727 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
43728 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_2) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2199; __pyx_clineno = __LINE__43728; goto __pyx_L1_error;}
43729 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_2);
43730 __pyx_t_2 = 0;
43731 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
43732 goto __pyx_L0;
43733 }
43734 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
43735 }
43736
43737 /* "xmmsapi.pyx":2205
43738 * @return: The result of the operation
43739 * """
43740 * return self.create_vis_result(cb, xmmsc_visualization_start(self.conn, handle), VIS_RESULT_CMD_START) # <<<<<<<<<<<<<<
43741 *
43742 * cpdef bint visualization_started(self, int handle):
43743 */
43744 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
43745 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_vis_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_visualization_start(__pyx_v_self->__pyx_base.conn, __pyx_v_handle), __pyx_e_7xmmsapi_VIS_RESULT_CMD_START)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2205; __pyx_clineno = __LINE__43745; goto __pyx_L1_error;}
43746 __Pyx_GOTREF(__pyx_t_1);
43747 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
43748 __pyx_t_1 = 0;
43749 goto __pyx_L0;
43750
43751 /* "xmmsapi.pyx":2199
43752 * return self.create_vis_result(cb, xmmsc_visualization_init(self.conn), VIS_RESULT_CMD_INIT)
43753 *
43754 * cpdef XmmsResult visualization_start(self, int handle, cb = None): # <<<<<<<<<<<<<<
43755 * """
43756 * Starts the visualization.
43757 */
43758
43759 /* function exit code */
43760 __pyx_L1_error:;
43761 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
43762 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
43763 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
43764 __Pyx_AddTraceback("xmmsapi.XmmsApi.visualization_start", __pyx_clineno, __pyx_lineno, __pyx_filename);
43765 __pyx_r = 0;
43766 __pyx_L0:;
43767 __Pyx_XGIVEREF((PyObject *)__pyx_r);
43768 __Pyx_RefNannyFinishContext();
43769 return __pyx_r;
43770}
43771
43772/* Python wrapper */
43773static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_209visualization_start(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
43774static char __pyx_doc_7xmmsapi_7XmmsApi_208visualization_start[] = "XmmsApi.visualization_start(self, int handle, cb=None) -> XmmsResult\n\n\t\tStarts the visualization.\n\t\t@rtype: L{XmmsResult}\n\t\t@return: The result of the operation\n\t\t";
43775static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_209visualization_start(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
43776 int __pyx_v_handle;
43777 PyObject *__pyx_v_cb = 0;
43778 int __pyx_lineno = 0;
43779 const char *__pyx_filename = NULL((void*)0);
43780 int __pyx_clineno = 0;
43781 PyObject *__pyx_r = 0;
43782 __Pyx_RefNannyDeclarations
43783 __Pyx_RefNannySetupContext("visualization_start (wrapper)", 0);
43784 {
43785 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_handle,&__pyx_n_s_cb,0};
43786 PyObject* values[2] = {0,0};
43787 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
43788 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
43789 Py_ssize_t kw_args;
43790 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
43791 switch (pos_args) {
43792 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
43793 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
43794 case 0: break;
43795 default: goto __pyx_L5_argtuple_error;
43796 }
43797 kw_args = PyDict_Size(__pyx_kwds);
43798 switch (pos_args) {
43799 case 0:
43800 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_handle)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_handle
)) != 0), 1)
) kw_args--;
43801 else goto __pyx_L5_argtuple_error;
43802 case 1:
43803 if (kw_args > 0) {
43804 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
43805 if (value) { values[1] = value; kw_args--; }
43806 }
43807 }
43808 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
43809 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "visualization_start") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "visualization_start") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2199; __pyx_clineno = __LINE__43809; goto __pyx_L3_error;}
43810 }
43811 } else {
43812 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
43813 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
43814 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
43815 break;
43816 default: goto __pyx_L5_argtuple_error;
43817 }
43818 }
43819 __pyx_v_handle = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_handle == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_handle == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2199; __pyx_clineno = __LINE__43819; goto __pyx_L3_error;}
43820 __pyx_v_cb = values[1];
43821 }
43822 goto __pyx_L4_argument_unpacking_done;
43823 __pyx_L5_argtuple_error:;
43824 __Pyx_RaiseArgtupleInvalid("visualization_start", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2199; __pyx_clineno = __LINE__43824; goto __pyx_L3_error;}
43825 __pyx_L3_error:;
43826 __Pyx_AddTraceback("xmmsapi.XmmsApi.visualization_start", __pyx_clineno, __pyx_lineno, __pyx_filename);
43827 __Pyx_RefNannyFinishContext();
43828 return NULL((void*)0);
43829 __pyx_L4_argument_unpacking_done:;
43830 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_208visualization_start(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_handle, __pyx_v_cb);
43831
43832 /* function exit code */
43833 __Pyx_RefNannyFinishContext();
43834 return __pyx_r;
43835}
43836
43837static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_208visualization_start(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_handle, PyObject *__pyx_v_cb) {
43838 PyObject *__pyx_r = NULL((void*)0);
43839 __Pyx_RefNannyDeclarations
43840 PyObject *__pyx_t_1 = NULL((void*)0);
43841 struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_start __pyx_t_2;
43842 int __pyx_lineno = 0;
43843 const char *__pyx_filename = NULL((void*)0);
43844 int __pyx_clineno = 0;
43845 __Pyx_RefNannySetupContext("visualization_start", 0);
43846 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
43847 __pyx_t_2.__pyx_n = 1;
43848 __pyx_t_2.cb = __pyx_v_cb;
43849 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->visualization_start(__pyx_v_self, __pyx_v_handle, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2199; __pyx_clineno = __LINE__43849; goto __pyx_L1_error;}
43850 __Pyx_GOTREF(__pyx_t_1);
43851 __pyx_r = __pyx_t_1;
43852 __pyx_t_1 = 0;
43853 goto __pyx_L0;
43854
43855 /* function exit code */
43856 __pyx_L1_error:;
43857 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
43858 __Pyx_AddTraceback("xmmsapi.XmmsApi.visualization_start", __pyx_clineno, __pyx_lineno, __pyx_filename);
43859 __pyx_r = NULL((void*)0);
43860 __pyx_L0:;
43861 __Pyx_XGIVEREF(__pyx_r);
43862 __Pyx_RefNannyFinishContext();
43863 return __pyx_r;
43864}
43865
43866/* "xmmsapi.pyx":2207
43867 * return self.create_vis_result(cb, xmmsc_visualization_start(self.conn, handle), VIS_RESULT_CMD_START)
43868 *
43869 * cpdef bint visualization_started(self, int handle): # <<<<<<<<<<<<<<
43870 * """
43871 * Whether the visualization is started or not.
43872 */
43873
43874static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_211visualization_started(PyObject *__pyx_v_self, PyObject *__pyx_arg_handle); /*proto*/
43875static int __pyx_f_7xmmsapi_7XmmsApi_visualization_started(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_handle, int __pyx_skip_dispatch) {
43876 int __pyx_r;
43877 __Pyx_RefNannyDeclarations
43878 PyObject *__pyx_t_1 = NULL((void*)0);
43879 PyObject *__pyx_t_2 = NULL((void*)0);
43880 PyObject *__pyx_t_3 = NULL((void*)0);
43881 int __pyx_t_4;
43882 int __pyx_lineno = 0;
43883 const char *__pyx_filename = NULL((void*)0);
43884 int __pyx_clineno = 0;
43885 __Pyx_RefNannySetupContext("visualization_started", 0);
43886 /* Check if called by wrapper */
43887 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
43888 /* Check if overridden in Python */
43889 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
43890 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_visualization_started); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2207; __pyx_clineno = __LINE__43890; goto __pyx_L1_error;}
43891 __Pyx_GOTREF(__pyx_t_1);
43892 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_211visualization_started)) {
43893 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_handle); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2207; __pyx_clineno = __LINE__43893; goto __pyx_L1_error;}
43894 __Pyx_GOTREF(__pyx_t_2);
43895 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2207; __pyx_clineno = __LINE__43895; goto __pyx_L1_error;}
43896 __Pyx_GOTREF(__pyx_t_3);
43897 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
43898 __Pyx_GIVEREF(__pyx_t_2);
43899 __pyx_t_2 = 0;
43900 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2207; __pyx_clineno = __LINE__43900; goto __pyx_L1_error;}
43901 __Pyx_GOTREF(__pyx_t_2);
43902 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
43903 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_t_4 == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2207; __pyx_clineno = __LINE__43903; goto __pyx_L1_error;}
43904 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
43905 __pyx_r = __pyx_t_4;
43906 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
43907 goto __pyx_L0;
43908 }
43909 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
43910 }
43911
43912 /* "xmmsapi.pyx":2213
43913 * @return: True if the visualization is started, False otherwise.
43914 * """
43915 * return xmmsc_visualization_started(self.conn, handle) # <<<<<<<<<<<<<<
43916 *
43917 * cpdef bint visualization_errored(self, int handle):
43918 */
43919 __pyx_r = xmmsc_visualization_started(__pyx_v_self->__pyx_base.conn, __pyx_v_handle);
43920 goto __pyx_L0;
43921
43922 /* "xmmsapi.pyx":2207
43923 * return self.create_vis_result(cb, xmmsc_visualization_start(self.conn, handle), VIS_RESULT_CMD_START)
43924 *
43925 * cpdef bint visualization_started(self, int handle): # <<<<<<<<<<<<<<
43926 * """
43927 * Whether the visualization is started or not.
43928 */
43929
43930 /* function exit code */
43931 __pyx_L1_error:;
43932 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
43933 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
43934 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
43935 __Pyx_WriteUnraisable("xmmsapi.XmmsApi.visualization_started", __pyx_clineno, __pyx_lineno, __pyx_filename, 0);
43936 __pyx_r = 0;
43937 __pyx_L0:;
43938 __Pyx_RefNannyFinishContext();
43939 return __pyx_r;
43940}
43941
43942/* Python wrapper */
43943static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_211visualization_started(PyObject *__pyx_v_self, PyObject *__pyx_arg_handle); /*proto*/
43944static char __pyx_doc_7xmmsapi_7XmmsApi_210visualization_started[] = "XmmsApi.visualization_started(self, int handle) -> bool\n\n\t\tWhether the visualization is started or not.\n\t\t@rtype: L{bool}\n\t\t@return: True if the visualization is started, False otherwise.\n\t\t";
43945static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_211visualization_started(PyObject *__pyx_v_self, PyObject *__pyx_arg_handle) {
43946 int __pyx_v_handle;
43947 int __pyx_lineno = 0;
43948 const char *__pyx_filename = NULL((void*)0);
43949 int __pyx_clineno = 0;
43950 PyObject *__pyx_r = 0;
43951 __Pyx_RefNannyDeclarations
43952 __Pyx_RefNannySetupContext("visualization_started (wrapper)", 0);
43953 assert(__pyx_arg_handle)((void) (0)); {
43954 __pyx_v_handle = __Pyx_PyInt_As_int(__pyx_arg_handle); if (unlikely((__pyx_v_handle == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_handle == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2207; __pyx_clineno = __LINE__43954; goto __pyx_L3_error;}
43955 }
43956 goto __pyx_L4_argument_unpacking_done;
43957 __pyx_L3_error:;
43958 __Pyx_AddTraceback("xmmsapi.XmmsApi.visualization_started", __pyx_clineno, __pyx_lineno, __pyx_filename);
43959 __Pyx_RefNannyFinishContext();
43960 return NULL((void*)0);
43961 __pyx_L4_argument_unpacking_done:;
43962 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_210visualization_started(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), ((int)__pyx_v_handle));
43963
43964 /* function exit code */
43965 __Pyx_RefNannyFinishContext();
43966 return __pyx_r;
43967}
43968
43969static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_210visualization_started(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_handle) {
43970 PyObject *__pyx_r = NULL((void*)0);
43971 __Pyx_RefNannyDeclarations
43972 PyObject *__pyx_t_1 = NULL((void*)0);
43973 int __pyx_lineno = 0;
43974 const char *__pyx_filename = NULL((void*)0);
43975 int __pyx_clineno = 0;
43976 __Pyx_RefNannySetupContext("visualization_started", 0);
43977 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
43978 __pyx_t_1 = __Pyx_PyBool_FromLong(((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->visualization_started(__pyx_v_self, __pyx_v_handle, 1))((((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->
__pyx_base.__pyx_vtab)->visualization_started(__pyx_v_self
, __pyx_v_handle, 1)) ? (( ((PyObject*)(((PyObject *) &_Py_TrueStruct
)))->ob_refcnt++), ((PyObject *) &_Py_TrueStruct)) : (
( ((PyObject*)(((PyObject *) &_Py_ZeroStruct)))->ob_refcnt
++), ((PyObject *) &_Py_ZeroStruct)))
; if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2207; __pyx_clineno = __LINE__43978; goto __pyx_L1_error;}
43979 __Pyx_GOTREF(__pyx_t_1);
43980 __pyx_r = __pyx_t_1;
43981 __pyx_t_1 = 0;
43982 goto __pyx_L0;
43983
43984 /* function exit code */
43985 __pyx_L1_error:;
43986 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
43987 __Pyx_AddTraceback("xmmsapi.XmmsApi.visualization_started", __pyx_clineno, __pyx_lineno, __pyx_filename);
43988 __pyx_r = NULL((void*)0);
43989 __pyx_L0:;
43990 __Pyx_XGIVEREF(__pyx_r);
43991 __Pyx_RefNannyFinishContext();
43992 return __pyx_r;
43993}
43994
43995/* "xmmsapi.pyx":2215
43996 * return xmmsc_visualization_started(self.conn, handle)
43997 *
43998 * cpdef bint visualization_errored(self, int handle): # <<<<<<<<<<<<<<
43999 * """
44000 * Whether the visualization got an error.
44001 */
44002
44003static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_213visualization_errored(PyObject *__pyx_v_self, PyObject *__pyx_arg_handle); /*proto*/
44004static int __pyx_f_7xmmsapi_7XmmsApi_visualization_errored(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_handle, int __pyx_skip_dispatch) {
44005 int __pyx_r;
44006 __Pyx_RefNannyDeclarations
44007 PyObject *__pyx_t_1 = NULL((void*)0);
44008 PyObject *__pyx_t_2 = NULL((void*)0);
44009 PyObject *__pyx_t_3 = NULL((void*)0);
44010 int __pyx_t_4;
44011 int __pyx_lineno = 0;
44012 const char *__pyx_filename = NULL((void*)0);
44013 int __pyx_clineno = 0;
44014 __Pyx_RefNannySetupContext("visualization_errored", 0);
44015 /* Check if called by wrapper */
44016 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
44017 /* Check if overridden in Python */
44018 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
44019 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_visualization_errored); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2215; __pyx_clineno = __LINE__44019; goto __pyx_L1_error;}
44020 __Pyx_GOTREF(__pyx_t_1);
44021 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_213visualization_errored)) {
44022 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_handle); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2215; __pyx_clineno = __LINE__44022; goto __pyx_L1_error;}
44023 __Pyx_GOTREF(__pyx_t_2);
44024 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2215; __pyx_clineno = __LINE__44024; goto __pyx_L1_error;}
44025 __Pyx_GOTREF(__pyx_t_3);
44026 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
44027 __Pyx_GIVEREF(__pyx_t_2);
44028 __pyx_t_2 = 0;
44029 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2215; __pyx_clineno = __LINE__44029; goto __pyx_L1_error;}
44030 __Pyx_GOTREF(__pyx_t_2);
44031 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
44032 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_t_4 == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2215; __pyx_clineno = __LINE__44032; goto __pyx_L1_error;}
44033 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
44034 __pyx_r = __pyx_t_4;
44035 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
44036 goto __pyx_L0;
44037 }
44038 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
44039 }
44040
44041 /* "xmmsapi.pyx":2221
44042 * @return: True if the visualization got an error, False otherwise.
44043 * """
44044 * return xmmsc_visualization_errored(self.conn, handle) # <<<<<<<<<<<<<<
44045 *
44046 * cpdef XmmsResult visualization_property_set(self, int handle, key, value, cb = None):
44047 */
44048 __pyx_r = xmmsc_visualization_errored(__pyx_v_self->__pyx_base.conn, __pyx_v_handle);
44049 goto __pyx_L0;
44050
44051 /* "xmmsapi.pyx":2215
44052 * return xmmsc_visualization_started(self.conn, handle)
44053 *
44054 * cpdef bint visualization_errored(self, int handle): # <<<<<<<<<<<<<<
44055 * """
44056 * Whether the visualization got an error.
44057 */
44058
44059 /* function exit code */
44060 __pyx_L1_error:;
44061 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
44062 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
44063 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
44064 __Pyx_WriteUnraisable("xmmsapi.XmmsApi.visualization_errored", __pyx_clineno, __pyx_lineno, __pyx_filename, 0);
44065 __pyx_r = 0;
44066 __pyx_L0:;
44067 __Pyx_RefNannyFinishContext();
44068 return __pyx_r;
44069}
44070
44071/* Python wrapper */
44072static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_213visualization_errored(PyObject *__pyx_v_self, PyObject *__pyx_arg_handle); /*proto*/
44073static char __pyx_doc_7xmmsapi_7XmmsApi_212visualization_errored[] = "XmmsApi.visualization_errored(self, int handle) -> bool\n\n\t\tWhether the visualization got an error.\n\t\t@rtype: L{bool}\n\t\t@return: True if the visualization got an error, False otherwise.\n\t\t";
44074static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_213visualization_errored(PyObject *__pyx_v_self, PyObject *__pyx_arg_handle) {
44075 int __pyx_v_handle;
44076 int __pyx_lineno = 0;
44077 const char *__pyx_filename = NULL((void*)0);
44078 int __pyx_clineno = 0;
44079 PyObject *__pyx_r = 0;
44080 __Pyx_RefNannyDeclarations
44081 __Pyx_RefNannySetupContext("visualization_errored (wrapper)", 0);
44082 assert(__pyx_arg_handle)((void) (0)); {
44083 __pyx_v_handle = __Pyx_PyInt_As_int(__pyx_arg_handle); if (unlikely((__pyx_v_handle == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_handle == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2215; __pyx_clineno = __LINE__44083; goto __pyx_L3_error;}
44084 }
44085 goto __pyx_L4_argument_unpacking_done;
44086 __pyx_L3_error:;
44087 __Pyx_AddTraceback("xmmsapi.XmmsApi.visualization_errored", __pyx_clineno, __pyx_lineno, __pyx_filename);
44088 __Pyx_RefNannyFinishContext();
44089 return NULL((void*)0);
44090 __pyx_L4_argument_unpacking_done:;
44091 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_212visualization_errored(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), ((int)__pyx_v_handle));
44092
44093 /* function exit code */
44094 __Pyx_RefNannyFinishContext();
44095 return __pyx_r;
44096}
44097
44098static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_212visualization_errored(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_handle) {
44099 PyObject *__pyx_r = NULL((void*)0);
44100 __Pyx_RefNannyDeclarations
44101 PyObject *__pyx_t_1 = NULL((void*)0);
44102 int __pyx_lineno = 0;
44103 const char *__pyx_filename = NULL((void*)0);
44104 int __pyx_clineno = 0;
44105 __Pyx_RefNannySetupContext("visualization_errored", 0);
44106 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
44107 __pyx_t_1 = __Pyx_PyBool_FromLong(((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->visualization_errored(__pyx_v_self, __pyx_v_handle, 1))((((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->
__pyx_base.__pyx_vtab)->visualization_errored(__pyx_v_self
, __pyx_v_handle, 1)) ? (( ((PyObject*)(((PyObject *) &_Py_TrueStruct
)))->ob_refcnt++), ((PyObject *) &_Py_TrueStruct)) : (
( ((PyObject*)(((PyObject *) &_Py_ZeroStruct)))->ob_refcnt
++), ((PyObject *) &_Py_ZeroStruct)))
; if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2215; __pyx_clineno = __LINE__44107; goto __pyx_L1_error;}
44108 __Pyx_GOTREF(__pyx_t_1);
44109 __pyx_r = __pyx_t_1;
44110 __pyx_t_1 = 0;
44111 goto __pyx_L0;
44112
44113 /* function exit code */
44114 __pyx_L1_error:;
44115 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
44116 __Pyx_AddTraceback("xmmsapi.XmmsApi.visualization_errored", __pyx_clineno, __pyx_lineno, __pyx_filename);
44117 __pyx_r = NULL((void*)0);
44118 __pyx_L0:;
44119 __Pyx_XGIVEREF(__pyx_r);
44120 __Pyx_RefNannyFinishContext();
44121 return __pyx_r;
44122}
44123
44124/* "xmmsapi.pyx":2223
44125 * return xmmsc_visualization_errored(self.conn, handle)
44126 *
44127 * cpdef XmmsResult visualization_property_set(self, int handle, key, value, cb = None): # <<<<<<<<<<<<<<
44128 * """
44129 * Set a visualization's property.
44130 */
44131
44132static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_215visualization_property_set(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
44133static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_visualization_property_set(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_handle, PyObject *__pyx_v_key, PyObject *__pyx_v_value, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_property_set *__pyx_optional_args) {
44134 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
44135 PyObject *__pyx_v_k = NULL((void*)0);
44136 PyObject *__pyx_v_v = NULL((void*)0);
44137 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
44138 __Pyx_RefNannyDeclarations
44139 PyObject *__pyx_t_1 = NULL((void*)0);
44140 PyObject *__pyx_t_2 = NULL((void*)0);
44141 PyObject *__pyx_t_3 = NULL((void*)0);
44142 char *__pyx_t_4;
44143 char *__pyx_t_5;
44144 int __pyx_lineno = 0;
44145 const char *__pyx_filename = NULL((void*)0);
44146 int __pyx_clineno = 0;
44147 __Pyx_RefNannySetupContext("visualization_property_set", 0);
44148 if (__pyx_optional_args) {
44149 if (__pyx_optional_args->__pyx_n > 0) {
44150 __pyx_v_cb = __pyx_optional_args->cb;
44151 }
44152 }
44153 /* Check if called by wrapper */
44154 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
44155 /* Check if overridden in Python */
44156 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
44157 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_visualization_property_set); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2223; __pyx_clineno = __LINE__44157; goto __pyx_L1_error;}
44158 __Pyx_GOTREF(__pyx_t_1);
44159 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_215visualization_property_set)) {
44160 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
44161 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_handle); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2223; __pyx_clineno = __LINE__44161; goto __pyx_L1_error;}
44162 __Pyx_GOTREF(__pyx_t_2);
44163 __pyx_t_3 = PyTuple_New(4); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2223; __pyx_clineno = __LINE__44163; goto __pyx_L1_error;}
44164 __Pyx_GOTREF(__pyx_t_3);
44165 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
44166 __Pyx_GIVEREF(__pyx_t_2);
44167 __Pyx_INCREF(__pyx_v_key)( ((PyObject*)(__pyx_v_key))->ob_refcnt++);
44168 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_key)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_key);
44169 __Pyx_GIVEREF(__pyx_v_key);
44170 __Pyx_INCREF(__pyx_v_value)( ((PyObject*)(__pyx_v_value))->ob_refcnt++);
44171 PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_value)(((PyTupleObject *)(__pyx_t_3))->ob_item[2] = __pyx_v_value
)
;
44172 __Pyx_GIVEREF(__pyx_v_value);
44173 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
44174 PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_3))->ob_item[3] = __pyx_v_cb);
44175 __Pyx_GIVEREF(__pyx_v_cb);
44176 __pyx_t_2 = 0;
44177 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2223; __pyx_clineno = __LINE__44177; goto __pyx_L1_error;}
44178 __Pyx_GOTREF(__pyx_t_2);
44179 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
44180 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_2) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2223; __pyx_clineno = __LINE__44180; goto __pyx_L1_error;}
44181 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_2);
44182 __pyx_t_2 = 0;
44183 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
44184 goto __pyx_L0;
44185 }
44186 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
44187 }
44188
44189 /* "xmmsapi.pyx":2229
44190 * @return: The result of the operation
44191 * """
44192 * k = from_unicode(key) # <<<<<<<<<<<<<<
44193 * v = from_unicode(value)
44194 * return self.create_result(cb, xmmsc_visualization_property_set(self.conn, handle, <char *>k, <char *>v))
44195 */
44196 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_key); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2229; __pyx_clineno = __LINE__44196; goto __pyx_L1_error;}
44197 __Pyx_GOTREF(__pyx_t_1);
44198 __pyx_v_k = __pyx_t_1;
44199 __pyx_t_1 = 0;
44200
44201 /* "xmmsapi.pyx":2230
44202 * """
44203 * k = from_unicode(key)
44204 * v = from_unicode(value) # <<<<<<<<<<<<<<
44205 * return self.create_result(cb, xmmsc_visualization_property_set(self.conn, handle, <char *>k, <char *>v))
44206 *
44207 */
44208 __pyx_t_1 = __pyx_f_9xmmsutils_from_unicode(__pyx_v_value); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2230; __pyx_clineno = __LINE__44208; goto __pyx_L1_error;}
44209 __Pyx_GOTREF(__pyx_t_1);
44210 __pyx_v_v = __pyx_t_1;
44211 __pyx_t_1 = 0;
44212
44213 /* "xmmsapi.pyx":2231
44214 * k = from_unicode(key)
44215 * v = from_unicode(value)
44216 * return self.create_result(cb, xmmsc_visualization_property_set(self.conn, handle, <char *>k, <char *>v)) # <<<<<<<<<<<<<<
44217 *
44218 * cpdef XmmsResult visualization_properties_set(self, int handle, props = {}, cb = None):
44219 */
44220 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
44221 __pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_k); if (unlikely((!__pyx_t_4) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_4) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2231; __pyx_clineno = __LINE__44221; goto __pyx_L1_error;}
44222 __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_v); if (unlikely((!__pyx_t_5) && PyErr_Occurred())__builtin_expect(!!((!__pyx_t_5) && PyErr_Occurred())
, 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2231; __pyx_clineno = __LINE__44222; goto __pyx_L1_error;}
44223 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, xmmsc_visualization_property_set(__pyx_v_self->__pyx_base.conn, __pyx_v_handle, ((char *)__pyx_t_4), ((char *)__pyx_t_5)))); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2231; __pyx_clineno = __LINE__44223; goto __pyx_L1_error;}
44224 __Pyx_GOTREF(__pyx_t_1);
44225 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
44226 __pyx_t_1 = 0;
44227 goto __pyx_L0;
44228
44229 /* "xmmsapi.pyx":2223
44230 * return xmmsc_visualization_errored(self.conn, handle)
44231 *
44232 * cpdef XmmsResult visualization_property_set(self, int handle, key, value, cb = None): # <<<<<<<<<<<<<<
44233 * """
44234 * Set a visualization's property.
44235 */
44236
44237 /* function exit code */
44238 __pyx_L1_error:;
44239 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
44240 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
44241 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
44242 __Pyx_AddTraceback("xmmsapi.XmmsApi.visualization_property_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
44243 __pyx_r = 0;
44244 __pyx_L0:;
44245 __Pyx_XDECREF(__pyx_v_k)do { if ((__pyx_v_k) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_k))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_k)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_k)))); } while (0); } while (0)
;
44246 __Pyx_XDECREF(__pyx_v_v)do { if ((__pyx_v_v) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_v))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_v)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_v)))); } while (0); } while (0)
;
44247 __Pyx_XGIVEREF((PyObject *)__pyx_r);
44248 __Pyx_RefNannyFinishContext();
44249 return __pyx_r;
44250}
44251
44252/* Python wrapper */
44253static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_215visualization_property_set(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
44254static char __pyx_doc_7xmmsapi_7XmmsApi_214visualization_property_set[] = "XmmsApi.visualization_property_set(self, int handle, key, value, cb=None) -> XmmsResult\n\n\t\tSet a visualization's property.\n\t\t@rtype: L{bool}\n\t\t@return: The result of the operation\n\t\t";
44255static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_215visualization_property_set(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
44256 int __pyx_v_handle;
44257 PyObject *__pyx_v_key = 0;
44258 PyObject *__pyx_v_value = 0;
44259 PyObject *__pyx_v_cb = 0;
44260 int __pyx_lineno = 0;
44261 const char *__pyx_filename = NULL((void*)0);
44262 int __pyx_clineno = 0;
44263 PyObject *__pyx_r = 0;
44264 __Pyx_RefNannyDeclarations
44265 __Pyx_RefNannySetupContext("visualization_property_set (wrapper)", 0);
44266 {
44267 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_handle,&__pyx_n_s_key,&__pyx_n_s_value,&__pyx_n_s_cb,0};
44268 PyObject* values[4] = {0,0,0,0};
44269 values[3] = ((PyObject *)Py_None(&_Py_NoneStruct));
44270 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
44271 Py_ssize_t kw_args;
44272 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
44273 switch (pos_args) {
44274 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
44275 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
44276 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
44277 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
44278 case 0: break;
44279 default: goto __pyx_L5_argtuple_error;
44280 }
44281 kw_args = PyDict_Size(__pyx_kwds);
44282 switch (pos_args) {
44283 case 0:
44284 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_handle)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_handle
)) != 0), 1)
) kw_args--;
44285 else goto __pyx_L5_argtuple_error;
44286 case 1:
44287 if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_key)) != 0)__builtin_expect(!!((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_key
)) != 0), 1)
) kw_args--;
44288 else {
44289 __Pyx_RaiseArgtupleInvalid("visualization_property_set", 0, 3, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2223; __pyx_clineno = __LINE__44289; goto __pyx_L3_error;}
44290 }
44291 case 2:
44292 if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_value)) != 0)__builtin_expect(!!((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_value
)) != 0), 1)
) kw_args--;
44293 else {
44294 __Pyx_RaiseArgtupleInvalid("visualization_property_set", 0, 3, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2223; __pyx_clineno = __LINE__44294; goto __pyx_L3_error;}
44295 }
44296 case 3:
44297 if (kw_args > 0) {
44298 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
44299 if (value) { values[3] = value; kw_args--; }
44300 }
44301 }
44302 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
44303 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "visualization_property_set") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "visualization_property_set") < 0),
0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2223; __pyx_clineno = __LINE__44303; goto __pyx_L3_error;}
44304 }
44305 } else {
44306 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
44307 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
44308 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
44309 values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
44310 values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
44311 break;
44312 default: goto __pyx_L5_argtuple_error;
44313 }
44314 }
44315 __pyx_v_handle = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_handle == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_handle == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2223; __pyx_clineno = __LINE__44315; goto __pyx_L3_error;}
44316 __pyx_v_key = values[1];
44317 __pyx_v_value = values[2];
44318 __pyx_v_cb = values[3];
44319 }
44320 goto __pyx_L4_argument_unpacking_done;
44321 __pyx_L5_argtuple_error:;
44322 __Pyx_RaiseArgtupleInvalid("visualization_property_set", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2223; __pyx_clineno = __LINE__44322; goto __pyx_L3_error;}
44323 __pyx_L3_error:;
44324 __Pyx_AddTraceback("xmmsapi.XmmsApi.visualization_property_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
44325 __Pyx_RefNannyFinishContext();
44326 return NULL((void*)0);
44327 __pyx_L4_argument_unpacking_done:;
44328 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_214visualization_property_set(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_handle, __pyx_v_key, __pyx_v_value, __pyx_v_cb);
44329
44330 /* function exit code */
44331 __Pyx_RefNannyFinishContext();
44332 return __pyx_r;
44333}
44334
44335static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_214visualization_property_set(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_handle, PyObject *__pyx_v_key, PyObject *__pyx_v_value, PyObject *__pyx_v_cb) {
44336 PyObject *__pyx_r = NULL((void*)0);
44337 __Pyx_RefNannyDeclarations
44338 PyObject *__pyx_t_1 = NULL((void*)0);
44339 struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_property_set __pyx_t_2;
44340 int __pyx_lineno = 0;
44341 const char *__pyx_filename = NULL((void*)0);
44342 int __pyx_clineno = 0;
44343 __Pyx_RefNannySetupContext("visualization_property_set", 0);
44344 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
44345 __pyx_t_2.__pyx_n = 1;
44346 __pyx_t_2.cb = __pyx_v_cb;
44347 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->visualization_property_set(__pyx_v_self, __pyx_v_handle, __pyx_v_key, __pyx_v_value, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2223; __pyx_clineno = __LINE__44347; goto __pyx_L1_error;}
44348 __Pyx_GOTREF(__pyx_t_1);
44349 __pyx_r = __pyx_t_1;
44350 __pyx_t_1 = 0;
44351 goto __pyx_L0;
44352
44353 /* function exit code */
44354 __pyx_L1_error:;
44355 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
44356 __Pyx_AddTraceback("xmmsapi.XmmsApi.visualization_property_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
44357 __pyx_r = NULL((void*)0);
44358 __pyx_L0:;
44359 __Pyx_XGIVEREF(__pyx_r);
44360 __Pyx_RefNannyFinishContext();
44361 return __pyx_r;
44362}
44363
44364/* "xmmsapi.pyx":2233
44365 * return self.create_result(cb, xmmsc_visualization_property_set(self.conn, handle, <char *>k, <char *>v))
44366 *
44367 * cpdef XmmsResult visualization_properties_set(self, int handle, props = {}, cb = None): # <<<<<<<<<<<<<<
44368 * """
44369 * Set visualization's properties.
44370 */
44371
44372static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_217visualization_properties_set(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
44373static struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_f_7xmmsapi_7XmmsApi_visualization_properties_set(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_handle, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_properties_set *__pyx_optional_args) {
44374 PyObject *__pyx_v_props = __pyx_k__47;
44375 PyObject *__pyx_v_cb = ((PyObject *)Py_None(&_Py_NoneStruct));
44376 xmmsv_t *__pyx_v__props;
44377 xmmsc_result_t *__pyx_v_res;
44378 struct __pyx_obj_7xmmsapi_XmmsResult *__pyx_r = NULL((void*)0);
44379 __Pyx_RefNannyDeclarations
44380 PyObject *__pyx_t_1 = NULL((void*)0);
44381 PyObject *__pyx_t_2 = NULL((void*)0);
44382 PyObject *__pyx_t_3 = NULL((void*)0);
44383 xmmsv_t *__pyx_t_4;
44384 int __pyx_lineno = 0;
44385 const char *__pyx_filename = NULL((void*)0);
44386 int __pyx_clineno = 0;
44387 __Pyx_RefNannySetupContext("visualization_properties_set", 0);
44388 if (__pyx_optional_args) {
44389 if (__pyx_optional_args->__pyx_n > 0) {
44390 __pyx_v_props = __pyx_optional_args->props;
44391 if (__pyx_optional_args->__pyx_n > 1) {
44392 __pyx_v_cb = __pyx_optional_args->cb;
44393 }
44394 }
44395 }
44396 /* Check if called by wrapper */
44397 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
44398 /* Check if overridden in Python */
44399 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
44400 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_visualization_properties_set); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2233; __pyx_clineno = __LINE__44400; goto __pyx_L1_error;}
44401 __Pyx_GOTREF(__pyx_t_1);
44402 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_217visualization_properties_set)) {
44403 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
44404 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_handle); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2233; __pyx_clineno = __LINE__44404; goto __pyx_L1_error;}
44405 __Pyx_GOTREF(__pyx_t_2);
44406 __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2233; __pyx_clineno = __LINE__44406; goto __pyx_L1_error;}
44407 __Pyx_GOTREF(__pyx_t_3);
44408 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
44409 __Pyx_GIVEREF(__pyx_t_2);
44410 __Pyx_INCREF(__pyx_v_props)( ((PyObject*)(__pyx_v_props))->ob_refcnt++);
44411 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_props)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_props
)
;
44412 __Pyx_GIVEREF(__pyx_v_props);
44413 __Pyx_INCREF(__pyx_v_cb)( ((PyObject*)(__pyx_v_cb))->ob_refcnt++);
44414 PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_cb)(((PyTupleObject *)(__pyx_t_3))->ob_item[2] = __pyx_v_cb);
44415 __Pyx_GIVEREF(__pyx_v_cb);
44416 __pyx_t_2 = 0;
44417 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2233; __pyx_clineno = __LINE__44417; goto __pyx_L1_error;}
44418 __Pyx_GOTREF(__pyx_t_2);
44419 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
44420 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult)))__builtin_expect(!!(((__pyx_t_2) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_7xmmsapi_XmmsResult
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2233; __pyx_clineno = __LINE__44420; goto __pyx_L1_error;}
44421 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_2);
44422 __pyx_t_2 = 0;
44423 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
44424 goto __pyx_L0;
44425 }
44426 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
44427 }
44428
44429 /* "xmmsapi.pyx":2242
44430 * cdef xmmsc_result_t *res
44431 *
44432 * _props = create_native_value(props) # <<<<<<<<<<<<<<
44433 * res = xmmsc_visualization_properties_set(self.conn, handle, _props)
44434 * xmmsv_unref(_props)
44435 */
44436 __pyx_t_4 = __pyx_f_9xmmsvalue_create_native_value(__pyx_v_props); if (unlikely(__pyx_t_4 == NULL)__builtin_expect(!!(__pyx_t_4 == ((void*)0)), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2242; __pyx_clineno = __LINE__44436; goto __pyx_L1_error;}
44437 __pyx_v__props = __pyx_t_4;
44438
44439 /* "xmmsapi.pyx":2243
44440 *
44441 * _props = create_native_value(props)
44442 * res = xmmsc_visualization_properties_set(self.conn, handle, _props) # <<<<<<<<<<<<<<
44443 * xmmsv_unref(_props)
44444 * return self.create_result(cb, res)
44445 */
44446 __pyx_v_res = xmmsc_visualization_properties_set(__pyx_v_self->__pyx_base.conn, __pyx_v_handle, __pyx_v__props);
44447
44448 /* "xmmsapi.pyx":2244
44449 * _props = create_native_value(props)
44450 * res = xmmsc_visualization_properties_set(self.conn, handle, _props)
44451 * xmmsv_unref(_props) # <<<<<<<<<<<<<<
44452 * return self.create_result(cb, res)
44453 *
44454 */
44455 xmmsv_unref(__pyx_v__props);
44456
44457 /* "xmmsapi.pyx":2245
44458 * res = xmmsc_visualization_properties_set(self.conn, handle, _props)
44459 * xmmsv_unref(_props)
44460 * return self.create_result(cb, res) # <<<<<<<<<<<<<<
44461 *
44462 * cpdef XmmsVisChunk visualization_chunk_get(self, int handle, int drawtime = 0, bint blocking = False):
44463 */
44464 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
44465 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.create_result(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), __pyx_v_cb, __pyx_v_res)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2245; __pyx_clineno = __LINE__44465; goto __pyx_L1_error;}
44466 __Pyx_GOTREF(__pyx_t_1);
44467 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsResult *)__pyx_t_1);
44468 __pyx_t_1 = 0;
44469 goto __pyx_L0;
44470
44471 /* "xmmsapi.pyx":2233
44472 * return self.create_result(cb, xmmsc_visualization_property_set(self.conn, handle, <char *>k, <char *>v))
44473 *
44474 * cpdef XmmsResult visualization_properties_set(self, int handle, props = {}, cb = None): # <<<<<<<<<<<<<<
44475 * """
44476 * Set visualization's properties.
44477 */
44478
44479 /* function exit code */
44480 __pyx_L1_error:;
44481 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
44482 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
44483 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
44484 __Pyx_AddTraceback("xmmsapi.XmmsApi.visualization_properties_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
44485 __pyx_r = 0;
44486 __pyx_L0:;
44487 __Pyx_XGIVEREF((PyObject *)__pyx_r);
44488 __Pyx_RefNannyFinishContext();
44489 return __pyx_r;
44490}
44491
44492/* Python wrapper */
44493static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_217visualization_properties_set(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
44494static char __pyx_doc_7xmmsapi_7XmmsApi_216visualization_properties_set[] = "XmmsApi.visualization_properties_set(self, int handle, props={}, cb=None) -> XmmsResult\n\n\t\tSet visualization's properties.\n\t\t@rtype: L{bool}\n\t\t@return: The result of the operation\n\t\t";
44495static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_217visualization_properties_set(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
44496 int __pyx_v_handle;
44497 PyObject *__pyx_v_props = 0;
44498 PyObject *__pyx_v_cb = 0;
44499 int __pyx_lineno = 0;
44500 const char *__pyx_filename = NULL((void*)0);
44501 int __pyx_clineno = 0;
44502 PyObject *__pyx_r = 0;
44503 __Pyx_RefNannyDeclarations
44504 __Pyx_RefNannySetupContext("visualization_properties_set (wrapper)", 0);
44505 {
44506 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_handle,&__pyx_n_s_props,&__pyx_n_s_cb,0};
44507 PyObject* values[3] = {0,0,0};
44508 values[1] = __pyx_k__47;
44509 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
44510 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
44511 Py_ssize_t kw_args;
44512 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
44513 switch (pos_args) {
44514 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
44515 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
44516 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
44517 case 0: break;
44518 default: goto __pyx_L5_argtuple_error;
44519 }
44520 kw_args = PyDict_Size(__pyx_kwds);
44521 switch (pos_args) {
44522 case 0:
44523 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_handle)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_handle
)) != 0), 1)
) kw_args--;
44524 else goto __pyx_L5_argtuple_error;
44525 case 1:
44526 if (kw_args > 0) {
44527 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_props);
44528 if (value) { values[1] = value; kw_args--; }
44529 }
44530 case 2:
44531 if (kw_args > 0) {
44532 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_cb);
44533 if (value) { values[2] = value; kw_args--; }
44534 }
44535 }
44536 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
44537 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "visualization_properties_set") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "visualization_properties_set") < 0
), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2233; __pyx_clineno = __LINE__44537; goto __pyx_L3_error;}
44538 }
44539 } else {
44540 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
44541 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
44542 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
44543 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
44544 break;
44545 default: goto __pyx_L5_argtuple_error;
44546 }
44547 }
44548 __pyx_v_handle = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_handle == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_handle == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2233; __pyx_clineno = __LINE__44548; goto __pyx_L3_error;}
44549 __pyx_v_props = values[1];
44550 __pyx_v_cb = values[2];
44551 }
44552 goto __pyx_L4_argument_unpacking_done;
44553 __pyx_L5_argtuple_error:;
44554 __Pyx_RaiseArgtupleInvalid("visualization_properties_set", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2233; __pyx_clineno = __LINE__44554; goto __pyx_L3_error;}
44555 __pyx_L3_error:;
44556 __Pyx_AddTraceback("xmmsapi.XmmsApi.visualization_properties_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
44557 __Pyx_RefNannyFinishContext();
44558 return NULL((void*)0);
44559 __pyx_L4_argument_unpacking_done:;
44560 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_216visualization_properties_set(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_handle, __pyx_v_props, __pyx_v_cb);
44561
44562 /* function exit code */
44563 __Pyx_RefNannyFinishContext();
44564 return __pyx_r;
44565}
44566
44567static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_216visualization_properties_set(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_handle, PyObject *__pyx_v_props, PyObject *__pyx_v_cb) {
44568 PyObject *__pyx_r = NULL((void*)0);
44569 __Pyx_RefNannyDeclarations
44570 PyObject *__pyx_t_1 = NULL((void*)0);
44571 struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_properties_set __pyx_t_2;
44572 int __pyx_lineno = 0;
44573 const char *__pyx_filename = NULL((void*)0);
44574 int __pyx_clineno = 0;
44575 __Pyx_RefNannySetupContext("visualization_properties_set", 0);
44576 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
44577 __pyx_t_2.__pyx_n = 2;
44578 __pyx_t_2.props = __pyx_v_props;
44579 __pyx_t_2.cb = __pyx_v_cb;
44580 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->visualization_properties_set(__pyx_v_self, __pyx_v_handle, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2233; __pyx_clineno = __LINE__44580; goto __pyx_L1_error;}
44581 __Pyx_GOTREF(__pyx_t_1);
44582 __pyx_r = __pyx_t_1;
44583 __pyx_t_1 = 0;
44584 goto __pyx_L0;
44585
44586 /* function exit code */
44587 __pyx_L1_error:;
44588 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
44589 __Pyx_AddTraceback("xmmsapi.XmmsApi.visualization_properties_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
44590 __pyx_r = NULL((void*)0);
44591 __pyx_L0:;
44592 __Pyx_XGIVEREF(__pyx_r);
44593 __Pyx_RefNannyFinishContext();
44594 return __pyx_r;
44595}
44596
44597/* "xmmsapi.pyx":2247
44598 * return self.create_result(cb, res)
44599 *
44600 * cpdef XmmsVisChunk visualization_chunk_get(self, int handle, int drawtime = 0, bint blocking = False): # <<<<<<<<<<<<<<
44601 * """
44602 * Fetches the next available data chunk
44603 */
44604
44605static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_219visualization_chunk_get(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
44606static struct __pyx_obj_7xmmsapi_XmmsVisChunk *__pyx_f_7xmmsapi_7XmmsApi_visualization_chunk_get(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_handle, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_chunk_get *__pyx_optional_args) {
44607 int __pyx_v_drawtime = ((int)0);
44608 int __pyx_v_blocking = ((int)0);
44609 short *__pyx_v_buf;
44610 int __pyx_v_size;
44611 struct __pyx_obj_7xmmsapi_XmmsVisChunk *__pyx_v_chunk = 0;
44612 struct __pyx_obj_7xmmsapi_XmmsVisChunk *__pyx_r = NULL((void*)0);
44613 __Pyx_RefNannyDeclarations
44614 PyObject *__pyx_t_1 = NULL((void*)0);
44615 PyObject *__pyx_t_2 = NULL((void*)0);
44616 PyObject *__pyx_t_3 = NULL((void*)0);
44617 PyObject *__pyx_t_4 = NULL((void*)0);
44618 PyObject *__pyx_t_5 = NULL((void*)0);
44619 int __pyx_t_6;
44620 int __pyx_lineno = 0;
44621 const char *__pyx_filename = NULL((void*)0);
44622 int __pyx_clineno = 0;
44623 __Pyx_RefNannySetupContext("visualization_chunk_get", 0);
44624 if (__pyx_optional_args) {
44625 if (__pyx_optional_args->__pyx_n > 0) {
44626 __pyx_v_drawtime = __pyx_optional_args->drawtime;
44627 if (__pyx_optional_args->__pyx_n > 1) {
44628 __pyx_v_blocking = __pyx_optional_args->blocking;
44629 }
44630 }
44631 }
44632 /* Check if called by wrapper */
44633 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
44634 /* Check if overridden in Python */
44635 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
44636 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_visualization_chunk_get); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2247; __pyx_clineno = __LINE__44636; goto __pyx_L1_error;}
44637 __Pyx_GOTREF(__pyx_t_1);
44638 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_219visualization_chunk_get)) {
44639 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
44640 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_handle); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2247; __pyx_clineno = __LINE__44640; goto __pyx_L1_error;}
44641 __Pyx_GOTREF(__pyx_t_2);
44642 __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_drawtime); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2247; __pyx_clineno = __LINE__44642; goto __pyx_L1_error;}
44643 __Pyx_GOTREF(__pyx_t_3);
44644 __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_v_blocking)((__pyx_v_blocking) ? (( ((PyObject*)(((PyObject *) &_Py_TrueStruct
)))->ob_refcnt++), ((PyObject *) &_Py_TrueStruct)) : (
( ((PyObject*)(((PyObject *) &_Py_ZeroStruct)))->ob_refcnt
++), ((PyObject *) &_Py_ZeroStruct)))
; if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2247; __pyx_clineno = __LINE__44644; goto __pyx_L1_error;}
44645 __Pyx_GOTREF(__pyx_t_4);
44646 __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)__builtin_expect(!!(!__pyx_t_5), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2247; __pyx_clineno = __LINE__44646; goto __pyx_L1_error;}
44647 __Pyx_GOTREF(__pyx_t_5);
44648 PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_5))->ob_item[0] = __pyx_t_2);
44649 __Pyx_GIVEREF(__pyx_t_2);
44650 PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3)(((PyTupleObject *)(__pyx_t_5))->ob_item[1] = __pyx_t_3);
44651 __Pyx_GIVEREF(__pyx_t_3);
44652 PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4)(((PyTupleObject *)(__pyx_t_5))->ob_item[2] = __pyx_t_4);
44653 __Pyx_GIVEREF(__pyx_t_4);
44654 __pyx_t_2 = 0;
44655 __pyx_t_3 = 0;
44656 __pyx_t_4 = 0;
44657 __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL((void*)0)); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2247; __pyx_clineno = __LINE__44657; goto __pyx_L1_error;}
44658 __Pyx_GOTREF(__pyx_t_4);
44659 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
44660 if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_7xmmsapi_XmmsVisChunk)))__builtin_expect(!!(((__pyx_t_4) == (&_Py_NoneStruct)) ||
__builtin_expect(!!(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_7xmmsapi_XmmsVisChunk
)), 1)), 1)
)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2247; __pyx_clineno = __LINE__44660; goto __pyx_L1_error;}
44661 __pyx_r = ((struct __pyx_obj_7xmmsapi_XmmsVisChunk *)__pyx_t_4);
44662 __pyx_t_4 = 0;
44663 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
44664 goto __pyx_L0;
44665 }
44666 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
44667 }
44668
44669 /* "xmmsapi.pyx":2257
44670 * cdef XmmsVisChunk chunk
44671 *
44672 * buf = <short *>PyMem_Malloc(2 * XMMSC_VISUALIZATION_WINDOW_SIZE * sizeof (short)) # <<<<<<<<<<<<<<
44673 * size = xmmsc_visualization_chunk_get (self.conn, handle, buf, drawtime, blocking)
44674 * if size < 0:
44675 */
44676 __pyx_v_buf = ((short *)PyMem_Malloc(((2 * XMMSC_VISUALIZATION_WINDOW_SIZE512) * (sizeof(short)))));
44677
44678 /* "xmmsapi.pyx":2258
44679 *
44680 * buf = <short *>PyMem_Malloc(2 * XMMSC_VISUALIZATION_WINDOW_SIZE * sizeof (short))
44681 * size = xmmsc_visualization_chunk_get (self.conn, handle, buf, drawtime, blocking) # <<<<<<<<<<<<<<
44682 * if size < 0:
44683 * PyMem_Free(buf)
44684 */
44685 __pyx_v_size = xmmsc_visualization_chunk_get(__pyx_v_self->__pyx_base.conn, __pyx_v_handle, __pyx_v_buf, __pyx_v_drawtime, __pyx_v_blocking);
44686
44687 /* "xmmsapi.pyx":2259
44688 * buf = <short *>PyMem_Malloc(2 * XMMSC_VISUALIZATION_WINDOW_SIZE * sizeof (short))
44689 * size = xmmsc_visualization_chunk_get (self.conn, handle, buf, drawtime, blocking)
44690 * if size < 0: # <<<<<<<<<<<<<<
44691 * PyMem_Free(buf)
44692 * raise VisualizationError("Unrecoverable error in visualization")
44693 */
44694 __pyx_t_6 = ((__pyx_v_size < 0) != 0);
44695 if (__pyx_t_6) {
44696
44697 /* "xmmsapi.pyx":2260
44698 * size = xmmsc_visualization_chunk_get (self.conn, handle, buf, drawtime, blocking)
44699 * if size < 0:
44700 * PyMem_Free(buf) # <<<<<<<<<<<<<<
44701 * raise VisualizationError("Unrecoverable error in visualization")
44702 * chunk = XmmsVisChunk()
44703 */
44704 PyMem_Free(__pyx_v_buf);
44705
44706 /* "xmmsapi.pyx":2261
44707 * if size < 0:
44708 * PyMem_Free(buf)
44709 * raise VisualizationError("Unrecoverable error in visualization") # <<<<<<<<<<<<<<
44710 * chunk = XmmsVisChunk()
44711 * chunk.set_data(buf, size)
44712 */
44713 __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_VisualizationError); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2261; __pyx_clineno = __LINE__44713; goto __pyx_L1_error;}
44714 __Pyx_GOTREF(__pyx_t_1);
44715 __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__48, NULL((void*)0)); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2261; __pyx_clineno = __LINE__44715; goto __pyx_L1_error;}
44716 __Pyx_GOTREF(__pyx_t_4);
44717 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
44718 __Pyx_Raise(__pyx_t_4, 0, 0, 0);
44719 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
44720 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2261; __pyx_clineno = __LINE__44720; goto __pyx_L1_error;}
44721 }
44722
44723 /* "xmmsapi.pyx":2262
44724 * PyMem_Free(buf)
44725 * raise VisualizationError("Unrecoverable error in visualization")
44726 * chunk = XmmsVisChunk() # <<<<<<<<<<<<<<
44727 * chunk.set_data(buf, size)
44728 * PyMem_Free(buf)
44729 */
44730 __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_7xmmsapi_XmmsVisChunk)), __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2262; __pyx_clineno = __LINE__44730; goto __pyx_L1_error;}
44731 __Pyx_GOTREF(__pyx_t_4);
44732 __pyx_v_chunk = ((struct __pyx_obj_7xmmsapi_XmmsVisChunk *)__pyx_t_4);
44733 __pyx_t_4 = 0;
44734
44735 /* "xmmsapi.pyx":2263
44736 * raise VisualizationError("Unrecoverable error in visualization")
44737 * chunk = XmmsVisChunk()
44738 * chunk.set_data(buf, size) # <<<<<<<<<<<<<<
44739 * PyMem_Free(buf)
44740 * return chunk
44741 */
44742 __pyx_t_4 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsVisChunk *)__pyx_v_chunk->__pyx_vtab)->set_data(__pyx_v_chunk, __pyx_v_buf, __pyx_v_size); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2263; __pyx_clineno = __LINE__44742; goto __pyx_L1_error;}
44743 __Pyx_GOTREF(__pyx_t_4);
44744 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
44745
44746 /* "xmmsapi.pyx":2264
44747 * chunk = XmmsVisChunk()
44748 * chunk.set_data(buf, size)
44749 * PyMem_Free(buf) # <<<<<<<<<<<<<<
44750 * return chunk
44751 *
44752 */
44753 PyMem_Free(__pyx_v_buf);
44754
44755 /* "xmmsapi.pyx":2265
44756 * chunk.set_data(buf, size)
44757 * PyMem_Free(buf)
44758 * return chunk # <<<<<<<<<<<<<<
44759 *
44760 * cpdef visualization_shutdown(self, int handle):
44761 */
44762 __Pyx_XDECREF(((PyObject *)__pyx_r))do { if ((((PyObject *)__pyx_r)) == ((void*)0)) ; else do { if
( --((PyObject*)(((PyObject *)__pyx_r)))->ob_refcnt != 0)
; else ( (*(((PyObject*)((PyObject *)(((PyObject *)__pyx_r))
))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(((PyObject
*)__pyx_r))))); } while (0); } while (0)
;
44763 __Pyx_INCREF(((PyObject *)__pyx_v_chunk))( ((PyObject*)(((PyObject *)__pyx_v_chunk)))->ob_refcnt++);
44764 __pyx_r = __pyx_v_chunk;
44765 goto __pyx_L0;
44766
44767 /* "xmmsapi.pyx":2247
44768 * return self.create_result(cb, res)
44769 *
44770 * cpdef XmmsVisChunk visualization_chunk_get(self, int handle, int drawtime = 0, bint blocking = False): # <<<<<<<<<<<<<<
44771 * """
44772 * Fetches the next available data chunk
44773 */
44774
44775 /* function exit code */
44776 __pyx_L1_error:;
44777 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
44778 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
44779 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
44780 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
;
44781 __Pyx_XDECREF(__pyx_t_5)do { if ((__pyx_t_5) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_5))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_5)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_5)))); } while (0); } while (0)
;
44782 __Pyx_AddTraceback("xmmsapi.XmmsApi.visualization_chunk_get", __pyx_clineno, __pyx_lineno, __pyx_filename);
44783 __pyx_r = 0;
44784 __pyx_L0:;
44785 __Pyx_XDECREF((PyObject *)__pyx_v_chunk)do { if (((PyObject *)__pyx_v_chunk) == ((void*)0)) ; else do
{ if ( --((PyObject*)((PyObject *)__pyx_v_chunk))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)((PyObject *)__pyx_v_chunk
)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)((PyObject
*)__pyx_v_chunk)))); } while (0); } while (0)
;
44786 __Pyx_XGIVEREF((PyObject *)__pyx_r);
44787 __Pyx_RefNannyFinishContext();
44788 return __pyx_r;
44789}
44790
44791/* Python wrapper */
44792static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_219visualization_chunk_get(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
44793static char __pyx_doc_7xmmsapi_7XmmsApi_218visualization_chunk_get[] = "XmmsApi.visualization_chunk_get(self, int handle, int drawtime=0, bool blocking=False) -> XmmsVisChunk\n\n\t\tFetches the next available data chunk\n\t\t@rtype: L{XmmsVisChunk}\n\t\t@return: Visualization chunk.\n\t\t";
44794static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_219visualization_chunk_get(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
44795 int __pyx_v_handle;
44796 int __pyx_v_drawtime;
44797 int __pyx_v_blocking;
44798 int __pyx_lineno = 0;
44799 const char *__pyx_filename = NULL((void*)0);
44800 int __pyx_clineno = 0;
44801 PyObject *__pyx_r = 0;
44802 __Pyx_RefNannyDeclarations
44803 __Pyx_RefNannySetupContext("visualization_chunk_get (wrapper)", 0);
44804 {
44805 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_handle,&__pyx_n_s_drawtime,&__pyx_n_s_blocking,0};
44806 PyObject* values[3] = {0,0,0};
44807 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
44808 Py_ssize_t kw_args;
44809 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
44810 switch (pos_args) {
44811 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
44812 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
44813 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
44814 case 0: break;
44815 default: goto __pyx_L5_argtuple_error;
44816 }
44817 kw_args = PyDict_Size(__pyx_kwds);
44818 switch (pos_args) {
44819 case 0:
44820 if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_handle)) != 0)__builtin_expect(!!((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_handle
)) != 0), 1)
) kw_args--;
44821 else goto __pyx_L5_argtuple_error;
44822 case 1:
44823 if (kw_args > 0) {
44824 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_drawtime);
44825 if (value) { values[1] = value; kw_args--; }
44826 }
44827 case 2:
44828 if (kw_args > 0) {
44829 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_blocking);
44830 if (value) { values[2] = value; kw_args--; }
44831 }
44832 }
44833 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
44834 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "visualization_chunk_get") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "visualization_chunk_get") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2247; __pyx_clineno = __LINE__44834; goto __pyx_L3_error;}
44835 }
44836 } else {
44837 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
44838 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
44839 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
44840 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
44841 break;
44842 default: goto __pyx_L5_argtuple_error;
44843 }
44844 }
44845 __pyx_v_handle = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_handle == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_handle == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2247; __pyx_clineno = __LINE__44845; goto __pyx_L3_error;}
44846 if (values[1]) {
44847 __pyx_v_drawtime = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_drawtime == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_drawtime == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2247; __pyx_clineno = __LINE__44847; goto __pyx_L3_error;}
44848 } else {
44849 __pyx_v_drawtime = ((int)0);
44850 }
44851 if (values[2]) {
44852 __pyx_v_blocking = __Pyx_PyObject_IsTrue(values[2]); if (unlikely((__pyx_v_blocking == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_blocking == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2247; __pyx_clineno = __LINE__44852; goto __pyx_L3_error;}
44853 } else {
44854 __pyx_v_blocking = ((int)0);
44855 }
44856 }
44857 goto __pyx_L4_argument_unpacking_done;
44858 __pyx_L5_argtuple_error:;
44859 __Pyx_RaiseArgtupleInvalid("visualization_chunk_get", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2247; __pyx_clineno = __LINE__44859; goto __pyx_L3_error;}
44860 __pyx_L3_error:;
44861 __Pyx_AddTraceback("xmmsapi.XmmsApi.visualization_chunk_get", __pyx_clineno, __pyx_lineno, __pyx_filename);
44862 __Pyx_RefNannyFinishContext();
44863 return NULL((void*)0);
44864 __pyx_L4_argument_unpacking_done:;
44865 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_218visualization_chunk_get(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), __pyx_v_handle, __pyx_v_drawtime, __pyx_v_blocking);
44866
44867 /* function exit code */
44868 __Pyx_RefNannyFinishContext();
44869 return __pyx_r;
44870}
44871
44872static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_218visualization_chunk_get(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_handle, int __pyx_v_drawtime, int __pyx_v_blocking) {
44873 PyObject *__pyx_r = NULL((void*)0);
44874 __Pyx_RefNannyDeclarations
44875 PyObject *__pyx_t_1 = NULL((void*)0);
44876 struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_chunk_get __pyx_t_2;
44877 int __pyx_lineno = 0;
44878 const char *__pyx_filename = NULL((void*)0);
44879 int __pyx_clineno = 0;
44880 __Pyx_RefNannySetupContext("visualization_chunk_get", 0);
44881 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
44882 __pyx_t_2.__pyx_n = 2;
44883 __pyx_t_2.drawtime = __pyx_v_drawtime;
44884 __pyx_t_2.blocking = __pyx_v_blocking;
44885 __pyx_t_1 = ((PyObject *)((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->visualization_chunk_get(__pyx_v_self, __pyx_v_handle, 1, &__pyx_t_2)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2247; __pyx_clineno = __LINE__44885; goto __pyx_L1_error;}
44886 __Pyx_GOTREF(__pyx_t_1);
44887 __pyx_r = __pyx_t_1;
44888 __pyx_t_1 = 0;
44889 goto __pyx_L0;
44890
44891 /* function exit code */
44892 __pyx_L1_error:;
44893 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
44894 __Pyx_AddTraceback("xmmsapi.XmmsApi.visualization_chunk_get", __pyx_clineno, __pyx_lineno, __pyx_filename);
44895 __pyx_r = NULL((void*)0);
44896 __pyx_L0:;
44897 __Pyx_XGIVEREF(__pyx_r);
44898 __Pyx_RefNannyFinishContext();
44899 return __pyx_r;
44900}
44901
44902/* "xmmsapi.pyx":2267
44903 * return chunk
44904 *
44905 * cpdef visualization_shutdown(self, int handle): # <<<<<<<<<<<<<<
44906 * """
44907 * Shutdown and destroy a visualization. After this, handle is no longer valid.
44908 */
44909
44910static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_221visualization_shutdown(PyObject *__pyx_v_self, PyObject *__pyx_arg_handle); /*proto*/
44911static PyObject *__pyx_f_7xmmsapi_7XmmsApi_visualization_shutdown(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_handle, int __pyx_skip_dispatch) {
44912 PyObject *__pyx_r = NULL((void*)0);
44913 __Pyx_RefNannyDeclarations
44914 PyObject *__pyx_t_1 = NULL((void*)0);
44915 PyObject *__pyx_t_2 = NULL((void*)0);
44916 PyObject *__pyx_t_3 = NULL((void*)0);
44917 int __pyx_lineno = 0;
44918 const char *__pyx_filename = NULL((void*)0);
44919 int __pyx_clineno = 0;
44920 __Pyx_RefNannySetupContext("visualization_shutdown", 0);
44921 /* Check if called by wrapper */
44922 if (unlikely(__pyx_skip_dispatch)__builtin_expect(!!(__pyx_skip_dispatch), 0)) ;
44923 /* Check if overridden in Python */
44924 else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)__builtin_expect(!!((((PyObject*)(((PyObject *)__pyx_v_self))
)->ob_type)->tp_dictoffset != 0), 0)
) {
44925 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_visualization_shutdown); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2267; __pyx_clineno = __LINE__44925; goto __pyx_L1_error;}
44926 __Pyx_GOTREF(__pyx_t_1);
44927 if (!PyCFunction_Check(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyCFunction_Type
)
|| (PyCFunction_GET_FUNCTION(__pyx_t_1)(((PyCFunctionObject *)__pyx_t_1) -> m_ml -> ml_meth) != (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_221visualization_shutdown)) {
44928 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
44929 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_handle); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2267; __pyx_clineno = __LINE__44929; goto __pyx_L1_error;}
44930 __Pyx_GOTREF(__pyx_t_2);
44931 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2267; __pyx_clineno = __LINE__44931; goto __pyx_L1_error;}
44932 __Pyx_GOTREF(__pyx_t_3);
44933 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
44934 __Pyx_GIVEREF(__pyx_t_2);
44935 __pyx_t_2 = 0;
44936 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2267; __pyx_clineno = __LINE__44936; goto __pyx_L1_error;}
44937 __Pyx_GOTREF(__pyx_t_2);
44938 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
44939 __pyx_r = __pyx_t_2;
44940 __pyx_t_2 = 0;
44941 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
44942 goto __pyx_L0;
44943 }
44944 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
44945 }
44946
44947 /* "xmmsapi.pyx":2271
44948 * Shutdown and destroy a visualization. After this, handle is no longer valid.
44949 * """
44950 * xmmsc_visualization_shutdown(self.conn, handle) # <<<<<<<<<<<<<<
44951 *
44952 *
44953 */
44954 xmmsc_visualization_shutdown(__pyx_v_self->__pyx_base.conn, __pyx_v_handle);
44955
44956 /* "xmmsapi.pyx":2267
44957 * return chunk
44958 *
44959 * cpdef visualization_shutdown(self, int handle): # <<<<<<<<<<<<<<
44960 * """
44961 * Shutdown and destroy a visualization. After this, handle is no longer valid.
44962 */
44963
44964 /* function exit code */
44965 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
44966 goto __pyx_L0;
44967 __pyx_L1_error:;
44968 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
44969 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
44970 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
44971 __Pyx_AddTraceback("xmmsapi.XmmsApi.visualization_shutdown", __pyx_clineno, __pyx_lineno, __pyx_filename);
44972 __pyx_r = 0;
44973 __pyx_L0:;
44974 __Pyx_XGIVEREF(__pyx_r);
44975 __Pyx_RefNannyFinishContext();
44976 return __pyx_r;
44977}
44978
44979/* Python wrapper */
44980static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_221visualization_shutdown(PyObject *__pyx_v_self, PyObject *__pyx_arg_handle); /*proto*/
44981static char __pyx_doc_7xmmsapi_7XmmsApi_220visualization_shutdown[] = "XmmsApi.visualization_shutdown(self, int handle)\n\n\t\tShutdown and destroy a visualization. After this, handle is no longer valid.\n\t\t";
44982static PyObject *__pyx_pw_7xmmsapi_7XmmsApi_221visualization_shutdown(PyObject *__pyx_v_self, PyObject *__pyx_arg_handle) {
44983 int __pyx_v_handle;
44984 int __pyx_lineno = 0;
44985 const char *__pyx_filename = NULL((void*)0);
44986 int __pyx_clineno = 0;
44987 PyObject *__pyx_r = 0;
44988 __Pyx_RefNannyDeclarations
44989 __Pyx_RefNannySetupContext("visualization_shutdown (wrapper)", 0);
44990 assert(__pyx_arg_handle)((void) (0)); {
44991 __pyx_v_handle = __Pyx_PyInt_As_int(__pyx_arg_handle); if (unlikely((__pyx_v_handle == (int)-1) && PyErr_Occurred())__builtin_expect(!!((__pyx_v_handle == (int)-1) && PyErr_Occurred
()), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2267; __pyx_clineno = __LINE__44991; goto __pyx_L3_error;}
44992 }
44993 goto __pyx_L4_argument_unpacking_done;
44994 __pyx_L3_error:;
44995 __Pyx_AddTraceback("xmmsapi.XmmsApi.visualization_shutdown", __pyx_clineno, __pyx_lineno, __pyx_filename);
44996 __Pyx_RefNannyFinishContext();
44997 return NULL((void*)0);
44998 __pyx_L4_argument_unpacking_done:;
44999 __pyx_r = __pyx_pf_7xmmsapi_7XmmsApi_220visualization_shutdown(((struct __pyx_obj_7xmmsapi_XmmsApi *)__pyx_v_self), ((int)__pyx_v_handle));
45000
45001 /* function exit code */
45002 __Pyx_RefNannyFinishContext();
45003 return __pyx_r;
45004}
45005
45006static PyObject *__pyx_pf_7xmmsapi_7XmmsApi_220visualization_shutdown(struct __pyx_obj_7xmmsapi_XmmsApi *__pyx_v_self, int __pyx_v_handle) {
45007 PyObject *__pyx_r = NULL((void*)0);
45008 __Pyx_RefNannyDeclarations
45009 PyObject *__pyx_t_1 = NULL((void*)0);
45010 int __pyx_lineno = 0;
45011 const char *__pyx_filename = NULL((void*)0);
45012 int __pyx_clineno = 0;
45013 __Pyx_RefNannySetupContext("visualization_shutdown", 0);
45014 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
45015 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsApi *)__pyx_v_self->__pyx_base.__pyx_vtab)->visualization_shutdown(__pyx_v_self, __pyx_v_handle, 1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2267; __pyx_clineno = __LINE__45015; goto __pyx_L1_error;}
45016 __Pyx_GOTREF(__pyx_t_1);
45017 __pyx_r = __pyx_t_1;
45018 __pyx_t_1 = 0;
45019 goto __pyx_L0;
45020
45021 /* function exit code */
45022 __pyx_L1_error:;
45023 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
45024 __Pyx_AddTraceback("xmmsapi.XmmsApi.visualization_shutdown", __pyx_clineno, __pyx_lineno, __pyx_filename);
45025 __pyx_r = NULL((void*)0);
45026 __pyx_L0:;
45027 __Pyx_XGIVEREF(__pyx_r);
45028 __Pyx_RefNannyFinishContext();
45029 return __pyx_r;
45030}
45031
45032/* "xmmsapi.pyx":2282
45033 * #cdef object wakeup
45034 *
45035 * def __cinit__(self): # <<<<<<<<<<<<<<
45036 * self.do_loop = 0
45037 *
45038 */
45039
45040/* Python wrapper */
45041static int __pyx_pw_7xmmsapi_8XmmsLoop_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
45042static int __pyx_pw_7xmmsapi_8XmmsLoop_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
45043 int __pyx_r;
45044 __Pyx_RefNannyDeclarations
45045 __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
45046 if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)__builtin_expect(!!((((PyVarObject*)(__pyx_args))->ob_size
) > 0), 0)
) {
45047 __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); return -1;}
45048 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0) && unlikely(PyDict_Size(__pyx_kwds) > 0)__builtin_expect(!!(PyDict_Size(__pyx_kwds) > 0), 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))__builtin_expect(!!(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__"
, 0)), 0)
) return -1;
45049 __pyx_r = __pyx_pf_7xmmsapi_8XmmsLoop___cinit__(((struct __pyx_obj_7xmmsapi_XmmsLoop *)__pyx_v_self));
45050
45051 /* function exit code */
45052 __Pyx_RefNannyFinishContext();
45053 return __pyx_r;
45054}
45055
45056static int __pyx_pf_7xmmsapi_8XmmsLoop___cinit__(struct __pyx_obj_7xmmsapi_XmmsLoop *__pyx_v_self) {
45057 int __pyx_r;
45058 __Pyx_RefNannyDeclarations
45059 __Pyx_RefNannySetupContext("__cinit__", 0);
45060
45061 /* "xmmsapi.pyx":2283
45062 *
45063 * def __cinit__(self):
45064 * self.do_loop = 0 # <<<<<<<<<<<<<<
45065 *
45066 * def _loop_set_wakeup(self, fd):
45067 */
45068 __pyx_v_self->do_loop = 0;
45069
45070 /* "xmmsapi.pyx":2282
45071 * #cdef object wakeup
45072 *
45073 * def __cinit__(self): # <<<<<<<<<<<<<<
45074 * self.do_loop = 0
45075 *
45076 */
45077
45078 /* function exit code */
45079 __pyx_r = 0;
45080 __Pyx_RefNannyFinishContext();
45081 return __pyx_r;
45082}
45083
45084/* "xmmsapi.pyx":2285
45085 * self.do_loop = 0
45086 *
45087 * def _loop_set_wakeup(self, fd): # <<<<<<<<<<<<<<
45088 * """
45089 * Set the file descriptor for wakeup operations.
45090 */
45091
45092/* Python wrapper */
45093static PyObject *__pyx_pw_7xmmsapi_8XmmsLoop_3_loop_set_wakeup(PyObject *__pyx_v_self, PyObject *__pyx_v_fd); /*proto*/
45094static char __pyx_doc_7xmmsapi_8XmmsLoop_2_loop_set_wakeup[] = "XmmsLoop._loop_set_wakeup(self, fd)\n\n\t\tSet the file descriptor for wakeup operations.\n\t\tThis method should not be used outside the XmmsLoop class implementation.\n\t\tIt is provided to allow subclasses to add some locking on it in\n\t\tmultithreaded applications.\n\n\t\tUse a Rlock if you want to synchronize other methods using the same lock.\n\t\t";
45095static PyObject *__pyx_pw_7xmmsapi_8XmmsLoop_3_loop_set_wakeup(PyObject *__pyx_v_self, PyObject *__pyx_v_fd) {
45096 PyObject *__pyx_r = 0;
45097 __Pyx_RefNannyDeclarations
45098 __Pyx_RefNannySetupContext("_loop_set_wakeup (wrapper)", 0);
45099 __pyx_r = __pyx_pf_7xmmsapi_8XmmsLoop_2_loop_set_wakeup(((struct __pyx_obj_7xmmsapi_XmmsLoop *)__pyx_v_self), ((PyObject *)__pyx_v_fd));
45100
45101 /* function exit code */
45102 __Pyx_RefNannyFinishContext();
45103 return __pyx_r;
45104}
45105
45106static PyObject *__pyx_pf_7xmmsapi_8XmmsLoop_2_loop_set_wakeup(struct __pyx_obj_7xmmsapi_XmmsLoop *__pyx_v_self, PyObject *__pyx_v_fd) {
45107 PyObject *__pyx_r = NULL((void*)0);
45108 __Pyx_RefNannyDeclarations
45109 __Pyx_RefNannySetupContext("_loop_set_wakeup", 0);
45110
45111 /* "xmmsapi.pyx":2294
45112 * Use a Rlock if you want to synchronize other methods using the same lock.
45113 * """
45114 * self.wakeup = fd # <<<<<<<<<<<<<<
45115 * def _loop_get_wakeup(self):
45116 * """
45117 */
45118 __Pyx_INCREF(__pyx_v_fd)( ((PyObject*)(__pyx_v_fd))->ob_refcnt++);
45119 __Pyx_GIVEREF(__pyx_v_fd);
45120 __Pyx_GOTREF(__pyx_v_self->wakeup);
45121 __Pyx_DECREF(__pyx_v_self->wakeup)do { if ( --((PyObject*)(__pyx_v_self->wakeup))->ob_refcnt
!= 0) ; else ( (*(((PyObject*)((PyObject *)(__pyx_v_self->
wakeup)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_v_self->wakeup)))); } while (0)
;
45122 __pyx_v_self->wakeup = __pyx_v_fd;
45123
45124 /* "xmmsapi.pyx":2285
45125 * self.do_loop = 0
45126 *
45127 * def _loop_set_wakeup(self, fd): # <<<<<<<<<<<<<<
45128 * """
45129 * Set the file descriptor for wakeup operations.
45130 */
45131
45132 /* function exit code */
45133 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
45134 __Pyx_XGIVEREF(__pyx_r);
45135 __Pyx_RefNannyFinishContext();
45136 return __pyx_r;
45137}
45138
45139/* "xmmsapi.pyx":2295
45140 * """
45141 * self.wakeup = fd
45142 * def _loop_get_wakeup(self): # <<<<<<<<<<<<<<
45143 * """
45144 * Get the file descriptor for wakeup operations.
45145 */
45146
45147/* Python wrapper */
45148static PyObject *__pyx_pw_7xmmsapi_8XmmsLoop_5_loop_get_wakeup(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
45149static char __pyx_doc_7xmmsapi_8XmmsLoop_4_loop_get_wakeup[] = "XmmsLoop._loop_get_wakeup(self)\n\n\t\tGet the file descriptor for wakeup operations.\n\t\tThis method should not be used outside the XmmsLoop class implementation.\n\t\tIt is provided to allow subclasses to add some locking on it in\n\t\tmultithreaded applications.\n\n\t\tUse a Rlock if you want to synchronize other methods using the same lock.\n\t\t";
45150static PyObject *__pyx_pw_7xmmsapi_8XmmsLoop_5_loop_get_wakeup(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
45151 PyObject *__pyx_r = 0;
45152 __Pyx_RefNannyDeclarations
45153 __Pyx_RefNannySetupContext("_loop_get_wakeup (wrapper)", 0);
45154 __pyx_r = __pyx_pf_7xmmsapi_8XmmsLoop_4_loop_get_wakeup(((struct __pyx_obj_7xmmsapi_XmmsLoop *)__pyx_v_self));
45155
45156 /* function exit code */
45157 __Pyx_RefNannyFinishContext();
45158 return __pyx_r;
45159}
45160
45161static PyObject *__pyx_pf_7xmmsapi_8XmmsLoop_4_loop_get_wakeup(struct __pyx_obj_7xmmsapi_XmmsLoop *__pyx_v_self) {
45162 PyObject *__pyx_r = NULL((void*)0);
45163 __Pyx_RefNannyDeclarations
45164 __Pyx_RefNannySetupContext("_loop_get_wakeup", 0);
45165
45166 /* "xmmsapi.pyx":2304
45167 * Use a Rlock if you want to synchronize other methods using the same lock.
45168 * """
45169 * return self.wakeup # <<<<<<<<<<<<<<
45170 *
45171 * def exit_loop(self):
45172 */
45173 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
45174 __Pyx_INCREF(__pyx_v_self->wakeup)( ((PyObject*)(__pyx_v_self->wakeup))->ob_refcnt++);
45175 __pyx_r = __pyx_v_self->wakeup;
45176 goto __pyx_L0;
45177
45178 /* "xmmsapi.pyx":2295
45179 * """
45180 * self.wakeup = fd
45181 * def _loop_get_wakeup(self): # <<<<<<<<<<<<<<
45182 * """
45183 * Get the file descriptor for wakeup operations.
45184 */
45185
45186 /* function exit code */
45187 __pyx_L0:;
45188 __Pyx_XGIVEREF(__pyx_r);
45189 __Pyx_RefNannyFinishContext();
45190 return __pyx_r;
45191}
45192
45193/* "xmmsapi.pyx":2306
45194 * return self.wakeup
45195 *
45196 * def exit_loop(self): # <<<<<<<<<<<<<<
45197 * """
45198 * Exits from the L{loop} call
45199 */
45200
45201/* Python wrapper */
45202static PyObject *__pyx_pw_7xmmsapi_8XmmsLoop_7exit_loop(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
45203static char __pyx_doc_7xmmsapi_8XmmsLoop_6exit_loop[] = "XmmsLoop.exit_loop(self)\n\n\t\tExits from the L{loop} call\n\t\t";
45204static PyObject *__pyx_pw_7xmmsapi_8XmmsLoop_7exit_loop(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
45205 PyObject *__pyx_r = 0;
45206 __Pyx_RefNannyDeclarations
45207 __Pyx_RefNannySetupContext("exit_loop (wrapper)", 0);
45208 __pyx_r = __pyx_pf_7xmmsapi_8XmmsLoop_6exit_loop(((struct __pyx_obj_7xmmsapi_XmmsLoop *)__pyx_v_self));
45209
45210 /* function exit code */
45211 __Pyx_RefNannyFinishContext();
45212 return __pyx_r;
45213}
45214
45215static PyObject *__pyx_pf_7xmmsapi_8XmmsLoop_6exit_loop(struct __pyx_obj_7xmmsapi_XmmsLoop *__pyx_v_self) {
45216 PyObject *__pyx_r = NULL((void*)0);
45217 __Pyx_RefNannyDeclarations
45218 PyObject *__pyx_t_1 = NULL((void*)0);
45219 PyObject *__pyx_t_2 = NULL((void*)0);
45220 int __pyx_lineno = 0;
45221 const char *__pyx_filename = NULL((void*)0);
45222 int __pyx_clineno = 0;
45223 __Pyx_RefNannySetupContext("exit_loop", 0);
45224
45225 /* "xmmsapi.pyx":2310
45226 * Exits from the L{loop} call
45227 * """
45228 * self.do_loop = False # <<<<<<<<<<<<<<
45229 * self.loop_tickle()
45230 *
45231 */
45232 __pyx_v_self->do_loop = 0;
45233
45234 /* "xmmsapi.pyx":2311
45235 * """
45236 * self.do_loop = False
45237 * self.loop_tickle() # <<<<<<<<<<<<<<
45238 *
45239 * def loop_tickle(self):
45240 */
45241 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_loop_tickle); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2311; __pyx_clineno = __LINE__45241; goto __pyx_L1_error;}
45242 __Pyx_GOTREF(__pyx_t_1);
45243 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2311; __pyx_clineno = __LINE__45243; goto __pyx_L1_error;}
45244 __Pyx_GOTREF(__pyx_t_2);
45245 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
45246 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
45247
45248 /* "xmmsapi.pyx":2306
45249 * return self.wakeup
45250 *
45251 * def exit_loop(self): # <<<<<<<<<<<<<<
45252 * """
45253 * Exits from the L{loop} call
45254 */
45255
45256 /* function exit code */
45257 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
45258 goto __pyx_L0;
45259 __pyx_L1_error:;
45260 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
45261 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
45262 __Pyx_AddTraceback("xmmsapi.XmmsLoop.exit_loop", __pyx_clineno, __pyx_lineno, __pyx_filename);
45263 __pyx_r = NULL((void*)0);
45264 __pyx_L0:;
45265 __Pyx_XGIVEREF(__pyx_r);
45266 __Pyx_RefNannyFinishContext();
45267 return __pyx_r;
45268}
45269
45270/* "xmmsapi.pyx":2313
45271 * self.loop_tickle()
45272 *
45273 * def loop_tickle(self): # <<<<<<<<<<<<<<
45274 * from os import write
45275 * w = self._loop_get_wakeup()
45276 */
45277
45278/* Python wrapper */
45279static PyObject *__pyx_pw_7xmmsapi_8XmmsLoop_9loop_tickle(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
45280static char __pyx_doc_7xmmsapi_8XmmsLoop_8loop_tickle[] = "XmmsLoop.loop_tickle(self)";
45281static PyObject *__pyx_pw_7xmmsapi_8XmmsLoop_9loop_tickle(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
45282 PyObject *__pyx_r = 0;
45283 __Pyx_RefNannyDeclarations
45284 __Pyx_RefNannySetupContext("loop_tickle (wrapper)", 0);
45285 __pyx_r = __pyx_pf_7xmmsapi_8XmmsLoop_8loop_tickle(((struct __pyx_obj_7xmmsapi_XmmsLoop *)__pyx_v_self));
45286
45287 /* function exit code */
45288 __Pyx_RefNannyFinishContext();
45289 return __pyx_r;
45290}
45291
45292static PyObject *__pyx_pf_7xmmsapi_8XmmsLoop_8loop_tickle(struct __pyx_obj_7xmmsapi_XmmsLoop *__pyx_v_self) {
45293 PyObject *__pyx_v_write = NULL((void*)0);
45294 PyObject *__pyx_v_w = NULL((void*)0);
45295 PyObject *__pyx_r = NULL((void*)0);
45296 __Pyx_RefNannyDeclarations
45297 PyObject *__pyx_t_1 = NULL((void*)0);
45298 PyObject *__pyx_t_2 = NULL((void*)0);
45299 int __pyx_t_3;
45300 int __pyx_t_4;
45301 int __pyx_lineno = 0;
45302 const char *__pyx_filename = NULL((void*)0);
45303 int __pyx_clineno = 0;
45304 __Pyx_RefNannySetupContext("loop_tickle", 0);
45305
45306 /* "xmmsapi.pyx":2314
45307 *
45308 * def loop_tickle(self):
45309 * from os import write # <<<<<<<<<<<<<<
45310 * w = self._loop_get_wakeup()
45311 * if w is not None:
45312 */
45313 __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2314; __pyx_clineno = __LINE__45313; goto __pyx_L1_error;}
45314 __Pyx_GOTREF(__pyx_t_1);
45315 __Pyx_INCREF(__pyx_n_s_write)( ((PyObject*)(__pyx_n_s_write))->ob_refcnt++);
45316 PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_write)(((PyListObject *)(__pyx_t_1))->ob_item[0] = (__pyx_n_s_write
))
;
45317 __Pyx_GIVEREF(__pyx_n_s_write);
45318 __pyx_t_2 = __Pyx_Import(__pyx_n_s_os, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2314; __pyx_clineno = __LINE__45318; goto __pyx_L1_error;}
45319 __Pyx_GOTREF(__pyx_t_2);
45320 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
45321 __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_write); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2314; __pyx_clineno = __LINE__45321; goto __pyx_L1_error;}
45322 __Pyx_GOTREF(__pyx_t_1);
45323 __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++);
45324 __pyx_v_write = __pyx_t_1;
45325 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
45326 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
45327
45328 /* "xmmsapi.pyx":2315
45329 * def loop_tickle(self):
45330 * from os import write
45331 * w = self._loop_get_wakeup() # <<<<<<<<<<<<<<
45332 * if w is not None:
45333 * write(w, "1".encode('ascii'))
45334 */
45335 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_loop_get_wakeup); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2315; __pyx_clineno = __LINE__45335; goto __pyx_L1_error;}
45336 __Pyx_GOTREF(__pyx_t_2);
45337 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2315; __pyx_clineno = __LINE__45337; goto __pyx_L1_error;}
45338 __Pyx_GOTREF(__pyx_t_1);
45339 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
45340 __pyx_v_w = __pyx_t_1;
45341 __pyx_t_1 = 0;
45342
45343 /* "xmmsapi.pyx":2316
45344 * from os import write
45345 * w = self._loop_get_wakeup()
45346 * if w is not None: # <<<<<<<<<<<<<<
45347 * write(w, "1".encode('ascii'))
45348 *
45349 */
45350 __pyx_t_3 = (__pyx_v_w != Py_None(&_Py_NoneStruct));
45351 __pyx_t_4 = (__pyx_t_3 != 0);
45352 if (__pyx_t_4) {
45353
45354 /* "xmmsapi.pyx":2317
45355 * w = self._loop_get_wakeup()
45356 * if w is not None:
45357 * write(w, "1".encode('ascii')) # <<<<<<<<<<<<<<
45358 *
45359 * def loop_iter(self, infd = None, outfd = None, errfd = None, timeout = -1):
45360 */
45361 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_1, __pyx_n_s_encode); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2317; __pyx_clineno = __LINE__45361; goto __pyx_L1_error;}
45362 __Pyx_GOTREF(__pyx_t_1);
45363 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__49, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2317; __pyx_clineno = __LINE__45363; goto __pyx_L1_error;}
45364 __Pyx_GOTREF(__pyx_t_2);
45365 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
45366 __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2317; __pyx_clineno = __LINE__45366; goto __pyx_L1_error;}
45367 __Pyx_GOTREF(__pyx_t_1);
45368 __Pyx_INCREF(__pyx_v_w)( ((PyObject*)(__pyx_v_w))->ob_refcnt++);
45369 PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_w)(((PyTupleObject *)(__pyx_t_1))->ob_item[0] = __pyx_v_w);
45370 __Pyx_GIVEREF(__pyx_v_w);
45371 PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2)(((PyTupleObject *)(__pyx_t_1))->ob_item[1] = __pyx_t_2);
45372 __Pyx_GIVEREF(__pyx_t_2);
45373 __pyx_t_2 = 0;
45374 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_v_write, __pyx_t_1, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2317; __pyx_clineno = __LINE__45374; goto __pyx_L1_error;}
45375 __Pyx_GOTREF(__pyx_t_2);
45376 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
45377 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
45378 goto __pyx_L3;
45379 }
45380 __pyx_L3:;
45381
45382 /* "xmmsapi.pyx":2313
45383 * self.loop_tickle()
45384 *
45385 * def loop_tickle(self): # <<<<<<<<<<<<<<
45386 * from os import write
45387 * w = self._loop_get_wakeup()
45388 */
45389
45390 /* function exit code */
45391 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
45392 goto __pyx_L0;
45393 __pyx_L1_error:;
45394 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
45395 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
45396 __Pyx_AddTraceback("xmmsapi.XmmsLoop.loop_tickle", __pyx_clineno, __pyx_lineno, __pyx_filename);
45397 __pyx_r = NULL((void*)0);
45398 __pyx_L0:;
45399 __Pyx_XDECREF(__pyx_v_write)do { if ((__pyx_v_write) == ((void*)0)) ; else do { if ( --((
PyObject*)(__pyx_v_write))->ob_refcnt != 0) ; else ( (*(((
PyObject*)((PyObject *)(__pyx_v_write)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(__pyx_v_write)))); } while (0); }
while (0)
;
45400 __Pyx_XDECREF(__pyx_v_w)do { if ((__pyx_v_w) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_w))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_w)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_w)))); } while (0); } while (0)
;
45401 __Pyx_XGIVEREF(__pyx_r);
45402 __Pyx_RefNannyFinishContext();
45403 return __pyx_r;
45404}
45405
45406/* "xmmsapi.pyx":2319
45407 * write(w, "1".encode('ascii'))
45408 *
45409 * def loop_iter(self, infd = None, outfd = None, errfd = None, timeout = -1): # <<<<<<<<<<<<<<
45410 * """
45411 * Run one iteration of the main loop. Should be overridden to add
45412 */
45413
45414/* Python wrapper */
45415static PyObject *__pyx_pw_7xmmsapi_8XmmsLoop_11loop_iter(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
45416static char __pyx_doc_7xmmsapi_8XmmsLoop_10loop_iter[] = "XmmsLoop.loop_iter(self, infd=None, outfd=None, errfd=None, timeout=-1)\n\n\t\tRun one iteration of the main loop. Should be overridden to add\n\t\tcustom operations in the main loop.\n\t\t@return The tuple returned by select.select() to be used by overridding\n\t\tmethods in subclasses.\n\t\t";
45417static PyObject *__pyx_pw_7xmmsapi_8XmmsLoop_11loop_iter(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
45418 PyObject *__pyx_v_infd = 0;
45419 PyObject *__pyx_v_outfd = 0;
45420 PyObject *__pyx_v_errfd = 0;
45421 PyObject *__pyx_v_timeout = 0;
45422 int __pyx_lineno = 0;
45423 const char *__pyx_filename = NULL((void*)0);
45424 int __pyx_clineno = 0;
45425 PyObject *__pyx_r = 0;
45426 __Pyx_RefNannyDeclarations
45427 __Pyx_RefNannySetupContext("loop_iter (wrapper)", 0);
45428 {
45429 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_infd,&__pyx_n_s_outfd,&__pyx_n_s_errfd,&__pyx_n_s_timeout,0};
45430 PyObject* values[4] = {0,0,0,0};
45431 values[0] = ((PyObject *)Py_None(&_Py_NoneStruct));
45432 values[1] = ((PyObject *)Py_None(&_Py_NoneStruct));
45433 values[2] = ((PyObject *)Py_None(&_Py_NoneStruct));
45434 values[3] = ((PyObject *)__pyx_int_neg_1);
45435 if (unlikely(__pyx_kwds)__builtin_expect(!!(__pyx_kwds), 0)) {
45436 Py_ssize_t kw_args;
45437 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size);
45438 switch (pos_args) {
45439 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
45440 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
45441 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
45442 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
45443 case 0: break;
45444 default: goto __pyx_L5_argtuple_error;
45445 }
45446 kw_args = PyDict_Size(__pyx_kwds);
45447 switch (pos_args) {
45448 case 0:
45449 if (kw_args > 0) {
45450 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_infd);
45451 if (value) { values[0] = value; kw_args--; }
45452 }
45453 case 1:
45454 if (kw_args > 0) {
45455 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_outfd);
45456 if (value) { values[1] = value; kw_args--; }
45457 }
45458 case 2:
45459 if (kw_args > 0) {
45460 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_errfd);
45461 if (value) { values[2] = value; kw_args--; }
45462 }
45463 case 3:
45464 if (kw_args > 0) {
45465 PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s_timeout);
45466 if (value) { values[3] = value; kw_args--; }
45467 }
45468 }
45469 if (unlikely(kw_args > 0)__builtin_expect(!!(kw_args > 0), 0)) {
45470 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "loop_iter") < 0)__builtin_expect(!!(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames
, 0, values, pos_args, "loop_iter") < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2319; __pyx_clineno = __LINE__45470; goto __pyx_L3_error;}
45471 }
45472 } else {
45473 switch (PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)) {
45474 case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3)(((PyTupleObject *)(__pyx_args))->ob_item[3]);
45475 case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2)(((PyTupleObject *)(__pyx_args))->ob_item[2]);
45476 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1)(((PyTupleObject *)(__pyx_args))->ob_item[1]);
45477 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0)(((PyTupleObject *)(__pyx_args))->ob_item[0]);
45478 case 0: break;
45479 default: goto __pyx_L5_argtuple_error;
45480 }
45481 }
45482 __pyx_v_infd = values[0];
45483 __pyx_v_outfd = values[1];
45484 __pyx_v_errfd = values[2];
45485 __pyx_v_timeout = values[3];
45486 }
45487 goto __pyx_L4_argument_unpacking_done;
45488 __pyx_L5_argtuple_error:;
45489 __Pyx_RaiseArgtupleInvalid("loop_iter", 0, 0, 4, PyTuple_GET_SIZE(__pyx_args)(((PyVarObject*)(__pyx_args))->ob_size)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2319; __pyx_clineno = __LINE__45489; goto __pyx_L3_error;}
45490 __pyx_L3_error:;
45491 __Pyx_AddTraceback("xmmsapi.XmmsLoop.loop_iter", __pyx_clineno, __pyx_lineno, __pyx_filename);
45492 __Pyx_RefNannyFinishContext();
45493 return NULL((void*)0);
45494 __pyx_L4_argument_unpacking_done:;
45495 __pyx_r = __pyx_pf_7xmmsapi_8XmmsLoop_10loop_iter(((struct __pyx_obj_7xmmsapi_XmmsLoop *)__pyx_v_self), __pyx_v_infd, __pyx_v_outfd, __pyx_v_errfd, __pyx_v_timeout);
45496
45497 /* function exit code */
45498 __Pyx_RefNannyFinishContext();
45499 return __pyx_r;
45500}
45501
45502static PyObject *__pyx_pf_7xmmsapi_8XmmsLoop_10loop_iter(struct __pyx_obj_7xmmsapi_XmmsLoop *__pyx_v_self, PyObject *__pyx_v_infd, PyObject *__pyx_v_outfd, PyObject *__pyx_v_errfd, PyObject *__pyx_v_timeout) {
45503 int __pyx_v_fd;
45504 PyObject *__pyx_v_w = NULL((void*)0);
45505 PyObject *__pyx_v_r = NULL((void*)0);
45506 PyObject *__pyx_v_err = NULL((void*)0);
45507 PyObject *__pyx_v_i = NULL((void*)0);
45508 PyObject *__pyx_v_o = NULL((void*)0);
45509 PyObject *__pyx_v_e = NULL((void*)0);
45510 PyObject *__pyx_r = NULL((void*)0);
45511 __Pyx_RefNannyDeclarations
45512 PyObject *__pyx_t_1 = NULL((void*)0);
45513 int __pyx_t_2;
45514 PyObject *__pyx_t_3 = NULL((void*)0);
45515 PyObject *__pyx_t_4 = NULL((void*)0);
45516 PyObject *__pyx_t_5 = NULL((void*)0);
45517 PyObject *__pyx_t_6 = NULL((void*)0);
45518 PyObject *(*__pyx_t_7)(PyObject *);
45519 int __pyx_t_8;
45520 int __pyx_t_9;
45521 int __pyx_lineno = 0;
45522 const char *__pyx_filename = NULL((void*)0);
45523 int __pyx_clineno = 0;
45524 __Pyx_RefNannySetupContext("loop_iter", 0);
45525
45526 /* "xmmsapi.pyx":2327
45527 * """
45528 * cdef int fd
45529 * fd = xmmsc_io_fd_get(self.conn) # <<<<<<<<<<<<<<
45530 * if self.want_ioout():
45531 * w = [fd]
45532 */
45533 __pyx_v_fd = xmmsc_io_fd_get(__pyx_v_self->__pyx_base.__pyx_base.conn);
45534
45535 /* "xmmsapi.pyx":2328
45536 * cdef int fd
45537 * fd = xmmsc_io_fd_get(self.conn)
45538 * if self.want_ioout(): # <<<<<<<<<<<<<<
45539 * w = [fd]
45540 * else:
45541 */
45542 __pyx_t_1 = ((struct __pyx_vtabstruct_7xmmsapi_XmmsLoop *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base.want_ioout(((struct __pyx_obj_7xmmsapi_XmmsCore *)__pyx_v_self), 0); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2328; __pyx_clineno = __LINE__45542; goto __pyx_L1_error;}
45543 __Pyx_GOTREF(__pyx_t_1);
45544 __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)__builtin_expect(!!(__pyx_t_2 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2328; __pyx_clineno = __LINE__45544; goto __pyx_L1_error;}
45545 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
45546 if (__pyx_t_2) {
45547
45548 /* "xmmsapi.pyx":2329
45549 * fd = xmmsc_io_fd_get(self.conn)
45550 * if self.want_ioout():
45551 * w = [fd] # <<<<<<<<<<<<<<
45552 * else:
45553 * w = []
45554 */
45555 __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_fd); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2329; __pyx_clineno = __LINE__45555; goto __pyx_L1_error;}
45556 __Pyx_GOTREF(__pyx_t_1);
45557 __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2329; __pyx_clineno = __LINE__45557; goto __pyx_L1_error;}
45558 __Pyx_GOTREF(__pyx_t_3);
45559 PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_1)(((PyListObject *)(__pyx_t_3))->ob_item[0] = (__pyx_t_1));
45560 __Pyx_GIVEREF(__pyx_t_1);
45561 __pyx_t_1 = 0;
45562 __pyx_v_w = __pyx_t_3;
45563 __pyx_t_3 = 0;
45564 goto __pyx_L3;
45565 }
45566 /*else*/ {
45567
45568 /* "xmmsapi.pyx":2331
45569 * w = [fd]
45570 * else:
45571 * w = [] # <<<<<<<<<<<<<<
45572 * r = [fd]
45573 * err = [fd]
45574 */
45575 __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2331; __pyx_clineno = __LINE__45575; goto __pyx_L1_error;}
45576 __Pyx_GOTREF(__pyx_t_3);
45577 __pyx_v_w = __pyx_t_3;
45578 __pyx_t_3 = 0;
45579 }
45580 __pyx_L3:;
45581
45582 /* "xmmsapi.pyx":2332
45583 * else:
45584 * w = []
45585 * r = [fd] # <<<<<<<<<<<<<<
45586 * err = [fd]
45587 * if infd:
45588 */
45589 __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_fd); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2332; __pyx_clineno = __LINE__45589; goto __pyx_L1_error;}
45590 __Pyx_GOTREF(__pyx_t_3);
45591 __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2332; __pyx_clineno = __LINE__45591; goto __pyx_L1_error;}
45592 __Pyx_GOTREF(__pyx_t_1);
45593 PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_3)(((PyListObject *)(__pyx_t_1))->ob_item[0] = (__pyx_t_3));
45594 __Pyx_GIVEREF(__pyx_t_3);
45595 __pyx_t_3 = 0;
45596 __pyx_v_r = __pyx_t_1;
45597 __pyx_t_1 = 0;
45598
45599 /* "xmmsapi.pyx":2333
45600 * w = []
45601 * r = [fd]
45602 * err = [fd] # <<<<<<<<<<<<<<
45603 * if infd:
45604 * r += infd
45605 */
45606 __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_fd); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2333; __pyx_clineno = __LINE__45606; goto __pyx_L1_error;}
45607 __Pyx_GOTREF(__pyx_t_1);
45608 __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2333; __pyx_clineno = __LINE__45608; goto __pyx_L1_error;}
45609 __Pyx_GOTREF(__pyx_t_3);
45610 PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_1)(((PyListObject *)(__pyx_t_3))->ob_item[0] = (__pyx_t_1));
45611 __Pyx_GIVEREF(__pyx_t_1);
45612 __pyx_t_1 = 0;
45613 __pyx_v_err = __pyx_t_3;
45614 __pyx_t_3 = 0;
45615
45616 /* "xmmsapi.pyx":2334
45617 * r = [fd]
45618 * err = [fd]
45619 * if infd: # <<<<<<<<<<<<<<
45620 * r += infd
45621 * if outfd:
45622 */
45623 __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_infd); if (unlikely(__pyx_t_2 < 0)__builtin_expect(!!(__pyx_t_2 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2334; __pyx_clineno = __LINE__45623; goto __pyx_L1_error;}
45624 if (__pyx_t_2) {
45625
45626 /* "xmmsapi.pyx":2335
45627 * err = [fd]
45628 * if infd:
45629 * r += infd # <<<<<<<<<<<<<<
45630 * if outfd:
45631 * w += outfd
45632 */
45633 __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_r, __pyx_v_infd); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2335; __pyx_clineno = __LINE__45633; goto __pyx_L1_error;}
45634 __Pyx_GOTREF(__pyx_t_3);
45635 __Pyx_DECREF_SET(__pyx_v_r, __pyx_t_3)do { PyObject *tmp = (PyObject *) __pyx_v_r; __pyx_v_r = __pyx_t_3
; do { if ( --((PyObject*)(tmp))->ob_refcnt != 0) ; else (
(*(((PyObject*)((PyObject *)(tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(tmp)))); } while (0); } while (0)
;
45636 __pyx_t_3 = 0;
45637 goto __pyx_L4;
45638 }
45639 __pyx_L4:;
45640
45641 /* "xmmsapi.pyx":2336
45642 * if infd:
45643 * r += infd
45644 * if outfd: # <<<<<<<<<<<<<<
45645 * w += outfd
45646 * if errfd:
45647 */
45648 __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_outfd); if (unlikely(__pyx_t_2 < 0)__builtin_expect(!!(__pyx_t_2 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2336; __pyx_clineno = __LINE__45648; goto __pyx_L1_error;}
45649 if (__pyx_t_2) {
45650
45651 /* "xmmsapi.pyx":2337
45652 * r += infd
45653 * if outfd:
45654 * w += outfd # <<<<<<<<<<<<<<
45655 * if errfd:
45656 * err += errfd
45657 */
45658 __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_w, __pyx_v_outfd); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2337; __pyx_clineno = __LINE__45658; goto __pyx_L1_error;}
45659 __Pyx_GOTREF(__pyx_t_3);
45660 __Pyx_DECREF_SET(__pyx_v_w, __pyx_t_3)do { PyObject *tmp = (PyObject *) __pyx_v_w; __pyx_v_w = __pyx_t_3
; do { if ( --((PyObject*)(tmp))->ob_refcnt != 0) ; else (
(*(((PyObject*)((PyObject *)(tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(tmp)))); } while (0); } while (0)
;
45661 __pyx_t_3 = 0;
45662 goto __pyx_L5;
45663 }
45664 __pyx_L5:;
45665
45666 /* "xmmsapi.pyx":2338
45667 * if outfd:
45668 * w += outfd
45669 * if errfd: # <<<<<<<<<<<<<<
45670 * err += errfd
45671 * if timeout < 0:
45672 */
45673 __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_errfd); if (unlikely(__pyx_t_2 < 0)__builtin_expect(!!(__pyx_t_2 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2338; __pyx_clineno = __LINE__45673; goto __pyx_L1_error;}
45674 if (__pyx_t_2) {
45675
45676 /* "xmmsapi.pyx":2339
45677 * w += outfd
45678 * if errfd:
45679 * err += errfd # <<<<<<<<<<<<<<
45680 * if timeout < 0:
45681 * (i, o, e) = select(r, w, err)
45682 */
45683 __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_err, __pyx_v_errfd); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2339; __pyx_clineno = __LINE__45683; goto __pyx_L1_error;}
45684 __Pyx_GOTREF(__pyx_t_3);
45685 __Pyx_DECREF_SET(__pyx_v_err, __pyx_t_3)do { PyObject *tmp = (PyObject *) __pyx_v_err; __pyx_v_err = __pyx_t_3
; do { if ( --((PyObject*)(tmp))->ob_refcnt != 0) ; else (
(*(((PyObject*)((PyObject *)(tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(tmp)))); } while (0); } while (0)
;
45686 __pyx_t_3 = 0;
45687 goto __pyx_L6;
45688 }
45689 __pyx_L6:;
45690
45691 /* "xmmsapi.pyx":2340
45692 * if errfd:
45693 * err += errfd
45694 * if timeout < 0: # <<<<<<<<<<<<<<
45695 * (i, o, e) = select(r, w, err)
45696 * else:
45697 */
45698 __pyx_t_3 = PyObject_RichCompare(__pyx_v_timeout, __pyx_int_0, Py_LT0); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2340; __pyx_clineno = __LINE__45698; goto __pyx_L1_error;}
45699 __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)__builtin_expect(!!(__pyx_t_2 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2340; __pyx_clineno = __LINE__45699; goto __pyx_L1_error;}
45700 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
45701 if (__pyx_t_2) {
45702
45703 /* "xmmsapi.pyx":2341
45704 * err += errfd
45705 * if timeout < 0:
45706 * (i, o, e) = select(r, w, err) # <<<<<<<<<<<<<<
45707 * else:
45708 * (i, o, e) = select(r, w, err, timeout)
45709 */
45710 __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2341; __pyx_clineno = __LINE__45710; goto __pyx_L1_error;}
45711 __Pyx_GOTREF(__pyx_t_3);
45712 __Pyx_INCREF(__pyx_v_r)( ((PyObject*)(__pyx_v_r))->ob_refcnt++);
45713 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_r)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_v_r);
45714 __Pyx_GIVEREF(__pyx_v_r);
45715 __Pyx_INCREF(__pyx_v_w)( ((PyObject*)(__pyx_v_w))->ob_refcnt++);
45716 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_w)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_w);
45717 __Pyx_GIVEREF(__pyx_v_w);
45718 __Pyx_INCREF(__pyx_v_err)( ((PyObject*)(__pyx_v_err))->ob_refcnt++);
45719 PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_err)(((PyTupleObject *)(__pyx_t_3))->ob_item[2] = __pyx_v_err);
45720 __Pyx_GIVEREF(__pyx_v_err);
45721 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_v_7xmmsapi_select, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2341; __pyx_clineno = __LINE__45721; goto __pyx_L1_error;}
45722 __Pyx_GOTREF(__pyx_t_1);
45723 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
45724 if ((likely(PyTuple_CheckExact(__pyx_t_1))__builtin_expect(!!(((((PyObject*)(__pyx_t_1))->ob_type) ==
&PyTuple_Type)), 1)
) || (PyList_CheckExact(__pyx_t_1)((((PyObject*)(__pyx_t_1))->ob_type) == &PyList_Type))) {
45725 PyObject* sequence = __pyx_t_1;
45726 #if CYTHON_COMPILING_IN_CPYTHON1
45727 Py_ssize_t size = Py_SIZE(sequence)(((PyVarObject*)(sequence))->ob_size);
45728 #else
45729 Py_ssize_t size = PySequence_Size(sequence);
45730 #endif
45731 if (unlikely(size != 3)__builtin_expect(!!(size != 3), 0)) {
45732 if (size > 3) __Pyx_RaiseTooManyValuesError(3);
45733 else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
45734 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2341; __pyx_clineno = __LINE__45734; goto __pyx_L1_error;}
45735 }
45736 #if CYTHON_COMPILING_IN_CPYTHON1
45737 if (likely(PyTuple_CheckExact(sequence))__builtin_expect(!!(((((PyObject*)(sequence))->ob_type) ==
&PyTuple_Type)), 1)
) {
45738 __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0)(((PyTupleObject *)(sequence))->ob_item[0]);
45739 __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1)(((PyTupleObject *)(sequence))->ob_item[1]);
45740 __pyx_t_5 = PyTuple_GET_ITEM(sequence, 2)(((PyTupleObject *)(sequence))->ob_item[2]);
45741 } else {
45742 __pyx_t_3 = PyList_GET_ITEM(sequence, 0)(((PyListObject *)(sequence))->ob_item[0]);
45743 __pyx_t_4 = PyList_GET_ITEM(sequence, 1)(((PyListObject *)(sequence))->ob_item[1]);
45744 __pyx_t_5 = PyList_GET_ITEM(sequence, 2)(((PyListObject *)(sequence))->ob_item[2]);
45745 }
45746 __Pyx_INCREF(__pyx_t_3)( ((PyObject*)(__pyx_t_3))->ob_refcnt++);
45747 __Pyx_INCREF(__pyx_t_4)( ((PyObject*)(__pyx_t_4))->ob_refcnt++);
45748 __Pyx_INCREF(__pyx_t_5)( ((PyObject*)(__pyx_t_5))->ob_refcnt++);
45749 #else
45750 __pyx_t_3 = PySequence_ITEM(sequence, 0)( (((PyObject*)(sequence))->ob_type)->tp_as_sequence->
sq_item(sequence, 0) )
; if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2341; __pyx_clineno = __LINE__45750; goto __pyx_L1_error;}
45751 __Pyx_GOTREF(__pyx_t_3);
45752 __pyx_t_4 = PySequence_ITEM(sequence, 1)( (((PyObject*)(sequence))->ob_type)->tp_as_sequence->
sq_item(sequence, 1) )
; if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2341; __pyx_clineno = __LINE__45752; goto __pyx_L1_error;}
45753 __Pyx_GOTREF(__pyx_t_4);
45754 __pyx_t_5 = PySequence_ITEM(sequence, 2)( (((PyObject*)(sequence))->ob_type)->tp_as_sequence->
sq_item(sequence, 2) )
; if (unlikely(!__pyx_t_5)__builtin_expect(!!(!__pyx_t_5), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2341; __pyx_clineno = __LINE__45754; goto __pyx_L1_error;}
45755 __Pyx_GOTREF(__pyx_t_5);
45756 #endif
45757 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
45758 } else {
45759 Py_ssize_t index = -1;
45760 __pyx_t_6 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_6)__builtin_expect(!!(!__pyx_t_6), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2341; __pyx_clineno = __LINE__45760; goto __pyx_L1_error;}
45761 __Pyx_GOTREF(__pyx_t_6);
45762 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
45763 __pyx_t_7 = Py_TYPE(__pyx_t_6)(((PyObject*)(__pyx_t_6))->ob_type)->tp_iternext;
45764 index = 0; __pyx_t_3 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) goto __pyx_L8_unpacking_failed;
45765 __Pyx_GOTREF(__pyx_t_3);
45766 index = 1; __pyx_t_4 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) goto __pyx_L8_unpacking_failed;
45767 __Pyx_GOTREF(__pyx_t_4);
45768 index = 2; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)__builtin_expect(!!(!__pyx_t_5), 0)) goto __pyx_L8_unpacking_failed;
45769 __Pyx_GOTREF(__pyx_t_5);
45770 if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2341; __pyx_clineno = __LINE__45770; goto __pyx_L1_error;}
45771 __pyx_t_7 = NULL((void*)0);
45772 __Pyx_DECREF(__pyx_t_6)do { if ( --((PyObject*)(__pyx_t_6))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_6)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_6)))); } while (
0)
; __pyx_t_6 = 0;
45773 goto __pyx_L9_unpacking_done;
45774 __pyx_L8_unpacking_failed:;
45775 __Pyx_DECREF(__pyx_t_6)do { if ( --((PyObject*)(__pyx_t_6))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_6)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_6)))); } while (
0)
; __pyx_t_6 = 0;
45776 __pyx_t_7 = NULL((void*)0);
45777 if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
45778 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2341; __pyx_clineno = __LINE__45778; goto __pyx_L1_error;}
45779 __pyx_L9_unpacking_done:;
45780 }
45781 __pyx_v_i = __pyx_t_3;
45782 __pyx_t_3 = 0;
45783 __pyx_v_o = __pyx_t_4;
45784 __pyx_t_4 = 0;
45785 __pyx_v_e = __pyx_t_5;
45786 __pyx_t_5 = 0;
45787 goto __pyx_L7;
45788 }
45789 /*else*/ {
45790
45791 /* "xmmsapi.pyx":2343
45792 * (i, o, e) = select(r, w, err)
45793 * else:
45794 * (i, o, e) = select(r, w, err, timeout) # <<<<<<<<<<<<<<
45795 * if e and fd in e:
45796 * xmmsc_io_disconnect(self.conn)
45797 */
45798 __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2343; __pyx_clineno = __LINE__45798; goto __pyx_L1_error;}
45799 __Pyx_GOTREF(__pyx_t_1);
45800 __Pyx_INCREF(__pyx_v_r)( ((PyObject*)(__pyx_v_r))->ob_refcnt++);
45801 PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_r)(((PyTupleObject *)(__pyx_t_1))->ob_item[0] = __pyx_v_r);
45802 __Pyx_GIVEREF(__pyx_v_r);
45803 __Pyx_INCREF(__pyx_v_w)( ((PyObject*)(__pyx_v_w))->ob_refcnt++);
45804 PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_w)(((PyTupleObject *)(__pyx_t_1))->ob_item[1] = __pyx_v_w);
45805 __Pyx_GIVEREF(__pyx_v_w);
45806 __Pyx_INCREF(__pyx_v_err)( ((PyObject*)(__pyx_v_err))->ob_refcnt++);
45807 PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_err)(((PyTupleObject *)(__pyx_t_1))->ob_item[2] = __pyx_v_err);
45808 __Pyx_GIVEREF(__pyx_v_err);
45809 __Pyx_INCREF(__pyx_v_timeout)( ((PyObject*)(__pyx_v_timeout))->ob_refcnt++);
45810 PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_timeout)(((PyTupleObject *)(__pyx_t_1))->ob_item[3] = __pyx_v_timeout
)
;
45811 __Pyx_GIVEREF(__pyx_v_timeout);
45812 __pyx_t_5 = __Pyx_PyObject_Call(__pyx_v_7xmmsapi_select, __pyx_t_1, NULL((void*)0)); if (unlikely(!__pyx_t_5)__builtin_expect(!!(!__pyx_t_5), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2343; __pyx_clineno = __LINE__45812; goto __pyx_L1_error;}
45813 __Pyx_GOTREF(__pyx_t_5);
45814 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
45815 if ((likely(PyTuple_CheckExact(__pyx_t_5))__builtin_expect(!!(((((PyObject*)(__pyx_t_5))->ob_type) ==
&PyTuple_Type)), 1)
) || (PyList_CheckExact(__pyx_t_5)((((PyObject*)(__pyx_t_5))->ob_type) == &PyList_Type))) {
45816 PyObject* sequence = __pyx_t_5;
45817 #if CYTHON_COMPILING_IN_CPYTHON1
45818 Py_ssize_t size = Py_SIZE(sequence)(((PyVarObject*)(sequence))->ob_size);
45819 #else
45820 Py_ssize_t size = PySequence_Size(sequence);
45821 #endif
45822 if (unlikely(size != 3)__builtin_expect(!!(size != 3), 0)) {
45823 if (size > 3) __Pyx_RaiseTooManyValuesError(3);
45824 else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
45825 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2343; __pyx_clineno = __LINE__45825; goto __pyx_L1_error;}
45826 }
45827 #if CYTHON_COMPILING_IN_CPYTHON1
45828 if (likely(PyTuple_CheckExact(sequence))__builtin_expect(!!(((((PyObject*)(sequence))->ob_type) ==
&PyTuple_Type)), 1)
) {
45829 __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0)(((PyTupleObject *)(sequence))->ob_item[0]);
45830 __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1)(((PyTupleObject *)(sequence))->ob_item[1]);
45831 __pyx_t_3 = PyTuple_GET_ITEM(sequence, 2)(((PyTupleObject *)(sequence))->ob_item[2]);
45832 } else {
45833 __pyx_t_1 = PyList_GET_ITEM(sequence, 0)(((PyListObject *)(sequence))->ob_item[0]);
45834 __pyx_t_4 = PyList_GET_ITEM(sequence, 1)(((PyListObject *)(sequence))->ob_item[1]);
45835 __pyx_t_3 = PyList_GET_ITEM(sequence, 2)(((PyListObject *)(sequence))->ob_item[2]);
45836 }
45837 __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++);
45838 __Pyx_INCREF(__pyx_t_4)( ((PyObject*)(__pyx_t_4))->ob_refcnt++);
45839 __Pyx_INCREF(__pyx_t_3)( ((PyObject*)(__pyx_t_3))->ob_refcnt++);
45840 #else
45841 __pyx_t_1 = PySequence_ITEM(sequence, 0)( (((PyObject*)(sequence))->ob_type)->tp_as_sequence->
sq_item(sequence, 0) )
; if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2343; __pyx_clineno = __LINE__45841; goto __pyx_L1_error;}
45842 __Pyx_GOTREF(__pyx_t_1);
45843 __pyx_t_4 = PySequence_ITEM(sequence, 1)( (((PyObject*)(sequence))->ob_type)->tp_as_sequence->
sq_item(sequence, 1) )
; if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2343; __pyx_clineno = __LINE__45843; goto __pyx_L1_error;}
45844 __Pyx_GOTREF(__pyx_t_4);
45845 __pyx_t_3 = PySequence_ITEM(sequence, 2)( (((PyObject*)(sequence))->ob_type)->tp_as_sequence->
sq_item(sequence, 2) )
; if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2343; __pyx_clineno = __LINE__45845; goto __pyx_L1_error;}
45846 __Pyx_GOTREF(__pyx_t_3);
45847 #endif
45848 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
45849 } else {
45850 Py_ssize_t index = -1;
45851 __pyx_t_6 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_6)__builtin_expect(!!(!__pyx_t_6), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2343; __pyx_clineno = __LINE__45851; goto __pyx_L1_error;}
45852 __Pyx_GOTREF(__pyx_t_6);
45853 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
45854 __pyx_t_7 = Py_TYPE(__pyx_t_6)(((PyObject*)(__pyx_t_6))->ob_type)->tp_iternext;
45855 index = 0; __pyx_t_1 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) goto __pyx_L10_unpacking_failed;
45856 __Pyx_GOTREF(__pyx_t_1);
45857 index = 1; __pyx_t_4 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) goto __pyx_L10_unpacking_failed;
45858 __Pyx_GOTREF(__pyx_t_4);
45859 index = 2; __pyx_t_3 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) goto __pyx_L10_unpacking_failed;
45860 __Pyx_GOTREF(__pyx_t_3);
45861 if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2343; __pyx_clineno = __LINE__45861; goto __pyx_L1_error;}
45862 __pyx_t_7 = NULL((void*)0);
45863 __Pyx_DECREF(__pyx_t_6)do { if ( --((PyObject*)(__pyx_t_6))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_6)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_6)))); } while (
0)
; __pyx_t_6 = 0;
45864 goto __pyx_L11_unpacking_done;
45865 __pyx_L10_unpacking_failed:;
45866 __Pyx_DECREF(__pyx_t_6)do { if ( --((PyObject*)(__pyx_t_6))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_6)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_6)))); } while (
0)
; __pyx_t_6 = 0;
45867 __pyx_t_7 = NULL((void*)0);
45868 if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
45869 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2343; __pyx_clineno = __LINE__45869; goto __pyx_L1_error;}
45870 __pyx_L11_unpacking_done:;
45871 }
45872 __pyx_v_i = __pyx_t_1;
45873 __pyx_t_1 = 0;
45874 __pyx_v_o = __pyx_t_4;
45875 __pyx_t_4 = 0;
45876 __pyx_v_e = __pyx_t_3;
45877 __pyx_t_3 = 0;
45878 }
45879 __pyx_L7:;
45880
45881 /* "xmmsapi.pyx":2344
45882 * else:
45883 * (i, o, e) = select(r, w, err, timeout)
45884 * if e and fd in e: # <<<<<<<<<<<<<<
45885 * xmmsc_io_disconnect(self.conn)
45886 * raise XmmsDisconnectException()
45887 */
45888 __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_e); if (unlikely(__pyx_t_2 < 0)__builtin_expect(!!(__pyx_t_2 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2344; __pyx_clineno = __LINE__45888; goto __pyx_L1_error;}
45889 if (__pyx_t_2) {
45890 __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_fd); if (unlikely(!__pyx_t_5)__builtin_expect(!!(!__pyx_t_5), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2344; __pyx_clineno = __LINE__45890; goto __pyx_L1_error;}
45891 __Pyx_GOTREF(__pyx_t_5);
45892 __pyx_t_8 = (__Pyx_PySequence_Contains(__pyx_t_5, __pyx_v_e, Py_EQ2)); if (unlikely(__pyx_t_8 < 0)__builtin_expect(!!(__pyx_t_8 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2344; __pyx_clineno = __LINE__45892; goto __pyx_L1_error;}
45893 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
45894 __pyx_t_9 = __pyx_t_8;
45895 } else {
45896 __pyx_t_9 = __pyx_t_2;
45897 }
45898 if (__pyx_t_9) {
45899
45900 /* "xmmsapi.pyx":2345
45901 * (i, o, e) = select(r, w, err, timeout)
45902 * if e and fd in e:
45903 * xmmsc_io_disconnect(self.conn) # <<<<<<<<<<<<<<
45904 * raise XmmsDisconnectException()
45905 * if i and fd in i:
45906 */
45907 xmmsc_io_disconnect(__pyx_v_self->__pyx_base.__pyx_base.conn);
45908
45909 /* "xmmsapi.pyx":2346
45910 * if e and fd in e:
45911 * xmmsc_io_disconnect(self.conn)
45912 * raise XmmsDisconnectException() # <<<<<<<<<<<<<<
45913 * if i and fd in i:
45914 * if not xmmsc_io_in_handle(self.conn):
45915 */
45916 __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_XmmsDisconnectException); if (unlikely(!__pyx_t_5)__builtin_expect(!!(!__pyx_t_5), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2346; __pyx_clineno = __LINE__45916; goto __pyx_L1_error;}
45917 __Pyx_GOTREF(__pyx_t_5);
45918 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2346; __pyx_clineno = __LINE__45918; goto __pyx_L1_error;}
45919 __Pyx_GOTREF(__pyx_t_3);
45920 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
45921 __Pyx_Raise(__pyx_t_3, 0, 0, 0);
45922 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
45923 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2346; __pyx_clineno = __LINE__45923; goto __pyx_L1_error;}
45924 }
45925
45926 /* "xmmsapi.pyx":2347
45927 * xmmsc_io_disconnect(self.conn)
45928 * raise XmmsDisconnectException()
45929 * if i and fd in i: # <<<<<<<<<<<<<<
45930 * if not xmmsc_io_in_handle(self.conn):
45931 * raise XmmsDisconnectException()
45932 */
45933 __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_i); if (unlikely(__pyx_t_9 < 0)__builtin_expect(!!(__pyx_t_9 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2347; __pyx_clineno = __LINE__45933; goto __pyx_L1_error;}
45934 if (__pyx_t_9) {
45935 __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_fd); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2347; __pyx_clineno = __LINE__45935; goto __pyx_L1_error;}
45936 __Pyx_GOTREF(__pyx_t_3);
45937 __pyx_t_2 = (__Pyx_PySequence_Contains(__pyx_t_3, __pyx_v_i, Py_EQ2)); if (unlikely(__pyx_t_2 < 0)__builtin_expect(!!(__pyx_t_2 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2347; __pyx_clineno = __LINE__45937; goto __pyx_L1_error;}
45938 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
45939 __pyx_t_8 = __pyx_t_2;
45940 } else {
45941 __pyx_t_8 = __pyx_t_9;
45942 }
45943 if (__pyx_t_8) {
45944
45945 /* "xmmsapi.pyx":2348
45946 * raise XmmsDisconnectException()
45947 * if i and fd in i:
45948 * if not xmmsc_io_in_handle(self.conn): # <<<<<<<<<<<<<<
45949 * raise XmmsDisconnectException()
45950 * if o and fd in o:
45951 */
45952 __pyx_t_8 = ((!(xmmsc_io_in_handle(__pyx_v_self->__pyx_base.__pyx_base.conn) != 0)) != 0);
45953 if (__pyx_t_8) {
45954
45955 /* "xmmsapi.pyx":2349
45956 * if i and fd in i:
45957 * if not xmmsc_io_in_handle(self.conn):
45958 * raise XmmsDisconnectException() # <<<<<<<<<<<<<<
45959 * if o and fd in o:
45960 * if not xmmsc_io_out_handle(self.conn):
45961 */
45962 __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_XmmsDisconnectException); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2349; __pyx_clineno = __LINE__45962; goto __pyx_L1_error;}
45963 __Pyx_GOTREF(__pyx_t_3);
45964 __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_5)__builtin_expect(!!(!__pyx_t_5), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2349; __pyx_clineno = __LINE__45964; goto __pyx_L1_error;}
45965 __Pyx_GOTREF(__pyx_t_5);
45966 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
45967 __Pyx_Raise(__pyx_t_5, 0, 0, 0);
45968 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
45969 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2349; __pyx_clineno = __LINE__45969; goto __pyx_L1_error;}
45970 }
45971 goto __pyx_L13;
45972 }
45973 __pyx_L13:;
45974
45975 /* "xmmsapi.pyx":2350
45976 * if not xmmsc_io_in_handle(self.conn):
45977 * raise XmmsDisconnectException()
45978 * if o and fd in o: # <<<<<<<<<<<<<<
45979 * if not xmmsc_io_out_handle(self.conn):
45980 * raise XmmsDisconnectException()
45981 */
45982 __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_o); if (unlikely(__pyx_t_8 < 0)__builtin_expect(!!(__pyx_t_8 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2350; __pyx_clineno = __LINE__45982; goto __pyx_L1_error;}
45983 if (__pyx_t_8) {
45984 __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_fd); if (unlikely(!__pyx_t_5)__builtin_expect(!!(!__pyx_t_5), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2350; __pyx_clineno = __LINE__45984; goto __pyx_L1_error;}
45985 __Pyx_GOTREF(__pyx_t_5);
45986 __pyx_t_9 = (__Pyx_PySequence_Contains(__pyx_t_5, __pyx_v_o, Py_EQ2)); if (unlikely(__pyx_t_9 < 0)__builtin_expect(!!(__pyx_t_9 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2350; __pyx_clineno = __LINE__45986; goto __pyx_L1_error;}
45987 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
45988 __pyx_t_2 = __pyx_t_9;
45989 } else {
45990 __pyx_t_2 = __pyx_t_8;
45991 }
45992 if (__pyx_t_2) {
45993
45994 /* "xmmsapi.pyx":2351
45995 * raise XmmsDisconnectException()
45996 * if o and fd in o:
45997 * if not xmmsc_io_out_handle(self.conn): # <<<<<<<<<<<<<<
45998 * raise XmmsDisconnectException()
45999 * return (i, o, e) #Can be used by overridding methods for extra handling.
46000 */
46001 __pyx_t_2 = ((!(xmmsc_io_out_handle(__pyx_v_self->__pyx_base.__pyx_base.conn) != 0)) != 0);
46002 if (__pyx_t_2) {
46003
46004 /* "xmmsapi.pyx":2352
46005 * if o and fd in o:
46006 * if not xmmsc_io_out_handle(self.conn):
46007 * raise XmmsDisconnectException() # <<<<<<<<<<<<<<
46008 * return (i, o, e) #Can be used by overridding methods for extra handling.
46009 *
46010 */
46011 __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_XmmsDisconnectException); if (unlikely(!__pyx_t_5)__builtin_expect(!!(!__pyx_t_5), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2352; __pyx_clineno = __LINE__46011; goto __pyx_L1_error;}
46012 __Pyx_GOTREF(__pyx_t_5);
46013 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2352; __pyx_clineno = __LINE__46013; goto __pyx_L1_error;}
46014 __Pyx_GOTREF(__pyx_t_3);
46015 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
46016 __Pyx_Raise(__pyx_t_3, 0, 0, 0);
46017 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
46018 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2352; __pyx_clineno = __LINE__46018; goto __pyx_L1_error;}
46019 }
46020 goto __pyx_L15;
46021 }
46022 __pyx_L15:;
46023
46024 /* "xmmsapi.pyx":2353
46025 * if not xmmsc_io_out_handle(self.conn):
46026 * raise XmmsDisconnectException()
46027 * return (i, o, e) #Can be used by overridding methods for extra handling. # <<<<<<<<<<<<<<
46028 *
46029 * def loop(self):
46030 */
46031 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
46032 __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2353; __pyx_clineno = __LINE__46032; goto __pyx_L1_error;}
46033 __Pyx_GOTREF(__pyx_t_3);
46034 __Pyx_INCREF(__pyx_v_i)( ((PyObject*)(__pyx_v_i))->ob_refcnt++);
46035 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_i)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_v_i);
46036 __Pyx_GIVEREF(__pyx_v_i);
46037 __Pyx_INCREF(__pyx_v_o)( ((PyObject*)(__pyx_v_o))->ob_refcnt++);
46038 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_o)(((PyTupleObject *)(__pyx_t_3))->ob_item[1] = __pyx_v_o);
46039 __Pyx_GIVEREF(__pyx_v_o);
46040 __Pyx_INCREF(__pyx_v_e)( ((PyObject*)(__pyx_v_e))->ob_refcnt++);
46041 PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_e)(((PyTupleObject *)(__pyx_t_3))->ob_item[2] = __pyx_v_e);
46042 __Pyx_GIVEREF(__pyx_v_e);
46043 __pyx_r = __pyx_t_3;
46044 __pyx_t_3 = 0;
46045 goto __pyx_L0;
46046
46047 /* "xmmsapi.pyx":2319
46048 * write(w, "1".encode('ascii'))
46049 *
46050 * def loop_iter(self, infd = None, outfd = None, errfd = None, timeout = -1): # <<<<<<<<<<<<<<
46051 * """
46052 * Run one iteration of the main loop. Should be overridden to add
46053 */
46054
46055 /* function exit code */
46056 __pyx_L1_error:;
46057 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
46058 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
46059 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
;
46060 __Pyx_XDECREF(__pyx_t_5)do { if ((__pyx_t_5) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_5))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_5)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_5)))); } while (0); } while (0)
;
46061 __Pyx_XDECREF(__pyx_t_6)do { if ((__pyx_t_6) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_6))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_6)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_6)))); } while (0); } while (0)
;
46062 __Pyx_AddTraceback("xmmsapi.XmmsLoop.loop_iter", __pyx_clineno, __pyx_lineno, __pyx_filename);
46063 __pyx_r = NULL((void*)0);
46064 __pyx_L0:;
46065 __Pyx_XDECREF(__pyx_v_w)do { if ((__pyx_v_w) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_w))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_w)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_w)))); } while (0); } while (0)
;
46066 __Pyx_XDECREF(__pyx_v_r)do { if ((__pyx_v_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_r)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_r)))); } while (0); } while (0)
;
46067 __Pyx_XDECREF(__pyx_v_err)do { if ((__pyx_v_err) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_err))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(__pyx_v_err)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_err)))); } while (0); } while (0)
;
46068 __Pyx_XDECREF(__pyx_v_i)do { if ((__pyx_v_i) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_i))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_i)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_i)))); } while (0); } while (0)
;
46069 __Pyx_XDECREF(__pyx_v_o)do { if ((__pyx_v_o) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_o))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_o)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_o)))); } while (0); } while (0)
;
46070 __Pyx_XDECREF(__pyx_v_e)do { if ((__pyx_v_e) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_e))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_e)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_e)))); } while (0); } while (0)
;
46071 __Pyx_XGIVEREF(__pyx_r);
46072 __Pyx_RefNannyFinishContext();
46073 return __pyx_r;
46074}
46075
46076/* "xmmsapi.pyx":2355
46077 * return (i, o, e) #Can be used by overridding methods for extra handling.
46078 *
46079 * def loop(self): # <<<<<<<<<<<<<<
46080 * """
46081 * Main client loop for most python clients. Call this to run the
46082 */
46083
46084/* Python wrapper */
46085static PyObject *__pyx_pw_7xmmsapi_8XmmsLoop_13loop(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused); /*proto*/
46086static char __pyx_doc_7xmmsapi_8XmmsLoop_12loop[] = "XmmsLoop.loop(self)\n\n\t\tMain client loop for most python clients. Call this to run the\n\t\tclient once everything has been set up. This function blocks\n\t\tuntil L{exit_loop} is called. One can override L {loop_iter} to\n\t\tperform extra processing.\n\t\t";
46087static PyObject *__pyx_pw_7xmmsapi_8XmmsLoop_13loop(PyObject *__pyx_v_self, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *unused) {
46088 PyObject *__pyx_r = 0;
46089 __Pyx_RefNannyDeclarations
46090 __Pyx_RefNannySetupContext("loop (wrapper)", 0);
46091 __pyx_r = __pyx_pf_7xmmsapi_8XmmsLoop_12loop(((struct __pyx_obj_7xmmsapi_XmmsLoop *)__pyx_v_self));
46092
46093 /* function exit code */
46094 __Pyx_RefNannyFinishContext();
46095 return __pyx_r;
46096}
46097
46098static PyObject *__pyx_pf_7xmmsapi_8XmmsLoop_12loop(struct __pyx_obj_7xmmsapi_XmmsLoop *__pyx_v_self) {
46099 PyObject *__pyx_v_pipe = NULL((void*)0);
46100 PyObject *__pyx_v_read = NULL((void*)0);
46101 PyObject *__pyx_v_r = NULL((void*)0);
46102 PyObject *__pyx_v_w = NULL((void*)0);
46103 PyObject *__pyx_v_i = NULL((void*)0);
46104 CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_v_o = NULL((void*)0);
46105 CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *__pyx_v_e = NULL((void*)0);
46106 PyObject *__pyx_r = NULL((void*)0);
46107 __Pyx_RefNannyDeclarations
46108 PyObject *__pyx_t_1 = NULL((void*)0);
46109 PyObject *__pyx_t_2 = NULL((void*)0);
46110 PyObject *__pyx_t_3 = NULL((void*)0);
46111 PyObject *__pyx_t_4 = NULL((void*)0);
46112 PyObject *(*__pyx_t_5)(PyObject *);
46113 int __pyx_t_6;
46114 PyObject *__pyx_t_7 = NULL((void*)0);
46115 PyObject *__pyx_t_8 = NULL((void*)0);
46116 PyObject *__pyx_t_9 = NULL((void*)0);
46117 PyObject *__pyx_t_10 = NULL((void*)0);
46118 int __pyx_t_11;
46119 int __pyx_t_12;
46120 int __pyx_lineno = 0;
46121 const char *__pyx_filename = NULL((void*)0);
46122 int __pyx_clineno = 0;
46123 __Pyx_RefNannySetupContext("loop", 0);
46124
46125 /* "xmmsapi.pyx":2362
46126 * perform extra processing.
46127 * """
46128 * from os import pipe, read # <<<<<<<<<<<<<<
46129 * (r, w) = pipe()
46130 *
46131 */
46132 __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2362; __pyx_clineno = __LINE__46132; goto __pyx_L1_error;}
46133 __Pyx_GOTREF(__pyx_t_1);
46134 __Pyx_INCREF(__pyx_n_s_pipe)( ((PyObject*)(__pyx_n_s_pipe))->ob_refcnt++);
46135 PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_pipe)(((PyListObject *)(__pyx_t_1))->ob_item[0] = (__pyx_n_s_pipe
))
;
46136 __Pyx_GIVEREF(__pyx_n_s_pipe);
46137 __Pyx_INCREF(__pyx_n_s_read)( ((PyObject*)(__pyx_n_s_read))->ob_refcnt++);
46138 PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_read)(((PyListObject *)(__pyx_t_1))->ob_item[1] = (__pyx_n_s_read
))
;
46139 __Pyx_GIVEREF(__pyx_n_s_read);
46140 __pyx_t_2 = __Pyx_Import(__pyx_n_s_os, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2362; __pyx_clineno = __LINE__46140; goto __pyx_L1_error;}
46141 __Pyx_GOTREF(__pyx_t_2);
46142 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
46143 __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_pipe); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2362; __pyx_clineno = __LINE__46143; goto __pyx_L1_error;}
46144 __Pyx_GOTREF(__pyx_t_1);
46145 __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++);
46146 __pyx_v_pipe = __pyx_t_1;
46147 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
46148 __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_read); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2362; __pyx_clineno = __LINE__46148; goto __pyx_L1_error;}
46149 __Pyx_GOTREF(__pyx_t_1);
46150 __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++);
46151 __pyx_v_read = __pyx_t_1;
46152 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
46153 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
46154
46155 /* "xmmsapi.pyx":2363
46156 * """
46157 * from os import pipe, read
46158 * (r, w) = pipe() # <<<<<<<<<<<<<<
46159 *
46160 * self.do_loop = True
46161 */
46162 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_v_pipe, __pyx_empty_tuple, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2363; __pyx_clineno = __LINE__46162; goto __pyx_L1_error;}
46163 __Pyx_GOTREF(__pyx_t_2);
46164 if ((likely(PyTuple_CheckExact(__pyx_t_2))__builtin_expect(!!(((((PyObject*)(__pyx_t_2))->ob_type) ==
&PyTuple_Type)), 1)
) || (PyList_CheckExact(__pyx_t_2)((((PyObject*)(__pyx_t_2))->ob_type) == &PyList_Type))) {
46165 PyObject* sequence = __pyx_t_2;
46166 #if CYTHON_COMPILING_IN_CPYTHON1
46167 Py_ssize_t size = Py_SIZE(sequence)(((PyVarObject*)(sequence))->ob_size);
46168 #else
46169 Py_ssize_t size = PySequence_Size(sequence);
46170 #endif
46171 if (unlikely(size != 2)__builtin_expect(!!(size != 2), 0)) {
46172 if (size > 2) __Pyx_RaiseTooManyValuesError(2);
46173 else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
46174 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2363; __pyx_clineno = __LINE__46174; goto __pyx_L1_error;}
46175 }
46176 #if CYTHON_COMPILING_IN_CPYTHON1
46177 if (likely(PyTuple_CheckExact(sequence))__builtin_expect(!!(((((PyObject*)(sequence))->ob_type) ==
&PyTuple_Type)), 1)
) {
46178 __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0)(((PyTupleObject *)(sequence))->ob_item[0]);
46179 __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1)(((PyTupleObject *)(sequence))->ob_item[1]);
46180 } else {
46181 __pyx_t_1 = PyList_GET_ITEM(sequence, 0)(((PyListObject *)(sequence))->ob_item[0]);
46182 __pyx_t_3 = PyList_GET_ITEM(sequence, 1)(((PyListObject *)(sequence))->ob_item[1]);
46183 }
46184 __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++);
46185 __Pyx_INCREF(__pyx_t_3)( ((PyObject*)(__pyx_t_3))->ob_refcnt++);
46186 #else
46187 __pyx_t_1 = PySequence_ITEM(sequence, 0)( (((PyObject*)(sequence))->ob_type)->tp_as_sequence->
sq_item(sequence, 0) )
; if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2363; __pyx_clineno = __LINE__46187; goto __pyx_L1_error;}
46188 __Pyx_GOTREF(__pyx_t_1);
46189 __pyx_t_3 = PySequence_ITEM(sequence, 1)( (((PyObject*)(sequence))->ob_type)->tp_as_sequence->
sq_item(sequence, 1) )
; if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2363; __pyx_clineno = __LINE__46189; goto __pyx_L1_error;}
46190 __Pyx_GOTREF(__pyx_t_3);
46191 #endif
46192 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
46193 } else {
46194 Py_ssize_t index = -1;
46195 __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2363; __pyx_clineno = __LINE__46195; goto __pyx_L1_error;}
46196 __Pyx_GOTREF(__pyx_t_4);
46197 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
46198 __pyx_t_5 = Py_TYPE(__pyx_t_4)(((PyObject*)(__pyx_t_4))->ob_type)->tp_iternext;
46199 index = 0; __pyx_t_1 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) goto __pyx_L3_unpacking_failed;
46200 __Pyx_GOTREF(__pyx_t_1);
46201 index = 1; __pyx_t_3 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) goto __pyx_L3_unpacking_failed;
46202 __Pyx_GOTREF(__pyx_t_3);
46203 if (__Pyx_IternextUnpackEndCheck(__pyx_t_5(__pyx_t_4), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2363; __pyx_clineno = __LINE__46203; goto __pyx_L1_error;}
46204 __pyx_t_5 = NULL((void*)0);
46205 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
46206 goto __pyx_L4_unpacking_done;
46207 __pyx_L3_unpacking_failed:;
46208 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
46209 __pyx_t_5 = NULL((void*)0);
46210 if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
46211 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2363; __pyx_clineno = __LINE__46211; goto __pyx_L1_error;}
46212 __pyx_L4_unpacking_done:;
46213 }
46214 __pyx_v_r = __pyx_t_1;
46215 __pyx_t_1 = 0;
46216 __pyx_v_w = __pyx_t_3;
46217 __pyx_t_3 = 0;
46218
46219 /* "xmmsapi.pyx":2365
46220 * (r, w) = pipe()
46221 *
46222 * self.do_loop = True # <<<<<<<<<<<<<<
46223 * self._loop_set_wakeup(w)
46224 *
46225 */
46226 __pyx_v_self->do_loop = 1;
46227
46228 /* "xmmsapi.pyx":2366
46229 *
46230 * self.do_loop = True
46231 * self._loop_set_wakeup(w) # <<<<<<<<<<<<<<
46232 *
46233 * while self.do_loop:
46234 */
46235 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_loop_set_wakeup); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2366; __pyx_clineno = __LINE__46235; goto __pyx_L1_error;}
46236 __Pyx_GOTREF(__pyx_t_2);
46237 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2366; __pyx_clineno = __LINE__46237; goto __pyx_L1_error;}
46238 __Pyx_GOTREF(__pyx_t_3);
46239 __Pyx_INCREF(__pyx_v_w)( ((PyObject*)(__pyx_v_w))->ob_refcnt++);
46240 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_w)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_v_w);
46241 __Pyx_GIVEREF(__pyx_v_w);
46242 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2366; __pyx_clineno = __LINE__46242; goto __pyx_L1_error;}
46243 __Pyx_GOTREF(__pyx_t_1);
46244 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
46245 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
46246 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
46247
46248 /* "xmmsapi.pyx":2368
46249 * self._loop_set_wakeup(w)
46250 *
46251 * while self.do_loop: # <<<<<<<<<<<<<<
46252 * try:
46253 * (i, o, e) = self.loop_iter(infd = [r])
46254 */
46255 while (1) {
46256 __pyx_t_6 = (__pyx_v_self->do_loop != 0);
46257 if (!__pyx_t_6) break;
46258
46259 /* "xmmsapi.pyx":2369
46260 *
46261 * while self.do_loop:
46262 * try: # <<<<<<<<<<<<<<
46263 * (i, o, e) = self.loop_iter(infd = [r])
46264 * if r in i:
46265 */
46266 {
46267 __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9);
46268 __Pyx_XGOTREF(__pyx_t_7);
46269 __Pyx_XGOTREF(__pyx_t_8);
46270 __Pyx_XGOTREF(__pyx_t_9);
46271 /*try:*/ {
46272
46273 /* "xmmsapi.pyx":2370
46274 * while self.do_loop:
46275 * try:
46276 * (i, o, e) = self.loop_iter(infd = [r]) # <<<<<<<<<<<<<<
46277 * if r in i:
46278 * read(r, 1) # Purge wakeup stream (each wakeup signal should not write more than one byte)
46279 */
46280 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_loop_iter); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2370; __pyx_clineno = __LINE__46280; goto __pyx_L7_error;}
46281 __Pyx_GOTREF(__pyx_t_1);
46282 __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2370; __pyx_clineno = __LINE__46282; goto __pyx_L7_error;}
46283 __Pyx_GOTREF(__pyx_t_3);
46284 __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2370; __pyx_clineno = __LINE__46284; goto __pyx_L7_error;}
46285 __Pyx_GOTREF(__pyx_t_2);
46286 __Pyx_INCREF(__pyx_v_r)( ((PyObject*)(__pyx_v_r))->ob_refcnt++);
46287 PyList_SET_ITEM(__pyx_t_2, 0, __pyx_v_r)(((PyListObject *)(__pyx_t_2))->ob_item[0] = (__pyx_v_r));
46288 __Pyx_GIVEREF(__pyx_v_r);
46289 if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_infd, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2370; __pyx_clineno = __LINE__46289; goto __pyx_L7_error;}
46290 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
46291 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2370; __pyx_clineno = __LINE__46291; goto __pyx_L7_error;}
46292 __Pyx_GOTREF(__pyx_t_2);
46293 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
46294 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
46295 if ((likely(PyTuple_CheckExact(__pyx_t_2))__builtin_expect(!!(((((PyObject*)(__pyx_t_2))->ob_type) ==
&PyTuple_Type)), 1)
) || (PyList_CheckExact(__pyx_t_2)((((PyObject*)(__pyx_t_2))->ob_type) == &PyList_Type))) {
46296 PyObject* sequence = __pyx_t_2;
46297 #if CYTHON_COMPILING_IN_CPYTHON1
46298 Py_ssize_t size = Py_SIZE(sequence)(((PyVarObject*)(sequence))->ob_size);
46299 #else
46300 Py_ssize_t size = PySequence_Size(sequence);
46301 #endif
46302 if (unlikely(size != 3)__builtin_expect(!!(size != 3), 0)) {
46303 if (size > 3) __Pyx_RaiseTooManyValuesError(3);
46304 else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
46305 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2370; __pyx_clineno = __LINE__46305; goto __pyx_L7_error;}
46306 }
46307 #if CYTHON_COMPILING_IN_CPYTHON1
46308 if (likely(PyTuple_CheckExact(sequence))__builtin_expect(!!(((((PyObject*)(sequence))->ob_type) ==
&PyTuple_Type)), 1)
) {
46309 __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0)(((PyTupleObject *)(sequence))->ob_item[0]);
46310 __pyx_t_1 = PyTuple_GET_ITEM(sequence, 1)(((PyTupleObject *)(sequence))->ob_item[1]);
46311 __pyx_t_4 = PyTuple_GET_ITEM(sequence, 2)(((PyTupleObject *)(sequence))->ob_item[2]);
46312 } else {
46313 __pyx_t_3 = PyList_GET_ITEM(sequence, 0)(((PyListObject *)(sequence))->ob_item[0]);
46314 __pyx_t_1 = PyList_GET_ITEM(sequence, 1)(((PyListObject *)(sequence))->ob_item[1]);
46315 __pyx_t_4 = PyList_GET_ITEM(sequence, 2)(((PyListObject *)(sequence))->ob_item[2]);
46316 }
46317 __Pyx_INCREF(__pyx_t_3)( ((PyObject*)(__pyx_t_3))->ob_refcnt++);
46318 __Pyx_INCREF(__pyx_t_1)( ((PyObject*)(__pyx_t_1))->ob_refcnt++);
46319 __Pyx_INCREF(__pyx_t_4)( ((PyObject*)(__pyx_t_4))->ob_refcnt++);
46320 #else
46321 __pyx_t_3 = PySequence_ITEM(sequence, 0)( (((PyObject*)(sequence))->ob_type)->tp_as_sequence->
sq_item(sequence, 0) )
; if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2370; __pyx_clineno = __LINE__46321; goto __pyx_L7_error;}
46322 __Pyx_GOTREF(__pyx_t_3);
46323 __pyx_t_1 = PySequence_ITEM(sequence, 1)( (((PyObject*)(sequence))->ob_type)->tp_as_sequence->
sq_item(sequence, 1) )
; if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2370; __pyx_clineno = __LINE__46323; goto __pyx_L7_error;}
46324 __Pyx_GOTREF(__pyx_t_1);
46325 __pyx_t_4 = PySequence_ITEM(sequence, 2)( (((PyObject*)(sequence))->ob_type)->tp_as_sequence->
sq_item(sequence, 2) )
; if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2370; __pyx_clineno = __LINE__46325; goto __pyx_L7_error;}
46326 __Pyx_GOTREF(__pyx_t_4);
46327 #endif
46328 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
46329 } else {
46330 Py_ssize_t index = -1;
46331 __pyx_t_10 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_10)__builtin_expect(!!(!__pyx_t_10), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2370; __pyx_clineno = __LINE__46331; goto __pyx_L7_error;}
46332 __Pyx_GOTREF(__pyx_t_10);
46333 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
46334 __pyx_t_5 = Py_TYPE(__pyx_t_10)(((PyObject*)(__pyx_t_10))->ob_type)->tp_iternext;
46335 index = 0; __pyx_t_3 = __pyx_t_5(__pyx_t_10); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) goto __pyx_L15_unpacking_failed;
46336 __Pyx_GOTREF(__pyx_t_3);
46337 index = 1; __pyx_t_1 = __pyx_t_5(__pyx_t_10); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) goto __pyx_L15_unpacking_failed;
46338 __Pyx_GOTREF(__pyx_t_1);
46339 index = 2; __pyx_t_4 = __pyx_t_5(__pyx_t_10); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) goto __pyx_L15_unpacking_failed;
46340 __Pyx_GOTREF(__pyx_t_4);
46341 if (__Pyx_IternextUnpackEndCheck(__pyx_t_5(__pyx_t_10), 3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2370; __pyx_clineno = __LINE__46341; goto __pyx_L7_error;}
46342 __pyx_t_5 = NULL((void*)0);
46343 __Pyx_DECREF(__pyx_t_10)do { if ( --((PyObject*)(__pyx_t_10))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_10)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_10)))); } while
(0)
; __pyx_t_10 = 0;
46344 goto __pyx_L16_unpacking_done;
46345 __pyx_L15_unpacking_failed:;
46346 __Pyx_DECREF(__pyx_t_10)do { if ( --((PyObject*)(__pyx_t_10))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_10)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_10)))); } while
(0)
; __pyx_t_10 = 0;
46347 __pyx_t_5 = NULL((void*)0);
46348 if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
46349 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2370; __pyx_clineno = __LINE__46349; goto __pyx_L7_error;}
46350 __pyx_L16_unpacking_done:;
46351 }
46352 __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3)do { PyObject *tmp = (PyObject *) __pyx_v_i; __pyx_v_i = __pyx_t_3
; do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0); } while (0)
;
46353 __pyx_t_3 = 0;
46354 __Pyx_XDECREF_SET(__pyx_v_o, __pyx_t_1)do { PyObject *tmp = (PyObject *) __pyx_v_o; __pyx_v_o = __pyx_t_1
; do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0); } while (0)
;
46355 __pyx_t_1 = 0;
46356 __Pyx_XDECREF_SET(__pyx_v_e, __pyx_t_4)do { PyObject *tmp = (PyObject *) __pyx_v_e; __pyx_v_e = __pyx_t_4
; do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0); } while (0)
;
46357 __pyx_t_4 = 0;
46358
46359 /* "xmmsapi.pyx":2371
46360 * try:
46361 * (i, o, e) = self.loop_iter(infd = [r])
46362 * if r in i: # <<<<<<<<<<<<<<
46363 * read(r, 1) # Purge wakeup stream (each wakeup signal should not write more than one byte)
46364 * except XmmsDisconnectException:
46365 */
46366 __pyx_t_6 = (__Pyx_PySequence_Contains(__pyx_v_r, __pyx_v_i, Py_EQ2)); if (unlikely(__pyx_t_6 < 0)__builtin_expect(!!(__pyx_t_6 < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2371; __pyx_clineno = __LINE__46366; goto __pyx_L7_error;}
46367 __pyx_t_11 = (__pyx_t_6 != 0);
46368 if (__pyx_t_11) {
46369
46370 /* "xmmsapi.pyx":2372
46371 * (i, o, e) = self.loop_iter(infd = [r])
46372 * if r in i:
46373 * read(r, 1) # Purge wakeup stream (each wakeup signal should not write more than one byte) # <<<<<<<<<<<<<<
46374 * except XmmsDisconnectException:
46375 * self.do_loop = False
46376 */
46377 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2372; __pyx_clineno = __LINE__46377; goto __pyx_L7_error;}
46378 __Pyx_GOTREF(__pyx_t_2);
46379 __Pyx_INCREF(__pyx_v_r)( ((PyObject*)(__pyx_v_r))->ob_refcnt++);
46380 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_r)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_v_r);
46381 __Pyx_GIVEREF(__pyx_v_r);
46382 __Pyx_INCREF(__pyx_int_1)( ((PyObject*)(__pyx_int_1))->ob_refcnt++);
46383 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_1)(((PyTupleObject *)(__pyx_t_2))->ob_item[1] = __pyx_int_1);
46384 __Pyx_GIVEREF(__pyx_int_1);
46385 __pyx_t_4 = __Pyx_PyObject_Call(__pyx_v_read, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2372; __pyx_clineno = __LINE__46385; goto __pyx_L7_error;}
46386 __Pyx_GOTREF(__pyx_t_4);
46387 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
46388 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
46389 goto __pyx_L17;
46390 }
46391 __pyx_L17:;
46392 }
46393 __Pyx_XDECREF(__pyx_t_7)do { if ((__pyx_t_7) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_7))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_7)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_7)))); } while (0); } while (0)
; __pyx_t_7 = 0;
46394 __Pyx_XDECREF(__pyx_t_8)do { if ((__pyx_t_8) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_8))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_8)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_8)))); } while (0); } while (0)
; __pyx_t_8 = 0;
46395 __Pyx_XDECREF(__pyx_t_9)do { if ((__pyx_t_9) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_9))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_9)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_9)))); } while (0); } while (0)
; __pyx_t_9 = 0;
46396 goto __pyx_L14_try_end;
46397 __pyx_L7_error:;
46398 __Pyx_XDECREF(__pyx_t_10)do { if ((__pyx_t_10) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_10))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_t_10)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_10)))); } while (0); } while (0)
; __pyx_t_10 = 0;
46399 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
; __pyx_t_3 = 0;
46400 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
; __pyx_t_1 = 0;
46401 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
; __pyx_t_2 = 0;
46402 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
; __pyx_t_4 = 0;
46403
46404 /* "xmmsapi.pyx":2373
46405 * if r in i:
46406 * read(r, 1) # Purge wakeup stream (each wakeup signal should not write more than one byte)
46407 * except XmmsDisconnectException: # <<<<<<<<<<<<<<
46408 * self.do_loop = False
46409 *
46410 */
46411 __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_XmmsDisconnectException); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2373; __pyx_clineno = __LINE__46411; goto __pyx_L9_except_error;}
46412 __Pyx_GOTREF(__pyx_t_4);
46413 __pyx_t_12 = PyErr_ExceptionMatches(__pyx_t_4);
46414 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
46415 if (__pyx_t_12) {
46416 __Pyx_AddTraceback("xmmsapi.XmmsLoop.loop", __pyx_clineno, __pyx_lineno, __pyx_filename);
46417 if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_2, &__pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2373; __pyx_clineno = __LINE__46417; goto __pyx_L9_except_error;}
46418 __Pyx_GOTREF(__pyx_t_4);
46419 __Pyx_GOTREF(__pyx_t_2);
46420 __Pyx_GOTREF(__pyx_t_1);
46421
46422 /* "xmmsapi.pyx":2374
46423 * read(r, 1) # Purge wakeup stream (each wakeup signal should not write more than one byte)
46424 * except XmmsDisconnectException:
46425 * self.do_loop = False # <<<<<<<<<<<<<<
46426 *
46427 * self._loop_set_wakeup(None)
46428 */
46429 __pyx_v_self->do_loop = 0;
46430 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
46431 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
46432 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
46433 goto __pyx_L8_exception_handled;
46434 }
46435 goto __pyx_L9_except_error;
46436 __pyx_L9_except_error:;
46437 __Pyx_XGIVEREF(__pyx_t_7);
46438 __Pyx_XGIVEREF(__pyx_t_8);
46439 __Pyx_XGIVEREF(__pyx_t_9);
46440 __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
46441 goto __pyx_L1_error;
46442 __pyx_L8_exception_handled:;
46443 __Pyx_XGIVEREF(__pyx_t_7);
46444 __Pyx_XGIVEREF(__pyx_t_8);
46445 __Pyx_XGIVEREF(__pyx_t_9);
46446 __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9);
46447 __pyx_L14_try_end:;
46448 }
46449 }
46450
46451 /* "xmmsapi.pyx":2376
46452 * self.do_loop = False
46453 *
46454 * self._loop_set_wakeup(None) # <<<<<<<<<<<<<<
46455 *
46456 * Xmms = XmmsApi
46457 */
46458 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_loop_set_wakeup); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2376; __pyx_clineno = __LINE__46458; goto __pyx_L1_error;}
46459 __Pyx_GOTREF(__pyx_t_1);
46460 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__50, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2376; __pyx_clineno = __LINE__46460; goto __pyx_L1_error;}
46461 __Pyx_GOTREF(__pyx_t_2);
46462 __Pyx_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
46463 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
46464
46465 /* "xmmsapi.pyx":2355
46466 * return (i, o, e) #Can be used by overridding methods for extra handling.
46467 *
46468 * def loop(self): # <<<<<<<<<<<<<<
46469 * """
46470 * Main client loop for most python clients. Call this to run the
46471 */
46472
46473 /* function exit code */
46474 __pyx_r = Py_None(&_Py_NoneStruct); __Pyx_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
46475 goto __pyx_L0;
46476 __pyx_L1_error:;
46477 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
46478 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
46479 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
46480 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
;
46481 __Pyx_XDECREF(__pyx_t_10)do { if ((__pyx_t_10) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_10))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(__pyx_t_10)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_10)))); } while (0); } while (0)
;
46482 __Pyx_AddTraceback("xmmsapi.XmmsLoop.loop", __pyx_clineno, __pyx_lineno, __pyx_filename);
46483 __pyx_r = NULL((void*)0);
46484 __pyx_L0:;
46485 __Pyx_XDECREF(__pyx_v_pipe)do { if ((__pyx_v_pipe) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_pipe))->ob_refcnt != 0) ; else ( (*(((PyObject*
)((PyObject *)(__pyx_v_pipe)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(__pyx_v_pipe)))); } while (0); } while
(0)
;
46486 __Pyx_XDECREF(__pyx_v_read)do { if ((__pyx_v_read) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_read))->ob_refcnt != 0) ; else ( (*(((PyObject*
)((PyObject *)(__pyx_v_read)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(__pyx_v_read)))); } while (0); } while
(0)
;
46487 __Pyx_XDECREF(__pyx_v_r)do { if ((__pyx_v_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_r)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_r)))); } while (0); } while (0)
;
46488 __Pyx_XDECREF(__pyx_v_w)do { if ((__pyx_v_w) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_w))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_w)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_w)))); } while (0); } while (0)
;
46489 __Pyx_XDECREF(__pyx_v_i)do { if ((__pyx_v_i) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_i))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_i)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_i)))); } while (0); } while (0)
;
46490 __Pyx_XDECREF(__pyx_v_o)do { if ((__pyx_v_o) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_o))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_o)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_o)))); } while (0); } while (0)
;
46491 __Pyx_XDECREF(__pyx_v_e)do { if ((__pyx_v_e) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_v_e))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_v_e)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_v_e)))); } while (0); } while (0)
;
46492 __Pyx_XGIVEREF(__pyx_r);
46493 __Pyx_RefNannyFinishContext();
46494 return __pyx_r;
46495}
46496
46497/* "xmmsutils.pxd":4
46498 * from libc.string cimport const_char, strlen
46499 *
46500 * cdef inline to_unicode(const_char *s): # <<<<<<<<<<<<<<
46501 * return PyUnicode_DecodeUTF8(s, strlen(s), "replace")
46502 *
46503 */
46504
46505static CYTHON_INLINE__inline__ PyObject *__pyx_f_9xmmsutils_to_unicode(const char *__pyx_v_s) {
46506 PyObject *__pyx_r = NULL((void*)0);
46507 __Pyx_RefNannyDeclarations
46508 PyObject *__pyx_t_1 = NULL((void*)0);
46509 int __pyx_lineno = 0;
46510 const char *__pyx_filename = NULL((void*)0);
46511 int __pyx_clineno = 0;
46512 __Pyx_RefNannySetupContext("to_unicode", 0);
46513
46514 /* "xmmsutils.pxd":5
46515 *
46516 * cdef inline to_unicode(const_char *s):
46517 * return PyUnicode_DecodeUTF8(s, strlen(s), "replace") # <<<<<<<<<<<<<<
46518 *
46519 * cdef inline from_unicode(object o):
46520 */
46521 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
46522 __pyx_t_1 = PyUnicode_DecodeUTF8PyUnicodeUCS4_DecodeUTF8(__pyx_v_s, strlen(__pyx_v_s), __pyx_k_replace); if (unlikely(!__pyx_t_1)__builtin_expect(!!(!__pyx_t_1), 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 5; __pyx_clineno = __LINE__46522; goto __pyx_L1_error;}
46523 __Pyx_GOTREF(__pyx_t_1);
46524 __pyx_r = __pyx_t_1;
46525 __pyx_t_1 = 0;
46526 goto __pyx_L0;
46527
46528 /* "xmmsutils.pxd":4
46529 * from libc.string cimport const_char, strlen
46530 *
46531 * cdef inline to_unicode(const_char *s): # <<<<<<<<<<<<<<
46532 * return PyUnicode_DecodeUTF8(s, strlen(s), "replace")
46533 *
46534 */
46535
46536 /* function exit code */
46537 __pyx_L1_error:;
46538 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
46539 __Pyx_AddTraceback("xmmsutils.to_unicode", __pyx_clineno, __pyx_lineno, __pyx_filename);
46540 __pyx_r = 0;
46541 __pyx_L0:;
46542 __Pyx_XGIVEREF(__pyx_r);
46543 __Pyx_RefNannyFinishContext();
46544 return __pyx_r;
46545}
46546
46547/* "xmmsutils.pxd":7
46548 * return PyUnicode_DecodeUTF8(s, strlen(s), "replace")
46549 *
46550 * cdef inline from_unicode(object o): # <<<<<<<<<<<<<<
46551 * if isinstance(o, unicode):
46552 * return PyUnicode_AsUTF8String(o)
46553 */
46554
46555static CYTHON_INLINE__inline__ PyObject *__pyx_f_9xmmsutils_from_unicode(PyObject *__pyx_v_o) {
46556 PyObject *__pyx_r = NULL((void*)0);
46557 __Pyx_RefNannyDeclarations
46558 int __pyx_t_1;
46559 int __pyx_t_2;
46560 PyObject *__pyx_t_3 = NULL((void*)0);
46561 int __pyx_lineno = 0;
46562 const char *__pyx_filename = NULL((void*)0);
46563 int __pyx_clineno = 0;
46564 __Pyx_RefNannySetupContext("from_unicode", 0);
46565
46566 /* "xmmsutils.pxd":8
46567 *
46568 * cdef inline from_unicode(object o):
46569 * if isinstance(o, unicode): # <<<<<<<<<<<<<<
46570 * return PyUnicode_AsUTF8String(o)
46571 * else:
46572 */
46573 __pyx_t_1 = PyUnicode_Check(__pyx_v_o)((((((PyObject*)(__pyx_v_o))->ob_type))->tp_flags &
((1L<<28))) != 0)
;
46574 __pyx_t_2 = (__pyx_t_1 != 0);
46575 if (__pyx_t_2) {
46576
46577 /* "xmmsutils.pxd":9
46578 * cdef inline from_unicode(object o):
46579 * if isinstance(o, unicode):
46580 * return PyUnicode_AsUTF8String(o) # <<<<<<<<<<<<<<
46581 * else:
46582 * return o
46583 */
46584 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
46585 __pyx_t_3 = PyUnicode_AsUTF8StringPyUnicodeUCS4_AsUTF8String(__pyx_v_o); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 9; __pyx_clineno = __LINE__46585; goto __pyx_L1_error;}
46586 __Pyx_GOTREF(__pyx_t_3);
46587 __pyx_r = __pyx_t_3;
46588 __pyx_t_3 = 0;
46589 goto __pyx_L0;
46590 }
46591 /*else*/ {
46592
46593 /* "xmmsutils.pxd":11
46594 * return PyUnicode_AsUTF8String(o)
46595 * else:
46596 * return o # <<<<<<<<<<<<<<
46597 */
46598 __Pyx_XDECREF(__pyx_r)do { if ((__pyx_r) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_r))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(__pyx_r)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(__pyx_r)))); } while (0); } while (0)
;
46599 __Pyx_INCREF(__pyx_v_o)( ((PyObject*)(__pyx_v_o))->ob_refcnt++);
46600 __pyx_r = __pyx_v_o;
46601 goto __pyx_L0;
46602 }
46603
46604 /* "xmmsutils.pxd":7
46605 * return PyUnicode_DecodeUTF8(s, strlen(s), "replace")
46606 *
46607 * cdef inline from_unicode(object o): # <<<<<<<<<<<<<<
46608 * if isinstance(o, unicode):
46609 * return PyUnicode_AsUTF8String(o)
46610 */
46611
46612 /* function exit code */
46613 __pyx_L1_error:;
46614 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
46615 __Pyx_AddTraceback("xmmsutils.from_unicode", __pyx_clineno, __pyx_lineno, __pyx_filename);
46616 __pyx_r = 0;
46617 __pyx_L0:;
46618 __Pyx_XGIVEREF(__pyx_r);
46619 __Pyx_RefNannyFinishContext();
46620 return __pyx_r;
46621}
46622
46623static PyObject *__pyx_tp_new_7xmmsapi_XmmsSourcePreference(PyTypeObject *t, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *a, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *k) {
46624 struct __pyx_obj_7xmmsapi_XmmsSourcePreference *p;
46625 PyObject *o;
46626 if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)__builtin_expect(!!((t->tp_flags & (1L<<20)) == 0
), 1)
) {
46627 o = (*t->tp_alloc)(t, 0);
46628 } else {
46629 o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
46630 }
46631 if (unlikely(!o)__builtin_expect(!!(!o), 0)) return 0;
46632 p = ((struct __pyx_obj_7xmmsapi_XmmsSourcePreference *)o);
46633 p->sources = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
46634 return o;
46635}
46636
46637static void __pyx_tp_dealloc_7xmmsapi_XmmsSourcePreference(PyObject *o) {
46638 struct __pyx_obj_7xmmsapi_XmmsSourcePreference *p = (struct __pyx_obj_7xmmsapi_XmmsSourcePreference *)o;
46639 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
46640 if (unlikely(Py_TYPE(o)->tp_finalize)__builtin_expect(!!((((PyObject*)(o))->ob_type)->tp_finalize
), 0)
&& !_PyGC_FINALIZED(o)) {
46641 if (PyObject_CallFinalizerFromDealloc(o)) return;
46642 }
46643 #endif
46644 PyObject_GC_UnTrack(o);
46645 Py_CLEAR(p->sources)do { if (p->sources) { PyObject *_py_tmp = (PyObject *)(p->
sources); (p->sources) = ((void*)0); do { if ( --((PyObject
*)(_py_tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(_py_tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(_py_tmp)))); } while (0); } } while (0)
;
46646 (*Py_TYPE(o)(((PyObject*)(o))->ob_type)->tp_free)(o);
46647}
46648
46649static int __pyx_tp_traverse_7xmmsapi_XmmsSourcePreference(PyObject *o, visitproc v, void *a) {
46650 int e;
46651 struct __pyx_obj_7xmmsapi_XmmsSourcePreference *p = (struct __pyx_obj_7xmmsapi_XmmsSourcePreference *)o;
46652 if (p->sources) {
46653 e = (*v)(p->sources, a); if (e) return e;
46654 }
46655 return 0;
46656}
46657
46658static int __pyx_tp_clear_7xmmsapi_XmmsSourcePreference(PyObject *o) {
46659 PyObject* tmp;
46660 struct __pyx_obj_7xmmsapi_XmmsSourcePreference *p = (struct __pyx_obj_7xmmsapi_XmmsSourcePreference *)o;
46661 tmp = ((PyObject*)p->sources);
46662 p->sources = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
46663 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
46664 return 0;
46665}
46666
46667static PyMethodDef __pyx_methods_7xmmsapi_XmmsSourcePreference[] = {
46668 {__Pyx_NAMESTR("get")("get"), (PyCFunction)__pyx_pw_7xmmsapi_20XmmsSourcePreference_3get, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_20XmmsSourcePreference_2get)(__pyx_doc_7xmmsapi_20XmmsSourcePreference_2get)},
46669 {__Pyx_NAMESTR("set")("set"), (PyCFunction)__pyx_pw_7xmmsapi_20XmmsSourcePreference_5set, METH_O0x0008, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_20XmmsSourcePreference_4set)(__pyx_doc_7xmmsapi_20XmmsSourcePreference_4set)},
46670 {0, 0, 0, 0}
46671};
46672
46673static PyTypeObject __pyx_type_7xmmsapi_XmmsSourcePreference = {
46674 PyVarObject_HEAD_INIT(0, 0)1, 0, 0,
46675 __Pyx_NAMESTR("xmmsapi.XmmsSourcePreference")("xmmsapi.XmmsSourcePreference"), /*tp_name*/
46676 sizeof(struct __pyx_obj_7xmmsapi_XmmsSourcePreference), /*tp_basicsize*/
46677 0, /*tp_itemsize*/
46678 __pyx_tp_dealloc_7xmmsapi_XmmsSourcePreference, /*tp_dealloc*/
46679 0, /*tp_print*/
46680 0, /*tp_getattr*/
46681 0, /*tp_setattr*/
46682 #if PY_MAJOR_VERSION2 < 3
46683 0, /*tp_compare*/
46684 #else
46685 0, /*reserved*/
46686 #endif
46687 0, /*tp_repr*/
46688 0, /*tp_as_number*/
46689 0, /*tp_as_sequence*/
46690 0, /*tp_as_mapping*/
46691 0, /*tp_hash*/
46692 0, /*tp_call*/
46693 0, /*tp_str*/
46694 0, /*tp_getattro*/
46695 0, /*tp_setattro*/
46696 0, /*tp_as_buffer*/
46697 Py_TPFLAGS_DEFAULT( (1L<<0) | (1L<<1) | (1L<<3) | (1L<<
5) | (1L<<6) | (1L<<7) | (1L<<8) | 0 | (1L<<
17) | 0)
|Py_TPFLAGS_HAVE_VERSION_TAG(1L<<18)|Py_TPFLAGS_CHECKTYPES(1L<<4)|Py_TPFLAGS_HAVE_NEWBUFFER(1L<<21)|Py_TPFLAGS_BASETYPE(1L<<10)|Py_TPFLAGS_HAVE_GC(1L<<14), /*tp_flags*/
46698 __Pyx_DOCSTR("XmmsSourcePreference(sources=None)\n\n\tSource preference manager\n\t")("XmmsSourcePreference(sources=None)\n\n\tSource preference manager\n\t"
)
, /*tp_doc*/
46699 __pyx_tp_traverse_7xmmsapi_XmmsSourcePreference, /*tp_traverse*/
46700 __pyx_tp_clear_7xmmsapi_XmmsSourcePreference, /*tp_clear*/
46701 0, /*tp_richcompare*/
46702 0, /*tp_weaklistoffset*/
46703 0, /*tp_iter*/
46704 0, /*tp_iternext*/
46705 __pyx_methods_7xmmsapi_XmmsSourcePreference, /*tp_methods*/
46706 0, /*tp_members*/
46707 0, /*tp_getset*/
46708 0, /*tp_base*/
46709 0, /*tp_dict*/
46710 0, /*tp_descr_get*/
46711 0, /*tp_descr_set*/
46712 0, /*tp_dictoffset*/
46713 __pyx_pw_7xmmsapi_20XmmsSourcePreference_1__init__, /*tp_init*/
46714 0, /*tp_alloc*/
46715 __pyx_tp_new_7xmmsapi_XmmsSourcePreference, /*tp_new*/
46716 0, /*tp_free*/
46717 0, /*tp_is_gc*/
46718 0, /*tp_bases*/
46719 0, /*tp_mro*/
46720 0, /*tp_cache*/
46721 0, /*tp_subclasses*/
46722 0, /*tp_weaklist*/
46723 0, /*tp_del*/
46724 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x02060000
46725 0, /*tp_version_tag*/
46726 #endif
46727 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
46728 0, /*tp_finalize*/
46729 #endif
46730};
46731static struct __pyx_vtabstruct_7xmmsapi_XmmsResult __pyx_vtable_7xmmsapi_XmmsResult;
46732
46733static PyObject *__pyx_tp_new_7xmmsapi_XmmsResult(PyTypeObject *t, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *a, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *k) {
46734 struct __pyx_obj_7xmmsapi_XmmsResult *p;
46735 PyObject *o;
46736 if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)__builtin_expect(!!((t->tp_flags & (1L<<20)) == 0
), 1)
) {
46737 o = (*t->tp_alloc)(t, 0);
46738 } else {
46739 o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
46740 }
46741 if (unlikely(!o)__builtin_expect(!!(!o), 0)) return 0;
46742 p = ((struct __pyx_obj_7xmmsapi_XmmsResult *)o);
46743 p->__pyx_vtab = __pyx_vtabptr_7xmmsapi_XmmsResult;
46744 p->_cb = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
46745 p->source_pref = ((struct __pyx_obj_7xmmsapi_XmmsSourcePreference *)Py_None(&_Py_NoneStruct)); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
46746 p->result_tracker = ((struct __pyx_obj_7xmmsapi_XmmsResultTracker *)Py_None(&_Py_NoneStruct)); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
46747 if (unlikely(__pyx_pw_7xmmsapi_10XmmsResult_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)__builtin_expect(!!(__pyx_pw_7xmmsapi_10XmmsResult_1__cinit__
(o, __pyx_empty_tuple, ((void*)0)) < 0), 0)
) {
46748 Py_DECREF(o)do { if ( --((PyObject*)(o))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(o)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(o)))); } while (0)
; o = 0;
46749 }
46750 return o;
46751}
46752
46753static void __pyx_tp_dealloc_7xmmsapi_XmmsResult(PyObject *o) {
46754 struct __pyx_obj_7xmmsapi_XmmsResult *p = (struct __pyx_obj_7xmmsapi_XmmsResult *)o;
46755 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
46756 if (unlikely(Py_TYPE(o)->tp_finalize)__builtin_expect(!!((((PyObject*)(o))->ob_type)->tp_finalize
), 0)
&& !_PyGC_FINALIZED(o)) {
46757 if (PyObject_CallFinalizerFromDealloc(o)) return;
46758 }
46759 #endif
46760 PyObject_GC_UnTrack(o);
46761 {
46762 PyObject *etype, *eval, *etb;
46763 PyErr_Fetch(&etype, &eval, &etb);
46764 ++Py_REFCNT(o)(((PyObject*)(o))->ob_refcnt);
46765 __pyx_pw_7xmmsapi_10XmmsResult_3__dealloc__(o);
46766 --Py_REFCNT(o)(((PyObject*)(o))->ob_refcnt);
46767 PyErr_Restore(etype, eval, etb);
46768 }
46769 Py_CLEAR(p->_cb)do { if (p->_cb) { PyObject *_py_tmp = (PyObject *)(p->
_cb); (p->_cb) = ((void*)0); do { if ( --((PyObject*)(_py_tmp
))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(
_py_tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(_py_tmp)))); } while (0); } } while (0)
;
46770 Py_CLEAR(p->source_pref)do { if (p->source_pref) { PyObject *_py_tmp = (PyObject *
)(p->source_pref); (p->source_pref) = ((void*)0); do { if
( --((PyObject*)(_py_tmp))->ob_refcnt != 0) ; else ( (*((
(PyObject*)((PyObject *)(_py_tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(_py_tmp)))); } while (0); } } while
(0)
;
46771 Py_CLEAR(p->result_tracker)do { if (p->result_tracker) { PyObject *_py_tmp = (PyObject
*)(p->result_tracker); (p->result_tracker) = ((void*)0
); do { if ( --((PyObject*)(_py_tmp))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(_py_tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(_py_tmp)))); } while (0); } } while
(0)
;
46772 (*Py_TYPE(o)(((PyObject*)(o))->ob_type)->tp_free)(o);
46773}
46774
46775static int __pyx_tp_traverse_7xmmsapi_XmmsResult(PyObject *o, visitproc v, void *a) {
46776 int e;
46777 struct __pyx_obj_7xmmsapi_XmmsResult *p = (struct __pyx_obj_7xmmsapi_XmmsResult *)o;
46778 if (p->_cb) {
46779 e = (*v)(p->_cb, a); if (e) return e;
46780 }
46781 if (p->source_pref) {
46782 e = (*v)(((PyObject*)p->source_pref), a); if (e) return e;
46783 }
46784 if (p->result_tracker) {
46785 e = (*v)(((PyObject*)p->result_tracker), a); if (e) return e;
46786 }
46787 return 0;
46788}
46789
46790static int __pyx_tp_clear_7xmmsapi_XmmsResult(PyObject *o) {
46791 PyObject* tmp;
46792 struct __pyx_obj_7xmmsapi_XmmsResult *p = (struct __pyx_obj_7xmmsapi_XmmsResult *)o;
46793 tmp = ((PyObject*)p->_cb);
46794 p->_cb = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
46795 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
46796 tmp = ((PyObject*)p->source_pref);
46797 p->source_pref = ((struct __pyx_obj_7xmmsapi_XmmsSourcePreference *)Py_None(&_Py_NoneStruct)); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
46798 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
46799 tmp = ((PyObject*)p->result_tracker);
46800 p->result_tracker = ((struct __pyx_obj_7xmmsapi_XmmsResultTracker *)Py_None(&_Py_NoneStruct)); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
46801 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
46802 return 0;
46803}
46804
46805static PyObject *__pyx_getprop_7xmmsapi_10XmmsResult_callback(PyObject *o, CYTHON_UNUSED__attribute__ ((__unused__)) void *x) {
46806 return __pyx_pw_7xmmsapi_10XmmsResult_8callback_1__get__(o);
46807}
46808
46809static PyObject *__pyx_getprop_7xmmsapi_10XmmsResult_xvalue(PyObject *o, CYTHON_UNUSED__attribute__ ((__unused__)) void *x) {
46810 return __pyx_pw_7xmmsapi_10XmmsResult_6xvalue_1__get__(o);
46811}
46812
46813static PyMethodDef __pyx_methods_7xmmsapi_XmmsResult[] = {
46814 {__Pyx_NAMESTR("disconnect")("disconnect"), (PyCFunction)__pyx_pw_7xmmsapi_10XmmsResult_5disconnect, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_10XmmsResult_4disconnect)(__pyx_doc_7xmmsapi_10XmmsResult_4disconnect)},
46815 {__Pyx_NAMESTR("_callback")("_callback"), (PyCFunction)__pyx_pw_7xmmsapi_10XmmsResult_7_callback, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_10XmmsResult_6_callback)(__pyx_doc_7xmmsapi_10XmmsResult_6_callback)},
46816 {__Pyx_NAMESTR("wait")("wait"), (PyCFunction)__pyx_pw_7xmmsapi_10XmmsResult_11wait, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_10XmmsResult_10wait)(__pyx_doc_7xmmsapi_10XmmsResult_10wait)},
46817 {__Pyx_NAMESTR("is_error")("is_error"), (PyCFunction)__pyx_pw_7xmmsapi_10XmmsResult_13is_error, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_10XmmsResult_12is_error)(__pyx_doc_7xmmsapi_10XmmsResult_12is_error)},
46818 {__Pyx_NAMESTR("iserror")("iserror"), (PyCFunction)__pyx_pw_7xmmsapi_10XmmsResult_15iserror, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_10XmmsResult_14iserror)(__pyx_doc_7xmmsapi_10XmmsResult_14iserror)},
46819 {__Pyx_NAMESTR("xmmsvalue")("xmmsvalue"), (PyCFunction)__pyx_pw_7xmmsapi_10XmmsResult_17xmmsvalue, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_10XmmsResult_16xmmsvalue)(__pyx_doc_7xmmsapi_10XmmsResult_16xmmsvalue)},
46820 {__Pyx_NAMESTR("_value")("_value"), (PyCFunction)__pyx_pw_7xmmsapi_10XmmsResult_19_value, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_10XmmsResult_18_value)(__pyx_doc_7xmmsapi_10XmmsResult_18_value)},
46821 {__Pyx_NAMESTR("value")("value"), (PyCFunction)__pyx_pw_7xmmsapi_10XmmsResult_21value, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_10XmmsResult_20value)(__pyx_doc_7xmmsapi_10XmmsResult_20value)},
46822 {0, 0, 0, 0}
46823};
46824
46825static struct PyGetSetDef __pyx_getsets_7xmmsapi_XmmsResult[] = {
46826 {(char *)"callback", __pyx_getprop_7xmmsapi_10XmmsResult_callback, 0, 0, 0},
46827 {(char *)"xvalue", __pyx_getprop_7xmmsapi_10XmmsResult_xvalue, 0, 0, 0},
46828 {0, 0, 0, 0, 0}
46829};
46830
46831static PyTypeObject __pyx_type_7xmmsapi_XmmsResult = {
46832 PyVarObject_HEAD_INIT(0, 0)1, 0, 0,
46833 __Pyx_NAMESTR("xmmsapi.XmmsResult")("xmmsapi.XmmsResult"), /*tp_name*/
46834 sizeof(struct __pyx_obj_7xmmsapi_XmmsResult), /*tp_basicsize*/
46835 0, /*tp_itemsize*/
46836 __pyx_tp_dealloc_7xmmsapi_XmmsResult, /*tp_dealloc*/
46837 0, /*tp_print*/
46838 0, /*tp_getattr*/
46839 0, /*tp_setattr*/
46840 #if PY_MAJOR_VERSION2 < 3
46841 0, /*tp_compare*/
46842 #else
46843 0, /*reserved*/
46844 #endif
46845 0, /*tp_repr*/
46846 0, /*tp_as_number*/
46847 0, /*tp_as_sequence*/
46848 0, /*tp_as_mapping*/
46849 0, /*tp_hash*/
46850 __pyx_pw_7xmmsapi_10XmmsResult_9__call__, /*tp_call*/
46851 0, /*tp_str*/
46852 0, /*tp_getattro*/
46853 0, /*tp_setattro*/
46854 0, /*tp_as_buffer*/
46855 Py_TPFLAGS_DEFAULT( (1L<<0) | (1L<<1) | (1L<<3) | (1L<<
5) | (1L<<6) | (1L<<7) | (1L<<8) | 0 | (1L<<
17) | 0)
|Py_TPFLAGS_HAVE_VERSION_TAG(1L<<18)|Py_TPFLAGS_CHECKTYPES(1L<<4)|Py_TPFLAGS_HAVE_NEWBUFFER(1L<<21)|Py_TPFLAGS_BASETYPE(1L<<10)|Py_TPFLAGS_HAVE_GC(1L<<14), /*tp_flags*/
46856 __Pyx_DOCSTR("\n\tClass containing the results of some operation\n\t")("\n\tClass containing the results of some operation\n\t"), /*tp_doc*/
46857 __pyx_tp_traverse_7xmmsapi_XmmsResult, /*tp_traverse*/
46858 __pyx_tp_clear_7xmmsapi_XmmsResult, /*tp_clear*/
46859 0, /*tp_richcompare*/
46860 0, /*tp_weaklistoffset*/
46861 0, /*tp_iter*/
46862 0, /*tp_iternext*/
46863 __pyx_methods_7xmmsapi_XmmsResult, /*tp_methods*/
46864 0, /*tp_members*/
46865 __pyx_getsets_7xmmsapi_XmmsResult, /*tp_getset*/
46866 0, /*tp_base*/
46867 0, /*tp_dict*/
46868 0, /*tp_descr_get*/
46869 0, /*tp_descr_set*/
46870 0, /*tp_dictoffset*/
46871 0, /*tp_init*/
46872 0, /*tp_alloc*/
46873 __pyx_tp_new_7xmmsapi_XmmsResult, /*tp_new*/
46874 0, /*tp_free*/
46875 0, /*tp_is_gc*/
46876 0, /*tp_bases*/
46877 0, /*tp_mro*/
46878 0, /*tp_cache*/
46879 0, /*tp_subclasses*/
46880 0, /*tp_weaklist*/
46881 0, /*tp_del*/
46882 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x02060000
46883 0, /*tp_version_tag*/
46884 #endif
46885 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
46886 0, /*tp_finalize*/
46887 #endif
46888};
46889static struct __pyx_vtabstruct_7xmmsapi_XmmsResultTracker __pyx_vtable_7xmmsapi_XmmsResultTracker;
46890
46891static PyObject *__pyx_tp_new_7xmmsapi_XmmsResultTracker(PyTypeObject *t, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *a, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *k) {
46892 struct __pyx_obj_7xmmsapi_XmmsResultTracker *p;
46893 PyObject *o;
46894 if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)__builtin_expect(!!((t->tp_flags & (1L<<20)) == 0
), 1)
) {
46895 o = (*t->tp_alloc)(t, 0);
46896 } else {
46897 o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
46898 }
46899 if (unlikely(!o)__builtin_expect(!!(!o), 0)) return 0;
46900 p = ((struct __pyx_obj_7xmmsapi_XmmsResultTracker *)o);
46901 p->__pyx_vtab = __pyx_vtabptr_7xmmsapi_XmmsResultTracker;
46902 p->results = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
46903 if (unlikely(__pyx_pw_7xmmsapi_17XmmsResultTracker_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)__builtin_expect(!!(__pyx_pw_7xmmsapi_17XmmsResultTracker_1__cinit__
(o, __pyx_empty_tuple, ((void*)0)) < 0), 0)
) {
46904 Py_DECREF(o)do { if ( --((PyObject*)(o))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(o)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(o)))); } while (0)
; o = 0;
46905 }
46906 return o;
46907}
46908
46909static void __pyx_tp_dealloc_7xmmsapi_XmmsResultTracker(PyObject *o) {
46910 struct __pyx_obj_7xmmsapi_XmmsResultTracker *p = (struct __pyx_obj_7xmmsapi_XmmsResultTracker *)o;
46911 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
46912 if (unlikely(Py_TYPE(o)->tp_finalize)__builtin_expect(!!((((PyObject*)(o))->ob_type)->tp_finalize
), 0)
&& !_PyGC_FINALIZED(o)) {
46913 if (PyObject_CallFinalizerFromDealloc(o)) return;
46914 }
46915 #endif
46916 PyObject_GC_UnTrack(o);
46917 Py_CLEAR(p->results)do { if (p->results) { PyObject *_py_tmp = (PyObject *)(p->
results); (p->results) = ((void*)0); do { if ( --((PyObject
*)(_py_tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(_py_tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(_py_tmp)))); } while (0); } } while (0)
;
46918 (*Py_TYPE(o)(((PyObject*)(o))->ob_type)->tp_free)(o);
46919}
46920
46921static int __pyx_tp_traverse_7xmmsapi_XmmsResultTracker(PyObject *o, visitproc v, void *a) {
46922 int e;
46923 struct __pyx_obj_7xmmsapi_XmmsResultTracker *p = (struct __pyx_obj_7xmmsapi_XmmsResultTracker *)o;
46924 if (p->results) {
46925 e = (*v)(p->results, a); if (e) return e;
46926 }
46927 return 0;
46928}
46929
46930static int __pyx_tp_clear_7xmmsapi_XmmsResultTracker(PyObject *o) {
46931 PyObject* tmp;
46932 struct __pyx_obj_7xmmsapi_XmmsResultTracker *p = (struct __pyx_obj_7xmmsapi_XmmsResultTracker *)o;
46933 tmp = ((PyObject*)p->results);
46934 p->results = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
46935 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
46936 return 0;
46937}
46938
46939static PyMethodDef __pyx_methods_7xmmsapi_XmmsResultTracker[] = {
46940 {0, 0, 0, 0}
46941};
46942
46943static PyTypeObject __pyx_type_7xmmsapi_XmmsResultTracker = {
46944 PyVarObject_HEAD_INIT(0, 0)1, 0, 0,
46945 __Pyx_NAMESTR("xmmsapi.XmmsResultTracker")("xmmsapi.XmmsResultTracker"), /*tp_name*/
46946 sizeof(struct __pyx_obj_7xmmsapi_XmmsResultTracker), /*tp_basicsize*/
46947 0, /*tp_itemsize*/
46948 __pyx_tp_dealloc_7xmmsapi_XmmsResultTracker, /*tp_dealloc*/
46949 0, /*tp_print*/
46950 0, /*tp_getattr*/
46951 0, /*tp_setattr*/
46952 #if PY_MAJOR_VERSION2 < 3
46953 0, /*tp_compare*/
46954 #else
46955 0, /*reserved*/
46956 #endif
46957 0, /*tp_repr*/
46958 0, /*tp_as_number*/
46959 0, /*tp_as_sequence*/
46960 0, /*tp_as_mapping*/
46961 0, /*tp_hash*/
46962 0, /*tp_call*/
46963 0, /*tp_str*/
46964 0, /*tp_getattro*/
46965 0, /*tp_setattro*/
46966 0, /*tp_as_buffer*/
46967 Py_TPFLAGS_DEFAULT( (1L<<0) | (1L<<1) | (1L<<3) | (1L<<
5) | (1L<<6) | (1L<<7) | (1L<<8) | 0 | (1L<<
17) | 0)
|Py_TPFLAGS_HAVE_VERSION_TAG(1L<<18)|Py_TPFLAGS_CHECKTYPES(1L<<4)|Py_TPFLAGS_HAVE_NEWBUFFER(1L<<21)|Py_TPFLAGS_BASETYPE(1L<<10)|Py_TPFLAGS_HAVE_GC(1L<<14), /*tp_flags*/
46968 __Pyx_DOCSTR("\n\tClass used by XmmsCore to track results that set a notifier.\n\t")("\n\tClass used by XmmsCore to track results that set a notifier.\n\t"
)
, /*tp_doc*/
46969 __pyx_tp_traverse_7xmmsapi_XmmsResultTracker, /*tp_traverse*/
46970 __pyx_tp_clear_7xmmsapi_XmmsResultTracker, /*tp_clear*/
46971 0, /*tp_richcompare*/
46972 0, /*tp_weaklistoffset*/
46973 0, /*tp_iter*/
46974 0, /*tp_iternext*/
46975 __pyx_methods_7xmmsapi_XmmsResultTracker, /*tp_methods*/
46976 0, /*tp_members*/
46977 0, /*tp_getset*/
46978 0, /*tp_base*/
46979 0, /*tp_dict*/
46980 0, /*tp_descr_get*/
46981 0, /*tp_descr_set*/
46982 0, /*tp_dictoffset*/
46983 0, /*tp_init*/
46984 0, /*tp_alloc*/
46985 __pyx_tp_new_7xmmsapi_XmmsResultTracker, /*tp_new*/
46986 0, /*tp_free*/
46987 0, /*tp_is_gc*/
46988 0, /*tp_bases*/
46989 0, /*tp_mro*/
46990 0, /*tp_cache*/
46991 0, /*tp_subclasses*/
46992 0, /*tp_weaklist*/
46993 0, /*tp_del*/
46994 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x02060000
46995 0, /*tp_version_tag*/
46996 #endif
46997 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
46998 0, /*tp_finalize*/
46999 #endif
47000};
47001static struct __pyx_vtabstruct_7xmmsapi_XmmsVisResult __pyx_vtable_7xmmsapi_XmmsVisResult;
47002
47003static PyObject *__pyx_tp_new_7xmmsapi_XmmsVisResult(PyTypeObject *t, PyObject *a, PyObject *k) {
47004 struct __pyx_obj_7xmmsapi_XmmsVisResult *p;
47005 PyObject *o = __pyx_tp_new_7xmmsapi_XmmsResult(t, a, k);
47006 if (unlikely(!o)__builtin_expect(!!(!o), 0)) return 0;
47007 p = ((struct __pyx_obj_7xmmsapi_XmmsVisResult *)o);
47008 p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_7xmmsapi_XmmsResult*)__pyx_vtabptr_7xmmsapi_XmmsVisResult;
47009 p->_val = ((struct __pyx_obj_9xmmsvalue_XmmsValue *)Py_None(&_Py_NoneStruct)); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47010 if (unlikely(__pyx_pw_7xmmsapi_13XmmsVisResult_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)__builtin_expect(!!(__pyx_pw_7xmmsapi_13XmmsVisResult_1__cinit__
(o, __pyx_empty_tuple, ((void*)0)) < 0), 0)
) {
47011 Py_DECREF(o)do { if ( --((PyObject*)(o))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(o)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(o)))); } while (0)
; o = 0;
47012 }
47013 return o;
47014}
47015
47016static void __pyx_tp_dealloc_7xmmsapi_XmmsVisResult(PyObject *o) {
47017 struct __pyx_obj_7xmmsapi_XmmsVisResult *p = (struct __pyx_obj_7xmmsapi_XmmsVisResult *)o;
47018 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
47019 if (unlikely(Py_TYPE(o)->tp_finalize)__builtin_expect(!!((((PyObject*)(o))->ob_type)->tp_finalize
), 0)
&& !_PyGC_FINALIZED(o)) {
47020 if (PyObject_CallFinalizerFromDealloc(o)) return;
47021 }
47022 #endif
47023 PyObject_GC_UnTrack(o);
47024 {
47025 PyObject *etype, *eval, *etb;
47026 PyErr_Fetch(&etype, &eval, &etb);
47027 ++Py_REFCNT(o)(((PyObject*)(o))->ob_refcnt);
47028 __pyx_pw_7xmmsapi_13XmmsVisResult_3__dealloc__(o);
47029 --Py_REFCNT(o)(((PyObject*)(o))->ob_refcnt);
47030 PyErr_Restore(etype, eval, etb);
47031 }
47032 Py_CLEAR(p->_val)do { if (p->_val) { PyObject *_py_tmp = (PyObject *)(p->
_val); (p->_val) = ((void*)0); do { if ( --((PyObject*)(_py_tmp
))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(
_py_tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(_py_tmp)))); } while (0); } } while (0)
;
47033 PyObject_GC_Track(o);
47034 __pyx_tp_dealloc_7xmmsapi_XmmsResult(o);
47035}
47036
47037static int __pyx_tp_traverse_7xmmsapi_XmmsVisResult(PyObject *o, visitproc v, void *a) {
47038 int e;
47039 struct __pyx_obj_7xmmsapi_XmmsVisResult *p = (struct __pyx_obj_7xmmsapi_XmmsVisResult *)o;
47040 e = __pyx_tp_traverse_7xmmsapi_XmmsResult(o, v, a); if (e) return e;
47041 if (p->_val) {
47042 e = (*v)(((PyObject*)p->_val), a); if (e) return e;
47043 }
47044 return 0;
47045}
47046
47047static int __pyx_tp_clear_7xmmsapi_XmmsVisResult(PyObject *o) {
47048 PyObject* tmp;
47049 struct __pyx_obj_7xmmsapi_XmmsVisResult *p = (struct __pyx_obj_7xmmsapi_XmmsVisResult *)o;
47050 __pyx_tp_clear_7xmmsapi_XmmsResult(o);
47051 tmp = ((PyObject*)p->_val);
47052 p->_val = ((struct __pyx_obj_9xmmsvalue_XmmsValue *)Py_None(&_Py_NoneStruct)); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47053 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
47054 return 0;
47055}
47056
47057static PyMethodDef __pyx_methods_7xmmsapi_XmmsVisResult[] = {
47058 {__Pyx_NAMESTR("xmmsvalue")("xmmsvalue"), (PyCFunction)__pyx_pw_7xmmsapi_13XmmsVisResult_5xmmsvalue, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_13XmmsVisResult_4xmmsvalue)(__pyx_doc_7xmmsapi_13XmmsVisResult_4xmmsvalue)},
47059 {0, 0, 0, 0}
47060};
47061
47062static PyTypeObject __pyx_type_7xmmsapi_XmmsVisResult = {
47063 PyVarObject_HEAD_INIT(0, 0)1, 0, 0,
47064 __Pyx_NAMESTR("xmmsapi.XmmsVisResult")("xmmsapi.XmmsVisResult"), /*tp_name*/
47065 sizeof(struct __pyx_obj_7xmmsapi_XmmsVisResult), /*tp_basicsize*/
47066 0, /*tp_itemsize*/
47067 __pyx_tp_dealloc_7xmmsapi_XmmsVisResult, /*tp_dealloc*/
47068 0, /*tp_print*/
47069 0, /*tp_getattr*/
47070 0, /*tp_setattr*/
47071 #if PY_MAJOR_VERSION2 < 3
47072 0, /*tp_compare*/
47073 #else
47074 0, /*reserved*/
47075 #endif
47076 0, /*tp_repr*/
47077 0, /*tp_as_number*/
47078 0, /*tp_as_sequence*/
47079 0, /*tp_as_mapping*/
47080 0, /*tp_hash*/
47081 #if CYTHON_COMPILING_IN_PYPY0
47082 __pyx_pw_7xmmsapi_10XmmsResult_9__call__, /*tp_call*/
47083 #else
47084 0, /*tp_call*/
47085 #endif
47086 0, /*tp_str*/
47087 0, /*tp_getattro*/
47088 0, /*tp_setattro*/
47089 0, /*tp_as_buffer*/
47090 Py_TPFLAGS_DEFAULT( (1L<<0) | (1L<<1) | (1L<<3) | (1L<<
5) | (1L<<6) | (1L<<7) | (1L<<8) | 0 | (1L<<
17) | 0)
|Py_TPFLAGS_HAVE_VERSION_TAG(1L<<18)|Py_TPFLAGS_CHECKTYPES(1L<<4)|Py_TPFLAGS_HAVE_NEWBUFFER(1L<<21)|Py_TPFLAGS_BASETYPE(1L<<10)|Py_TPFLAGS_HAVE_GC(1L<<14), /*tp_flags*/
47091 0, /*tp_doc*/
47092 __pyx_tp_traverse_7xmmsapi_XmmsVisResult, /*tp_traverse*/
47093 __pyx_tp_clear_7xmmsapi_XmmsVisResult, /*tp_clear*/
47094 0, /*tp_richcompare*/
47095 0, /*tp_weaklistoffset*/
47096 0, /*tp_iter*/
47097 0, /*tp_iternext*/
47098 __pyx_methods_7xmmsapi_XmmsVisResult, /*tp_methods*/
47099 0, /*tp_members*/
47100 0, /*tp_getset*/
47101 0, /*tp_base*/
47102 0, /*tp_dict*/
47103 0, /*tp_descr_get*/
47104 0, /*tp_descr_set*/
47105 0, /*tp_dictoffset*/
47106 0, /*tp_init*/
47107 0, /*tp_alloc*/
47108 __pyx_tp_new_7xmmsapi_XmmsVisResult, /*tp_new*/
47109 0, /*tp_free*/
47110 0, /*tp_is_gc*/
47111 0, /*tp_bases*/
47112 0, /*tp_mro*/
47113 0, /*tp_cache*/
47114 0, /*tp_subclasses*/
47115 0, /*tp_weaklist*/
47116 0, /*tp_del*/
47117 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x02060000
47118 0, /*tp_version_tag*/
47119 #endif
47120 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
47121 0, /*tp_finalize*/
47122 #endif
47123};
47124static struct __pyx_vtabstruct_7xmmsapi_XmmsVisChunk __pyx_vtable_7xmmsapi_XmmsVisChunk;
47125
47126static PyObject *__pyx_tp_new_7xmmsapi_XmmsVisChunk(PyTypeObject *t, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *a, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *k) {
47127 struct __pyx_obj_7xmmsapi_XmmsVisChunk *p;
47128 PyObject *o;
47129 if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)__builtin_expect(!!((t->tp_flags & (1L<<20)) == 0
), 1)
) {
47130 o = (*t->tp_alloc)(t, 0);
47131 } else {
47132 o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
47133 }
47134 if (unlikely(!o)__builtin_expect(!!(!o), 0)) return 0;
47135 p = ((struct __pyx_obj_7xmmsapi_XmmsVisChunk *)o);
47136 p->__pyx_vtab = __pyx_vtabptr_7xmmsapi_XmmsVisChunk;
47137 if (unlikely(__pyx_pw_7xmmsapi_12XmmsVisChunk_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)__builtin_expect(!!(__pyx_pw_7xmmsapi_12XmmsVisChunk_1__cinit__
(o, __pyx_empty_tuple, ((void*)0)) < 0), 0)
) {
47138 Py_DECREF(o)do { if ( --((PyObject*)(o))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(o)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(o)))); } while (0)
; o = 0;
47139 }
47140 return o;
47141}
47142
47143static void __pyx_tp_dealloc_7xmmsapi_XmmsVisChunk(PyObject *o) {
47144 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
47145 if (unlikely(Py_TYPE(o)->tp_finalize)__builtin_expect(!!((((PyObject*)(o))->ob_type)->tp_finalize
), 0)
&& (!PyType_IS_GC(Py_TYPE(o))(((((((PyObject*)(o))->ob_type)))->tp_flags & ((1L<<
14))) != 0)
|| !_PyGC_FINALIZED(o))) {
47146 if (PyObject_CallFinalizerFromDealloc(o)) return;
47147 }
47148 #endif
47149 {
47150 PyObject *etype, *eval, *etb;
47151 PyErr_Fetch(&etype, &eval, &etb);
47152 ++Py_REFCNT(o)(((PyObject*)(o))->ob_refcnt);
47153 __pyx_pw_7xmmsapi_12XmmsVisChunk_3__dealloc__(o);
47154 --Py_REFCNT(o)(((PyObject*)(o))->ob_refcnt);
47155 PyErr_Restore(etype, eval, etb);
47156 }
47157 (*Py_TYPE(o)(((PyObject*)(o))->ob_type)->tp_free)(o);
47158}
47159
47160static PyMethodDef __pyx_methods_7xmmsapi_XmmsVisChunk[] = {
47161 {__Pyx_NAMESTR("get_buffer")("get_buffer"), (PyCFunction)__pyx_pw_7xmmsapi_12XmmsVisChunk_7get_buffer, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_12XmmsVisChunk_6get_buffer)(__pyx_doc_7xmmsapi_12XmmsVisChunk_6get_buffer)},
47162 {__Pyx_NAMESTR("get_data")("get_data"), (PyCFunction)__pyx_pw_7xmmsapi_12XmmsVisChunk_9get_data, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_12XmmsVisChunk_8get_data)(__pyx_doc_7xmmsapi_12XmmsVisChunk_8get_data)},
47163 {0, 0, 0, 0}
47164};
47165
47166static PySequenceMethods __pyx_tp_as_sequence_XmmsVisChunk = {
47167 __pyx_pw_7xmmsapi_12XmmsVisChunk_5__len__, /*sq_length*/
47168 0, /*sq_concat*/
47169 0, /*sq_repeat*/
47170 0, /*sq_item*/
47171 0, /*sq_slice*/
47172 0, /*sq_ass_item*/
47173 0, /*sq_ass_slice*/
47174 0, /*sq_contains*/
47175 0, /*sq_inplace_concat*/
47176 0, /*sq_inplace_repeat*/
47177};
47178
47179static PyMappingMethods __pyx_tp_as_mapping_XmmsVisChunk = {
47180 __pyx_pw_7xmmsapi_12XmmsVisChunk_5__len__, /*mp_length*/
47181 0, /*mp_subscript*/
47182 0, /*mp_ass_subscript*/
47183};
47184
47185static PyTypeObject __pyx_type_7xmmsapi_XmmsVisChunk = {
47186 PyVarObject_HEAD_INIT(0, 0)1, 0, 0,
47187 __Pyx_NAMESTR("xmmsapi.XmmsVisChunk")("xmmsapi.XmmsVisChunk"), /*tp_name*/
47188 sizeof(struct __pyx_obj_7xmmsapi_XmmsVisChunk), /*tp_basicsize*/
47189 0, /*tp_itemsize*/
47190 __pyx_tp_dealloc_7xmmsapi_XmmsVisChunk, /*tp_dealloc*/
47191 0, /*tp_print*/
47192 0, /*tp_getattr*/
47193 0, /*tp_setattr*/
47194 #if PY_MAJOR_VERSION2 < 3
47195 0, /*tp_compare*/
47196 #else
47197 0, /*reserved*/
47198 #endif
47199 0, /*tp_repr*/
47200 0, /*tp_as_number*/
47201 &__pyx_tp_as_sequence_XmmsVisChunk, /*tp_as_sequence*/
47202 &__pyx_tp_as_mapping_XmmsVisChunk, /*tp_as_mapping*/
47203 0, /*tp_hash*/
47204 0, /*tp_call*/
47205 0, /*tp_str*/
47206 0, /*tp_getattro*/
47207 0, /*tp_setattro*/
47208 0, /*tp_as_buffer*/
47209 Py_TPFLAGS_DEFAULT( (1L<<0) | (1L<<1) | (1L<<3) | (1L<<
5) | (1L<<6) | (1L<<7) | (1L<<8) | 0 | (1L<<
17) | 0)
|Py_TPFLAGS_HAVE_VERSION_TAG(1L<<18)|Py_TPFLAGS_CHECKTYPES(1L<<4)|Py_TPFLAGS_HAVE_NEWBUFFER(1L<<21)|Py_TPFLAGS_BASETYPE(1L<<10), /*tp_flags*/
47210 0, /*tp_doc*/
47211 0, /*tp_traverse*/
47212 0, /*tp_clear*/
47213 0, /*tp_richcompare*/
47214 0, /*tp_weaklistoffset*/
47215 0, /*tp_iter*/
47216 0, /*tp_iternext*/
47217 __pyx_methods_7xmmsapi_XmmsVisChunk, /*tp_methods*/
47218 0, /*tp_members*/
47219 0, /*tp_getset*/
47220 0, /*tp_base*/
47221 0, /*tp_dict*/
47222 0, /*tp_descr_get*/
47223 0, /*tp_descr_set*/
47224 0, /*tp_dictoffset*/
47225 0, /*tp_init*/
47226 0, /*tp_alloc*/
47227 __pyx_tp_new_7xmmsapi_XmmsVisChunk, /*tp_new*/
47228 0, /*tp_free*/
47229 0, /*tp_is_gc*/
47230 0, /*tp_bases*/
47231 0, /*tp_mro*/
47232 0, /*tp_cache*/
47233 0, /*tp_subclasses*/
47234 0, /*tp_weaklist*/
47235 0, /*tp_del*/
47236 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x02060000
47237 0, /*tp_version_tag*/
47238 #endif
47239 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
47240 0, /*tp_finalize*/
47241 #endif
47242};
47243static struct __pyx_vtabstruct_7xmmsapi_XmmsCore __pyx_vtable_7xmmsapi_XmmsCore;
47244
47245static PyObject *__pyx_tp_new_7xmmsapi_XmmsCore(PyTypeObject *t, PyObject *a, PyObject *k) {
47246 struct __pyx_obj_7xmmsapi_XmmsCore *p;
47247 PyObject *o;
47248 if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)__builtin_expect(!!((t->tp_flags & (1L<<20)) == 0
), 1)
) {
47249 o = (*t->tp_alloc)(t, 0);
47250 } else {
47251 o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
47252 }
47253 if (unlikely(!o)__builtin_expect(!!(!o), 0)) return 0;
47254 p = ((struct __pyx_obj_7xmmsapi_XmmsCore *)o);
47255 p->__pyx_vtab = __pyx_vtabptr_7xmmsapi_XmmsCore;
47256 p->disconnect_fun = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47257 p->needout_fun = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47258 p->source_preference = ((struct __pyx_obj_7xmmsapi_XmmsSourcePreference *)Py_None(&_Py_NoneStruct)); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47259 p->result_tracker = ((struct __pyx_obj_7xmmsapi_XmmsResultTracker *)Py_None(&_Py_NoneStruct)); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47260 p->clientname = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47261 if (unlikely(__pyx_pw_7xmmsapi_8XmmsCore_1__cinit__(o, a, k) < 0)__builtin_expect(!!(__pyx_pw_7xmmsapi_8XmmsCore_1__cinit__(o,
a, k) < 0), 0)
) {
47262 Py_DECREF(o)do { if ( --((PyObject*)(o))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(o)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(o)))); } while (0)
; o = 0;
47263 }
47264 return o;
47265}
47266
47267static void __pyx_tp_dealloc_7xmmsapi_XmmsCore(PyObject *o) {
47268 struct __pyx_obj_7xmmsapi_XmmsCore *p = (struct __pyx_obj_7xmmsapi_XmmsCore *)o;
47269 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
47270 if (unlikely(Py_TYPE(o)->tp_finalize)__builtin_expect(!!((((PyObject*)(o))->ob_type)->tp_finalize
), 0)
&& !_PyGC_FINALIZED(o)) {
47271 if (PyObject_CallFinalizerFromDealloc(o)) return;
47272 }
47273 #endif
47274 PyObject_GC_UnTrack(o);
47275 {
47276 PyObject *etype, *eval, *etb;
47277 PyErr_Fetch(&etype, &eval, &etb);
47278 ++Py_REFCNT(o)(((PyObject*)(o))->ob_refcnt);
47279 __pyx_pw_7xmmsapi_8XmmsCore_5__dealloc__(o);
47280 --Py_REFCNT(o)(((PyObject*)(o))->ob_refcnt);
47281 PyErr_Restore(etype, eval, etb);
47282 }
47283 Py_CLEAR(p->disconnect_fun)do { if (p->disconnect_fun) { PyObject *_py_tmp = (PyObject
*)(p->disconnect_fun); (p->disconnect_fun) = ((void*)0
); do { if ( --((PyObject*)(_py_tmp))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(_py_tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(_py_tmp)))); } while (0); } } while
(0)
;
47284 Py_CLEAR(p->needout_fun)do { if (p->needout_fun) { PyObject *_py_tmp = (PyObject *
)(p->needout_fun); (p->needout_fun) = ((void*)0); do { if
( --((PyObject*)(_py_tmp))->ob_refcnt != 0) ; else ( (*((
(PyObject*)((PyObject *)(_py_tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(_py_tmp)))); } while (0); } } while
(0)
;
47285 Py_CLEAR(p->source_preference)do { if (p->source_preference) { PyObject *_py_tmp = (PyObject
*)(p->source_preference); (p->source_preference) = ((void
*)0); do { if ( --((PyObject*)(_py_tmp))->ob_refcnt != 0) ;
else ( (*(((PyObject*)((PyObject *)(_py_tmp)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(_py_tmp)))); } while (0
); } } while (0)
;
47286 Py_CLEAR(p->result_tracker)do { if (p->result_tracker) { PyObject *_py_tmp = (PyObject
*)(p->result_tracker); (p->result_tracker) = ((void*)0
); do { if ( --((PyObject*)(_py_tmp))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(_py_tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(_py_tmp)))); } while (0); } } while
(0)
;
47287 Py_CLEAR(p->clientname)do { if (p->clientname) { PyObject *_py_tmp = (PyObject *)
(p->clientname); (p->clientname) = ((void*)0); do { if (
--((PyObject*)(_py_tmp))->ob_refcnt != 0) ; else ( (*(((PyObject
*)((PyObject *)(_py_tmp)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(_py_tmp)))); } while (0); } } while (0)
;
47288 (*Py_TYPE(o)(((PyObject*)(o))->ob_type)->tp_free)(o);
47289}
47290
47291static int __pyx_tp_traverse_7xmmsapi_XmmsCore(PyObject *o, visitproc v, void *a) {
47292 int e;
47293 struct __pyx_obj_7xmmsapi_XmmsCore *p = (struct __pyx_obj_7xmmsapi_XmmsCore *)o;
47294 if (p->disconnect_fun) {
47295 e = (*v)(p->disconnect_fun, a); if (e) return e;
47296 }
47297 if (p->needout_fun) {
47298 e = (*v)(p->needout_fun, a); if (e) return e;
47299 }
47300 if (p->source_preference) {
47301 e = (*v)(((PyObject*)p->source_preference), a); if (e) return e;
47302 }
47303 if (p->result_tracker) {
47304 e = (*v)(((PyObject*)p->result_tracker), a); if (e) return e;
47305 }
47306 if (p->clientname) {
47307 e = (*v)(p->clientname, a); if (e) return e;
47308 }
47309 return 0;
47310}
47311
47312static int __pyx_tp_clear_7xmmsapi_XmmsCore(PyObject *o) {
47313 PyObject* tmp;
47314 struct __pyx_obj_7xmmsapi_XmmsCore *p = (struct __pyx_obj_7xmmsapi_XmmsCore *)o;
47315 tmp = ((PyObject*)p->disconnect_fun);
47316 p->disconnect_fun = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47317 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
47318 tmp = ((PyObject*)p->needout_fun);
47319 p->needout_fun = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47320 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
47321 tmp = ((PyObject*)p->source_preference);
47322 p->source_preference = ((struct __pyx_obj_7xmmsapi_XmmsSourcePreference *)Py_None(&_Py_NoneStruct)); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47323 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
47324 tmp = ((PyObject*)p->result_tracker);
47325 p->result_tracker = ((struct __pyx_obj_7xmmsapi_XmmsResultTracker *)Py_None(&_Py_NoneStruct)); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47326 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
47327 tmp = ((PyObject*)p->clientname);
47328 p->clientname = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47329 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
47330 return 0;
47331}
47332
47333static PyObject *__pyx_getprop_7xmmsapi_8XmmsCore_source_preference(PyObject *o, CYTHON_UNUSED__attribute__ ((__unused__)) void *x) {
47334 return __pyx_pw_7xmmsapi_8XmmsCore_17source_preference_1__get__(o);
47335}
47336
47337static PyObject *__pyx_getprop_7xmmsapi_8XmmsCore_clientname(PyObject *o, CYTHON_UNUSED__attribute__ ((__unused__)) void *x) {
47338 return __pyx_pw_7xmmsapi_8XmmsCore_10clientname_1__get__(o);
47339}
47340
47341static PyMethodDef __pyx_methods_7xmmsapi_XmmsCore[] = {
47342 {__Pyx_NAMESTR("__del__")("__del__"), (PyCFunction)__pyx_pw_7xmmsapi_8XmmsCore_7__del__, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_8XmmsCore_6__del__)(__pyx_doc_7xmmsapi_8XmmsCore_6__del__)},
47343 {__Pyx_NAMESTR("get_source_preference")("get_source_preference"), (PyCFunction)__pyx_pw_7xmmsapi_8XmmsCore_9get_source_preference, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_8XmmsCore_8get_source_preference)(__pyx_doc_7xmmsapi_8XmmsCore_8get_source_preference)},
47344 {__Pyx_NAMESTR("set_source_preference")("set_source_preference"), (PyCFunction)__pyx_pw_7xmmsapi_8XmmsCore_11set_source_preference, METH_O0x0008, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_8XmmsCore_10set_source_preference)(__pyx_doc_7xmmsapi_8XmmsCore_10set_source_preference)},
47345 {__Pyx_NAMESTR("_needout_cb")("_needout_cb"), (PyCFunction)__pyx_pw_7xmmsapi_8XmmsCore_13_needout_cb, METH_O0x0008, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_8XmmsCore_12_needout_cb)(__pyx_doc_7xmmsapi_8XmmsCore_12_needout_cb)},
47346 {__Pyx_NAMESTR("_disconnect_cb")("_disconnect_cb"), (PyCFunction)__pyx_pw_7xmmsapi_8XmmsCore_15_disconnect_cb, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_8XmmsCore_14_disconnect_cb)(__pyx_doc_7xmmsapi_8XmmsCore_14_disconnect_cb)},
47347 {__Pyx_NAMESTR("disconnect")("disconnect"), (PyCFunction)__pyx_pw_7xmmsapi_8XmmsCore_17disconnect, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_8XmmsCore_16disconnect)(__pyx_doc_7xmmsapi_8XmmsCore_16disconnect)},
47348 {__Pyx_NAMESTR("ioin")("ioin"), (PyCFunction)__pyx_pw_7xmmsapi_8XmmsCore_19ioin, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_8XmmsCore_18ioin)(__pyx_doc_7xmmsapi_8XmmsCore_18ioin)},
47349 {__Pyx_NAMESTR("ioout")("ioout"), (PyCFunction)__pyx_pw_7xmmsapi_8XmmsCore_21ioout, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_8XmmsCore_20ioout)(__pyx_doc_7xmmsapi_8XmmsCore_20ioout)},
47350 {__Pyx_NAMESTR("want_ioout")("want_ioout"), (PyCFunction)__pyx_pw_7xmmsapi_8XmmsCore_23want_ioout, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_8XmmsCore_22want_ioout)(__pyx_doc_7xmmsapi_8XmmsCore_22want_ioout)},
47351 {__Pyx_NAMESTR("set_need_out_fun")("set_need_out_fun"), (PyCFunction)__pyx_pw_7xmmsapi_8XmmsCore_25set_need_out_fun, METH_O0x0008, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_8XmmsCore_24set_need_out_fun)(__pyx_doc_7xmmsapi_8XmmsCore_24set_need_out_fun)},
47352 {__Pyx_NAMESTR("get_fd")("get_fd"), (PyCFunction)__pyx_pw_7xmmsapi_8XmmsCore_27get_fd, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_8XmmsCore_26get_fd)(__pyx_doc_7xmmsapi_8XmmsCore_26get_fd)},
47353 {__Pyx_NAMESTR("connect")("connect"), (PyCFunction)__pyx_pw_7xmmsapi_8XmmsCore_29connect, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_8XmmsCore_28connect)(__pyx_doc_7xmmsapi_8XmmsCore_28connect)},
47354 {__Pyx_NAMESTR("is_connected")("is_connected"), (PyCFunction)__pyx_pw_7xmmsapi_8XmmsCore_31is_connected, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_8XmmsCore_30is_connected)(__pyx_doc_7xmmsapi_8XmmsCore_30is_connected)},
47355 {0, 0, 0, 0}
47356};
47357
47358static struct PyGetSetDef __pyx_getsets_7xmmsapi_XmmsCore[] = {
47359 {(char *)"source_preference", __pyx_getprop_7xmmsapi_8XmmsCore_source_preference, 0, 0, 0},
47360 {(char *)"clientname", __pyx_getprop_7xmmsapi_8XmmsCore_clientname, 0, 0, 0},
47361 {0, 0, 0, 0, 0}
47362};
47363
47364static PyTypeObject __pyx_type_7xmmsapi_XmmsCore = {
47365 PyVarObject_HEAD_INIT(0, 0)1, 0, 0,
47366 __Pyx_NAMESTR("xmmsapi.XmmsCore")("xmmsapi.XmmsCore"), /*tp_name*/
47367 sizeof(struct __pyx_obj_7xmmsapi_XmmsCore), /*tp_basicsize*/
47368 0, /*tp_itemsize*/
47369 __pyx_tp_dealloc_7xmmsapi_XmmsCore, /*tp_dealloc*/
47370 0, /*tp_print*/
47371 0, /*tp_getattr*/
47372 0, /*tp_setattr*/
47373 #if PY_MAJOR_VERSION2 < 3
47374 0, /*tp_compare*/
47375 #else
47376 0, /*reserved*/
47377 #endif
47378 0, /*tp_repr*/
47379 0, /*tp_as_number*/
47380 0, /*tp_as_sequence*/
47381 0, /*tp_as_mapping*/
47382 0, /*tp_hash*/
47383 0, /*tp_call*/
47384 0, /*tp_str*/
47385 0, /*tp_getattro*/
47386 0, /*tp_setattro*/
47387 0, /*tp_as_buffer*/
47388 Py_TPFLAGS_DEFAULT( (1L<<0) | (1L<<1) | (1L<<3) | (1L<<
5) | (1L<<6) | (1L<<7) | (1L<<8) | 0 | (1L<<
17) | 0)
|Py_TPFLAGS_HAVE_VERSION_TAG(1L<<18)|Py_TPFLAGS_CHECKTYPES(1L<<4)|Py_TPFLAGS_HAVE_NEWBUFFER(1L<<21)|Py_TPFLAGS_BASETYPE(1L<<10)|Py_TPFLAGS_HAVE_GC(1L<<14), /*tp_flags*/
47389 __Pyx_DOCSTR("XmmsCore(clientname=None)\n\n\tThis is the class representing the XMMS2 client itself. The methods in\n\tthis class may be used to control and interact with XMMS2.\n\t")("XmmsCore(clientname=None)\n\n\tThis is the class representing the XMMS2 client itself. The methods in\n\tthis class may be used to control and interact with XMMS2.\n\t"
)
, /*tp_doc*/
47390 __pyx_tp_traverse_7xmmsapi_XmmsCore, /*tp_traverse*/
47391 __pyx_tp_clear_7xmmsapi_XmmsCore, /*tp_clear*/
47392 0, /*tp_richcompare*/
47393 0, /*tp_weaklistoffset*/
47394 0, /*tp_iter*/
47395 0, /*tp_iternext*/
47396 __pyx_methods_7xmmsapi_XmmsCore, /*tp_methods*/
47397 0, /*tp_members*/
47398 __pyx_getsets_7xmmsapi_XmmsCore, /*tp_getset*/
47399 0, /*tp_base*/
47400 0, /*tp_dict*/
47401 0, /*tp_descr_get*/
47402 0, /*tp_descr_set*/
47403 0, /*tp_dictoffset*/
47404 __pyx_pw_7xmmsapi_8XmmsCore_3__init__, /*tp_init*/
47405 0, /*tp_alloc*/
47406 __pyx_tp_new_7xmmsapi_XmmsCore, /*tp_new*/
47407 0, /*tp_free*/
47408 0, /*tp_is_gc*/
47409 0, /*tp_bases*/
47410 0, /*tp_mro*/
47411 0, /*tp_cache*/
47412 0, /*tp_subclasses*/
47413 0, /*tp_weaklist*/
47414 0, /*tp_del*/
47415 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x02060000
47416 0, /*tp_version_tag*/
47417 #endif
47418 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
47419 0, /*tp_finalize*/
47420 #endif
47421};
47422static struct __pyx_vtabstruct_7xmmsapi_XmmsServiceNamespace __pyx_vtable_7xmmsapi_XmmsServiceNamespace;
47423
47424static PyObject *__pyx_tp_new_7xmmsapi_XmmsServiceNamespace(PyTypeObject *t, PyObject *a, PyObject *k) {
47425 struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *p;
47426 PyObject *o;
47427 if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)__builtin_expect(!!((t->tp_flags & (1L<<20)) == 0
), 1)
) {
47428 o = (*t->tp_alloc)(t, 0);
47429 } else {
47430 o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
47431 }
47432 if (unlikely(!o)__builtin_expect(!!(!o), 0)) return 0;
47433 p = ((struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *)o);
47434 p->__pyx_vtab = __pyx_vtabptr_7xmmsapi_XmmsServiceNamespace;
47435 p->xmms = ((struct __pyx_obj_7xmmsapi_XmmsCore *)Py_None(&_Py_NoneStruct)); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47436 p->parent = ((struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *)Py_None(&_Py_NoneStruct)); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47437 p->_bound_methods = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47438 if (unlikely(__pyx_pw_7xmmsapi_20XmmsServiceNamespace_1__cinit__(o, a, k) < 0)__builtin_expect(!!(__pyx_pw_7xmmsapi_20XmmsServiceNamespace_1__cinit__
(o, a, k) < 0), 0)
) {
47439 Py_DECREF(o)do { if ( --((PyObject*)(o))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(o)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(o)))); } while (0)
; o = 0;
47440 }
47441 return o;
47442}
47443
47444static void __pyx_tp_dealloc_7xmmsapi_XmmsServiceNamespace(PyObject *o) {
47445 struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *p = (struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *)o;
47446 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
47447 if (unlikely(Py_TYPE(o)->tp_finalize)__builtin_expect(!!((((PyObject*)(o))->ob_type)->tp_finalize
), 0)
&& !_PyGC_FINALIZED(o)) {
47448 if (PyObject_CallFinalizerFromDealloc(o)) return;
47449 }
47450 #endif
47451 PyObject_GC_UnTrack(o);
47452 Py_CLEAR(p->xmms)do { if (p->xmms) { PyObject *_py_tmp = (PyObject *)(p->
xmms); (p->xmms) = ((void*)0); do { if ( --((PyObject*)(_py_tmp
))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(
_py_tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(_py_tmp)))); } while (0); } } while (0)
;
47453 Py_CLEAR(p->parent)do { if (p->parent) { PyObject *_py_tmp = (PyObject *)(p->
parent); (p->parent) = ((void*)0); do { if ( --((PyObject*
)(_py_tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(_py_tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(_py_tmp)))); } while (0); } } while (0)
;
47454 Py_CLEAR(p->_bound_methods)do { if (p->_bound_methods) { PyObject *_py_tmp = (PyObject
*)(p->_bound_methods); (p->_bound_methods) = ((void*)0
); do { if ( --((PyObject*)(_py_tmp))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(_py_tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(_py_tmp)))); } while (0); } } while
(0)
;
47455 (*Py_TYPE(o)(((PyObject*)(o))->ob_type)->tp_free)(o);
47456}
47457
47458static int __pyx_tp_traverse_7xmmsapi_XmmsServiceNamespace(PyObject *o, visitproc v, void *a) {
47459 int e;
47460 struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *p = (struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *)o;
47461 if (p->xmms) {
47462 e = (*v)(((PyObject*)p->xmms), a); if (e) return e;
47463 }
47464 if (p->parent) {
47465 e = (*v)(((PyObject*)p->parent), a); if (e) return e;
47466 }
47467 if (p->_bound_methods) {
47468 e = (*v)(p->_bound_methods, a); if (e) return e;
47469 }
47470 return 0;
47471}
47472
47473static int __pyx_tp_clear_7xmmsapi_XmmsServiceNamespace(PyObject *o) {
47474 PyObject* tmp;
47475 struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *p = (struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *)o;
47476 tmp = ((PyObject*)p->xmms);
47477 p->xmms = ((struct __pyx_obj_7xmmsapi_XmmsCore *)Py_None(&_Py_NoneStruct)); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47478 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
47479 tmp = ((PyObject*)p->parent);
47480 p->parent = ((struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *)Py_None(&_Py_NoneStruct)); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47481 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
47482 tmp = ((PyObject*)p->_bound_methods);
47483 p->_bound_methods = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47484 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
47485 return 0;
47486}
47487
47488static PyObject *__pyx_getprop_7xmmsapi_20XmmsServiceNamespace_path(PyObject *o, CYTHON_UNUSED__attribute__ ((__unused__)) void *x) {
47489 return __pyx_pw_7xmmsapi_20XmmsServiceNamespace_4path_1__get__(o);
47490}
47491
47492static PyObject *__pyx_getprop_7xmmsapi_20XmmsServiceNamespace_xmms(PyObject *o, CYTHON_UNUSED__attribute__ ((__unused__)) void *x) {
47493 return __pyx_pw_7xmmsapi_20XmmsServiceNamespace_4xmms_1__get__(o);
47494}
47495
47496static PyObject *__pyx_getprop_7xmmsapi_20XmmsServiceNamespace_parent(PyObject *o, CYTHON_UNUSED__attribute__ ((__unused__)) void *x) {
47497 return __pyx_pw_7xmmsapi_20XmmsServiceNamespace_6parent_1__get__(o);
47498}
47499
47500static PyMethodDef __pyx_methods_7xmmsapi_XmmsServiceNamespace[] = {
47501 {__Pyx_NAMESTR("_walk")("_walk"), (PyCFunction)__pyx_pw_7xmmsapi_20XmmsServiceNamespace_3_walk, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_20XmmsServiceNamespace_2_walk)(__pyx_doc_7xmmsapi_20XmmsServiceNamespace_2_walk)},
47502 {__Pyx_NAMESTR("register_namespace")("register_namespace"), (PyCFunction)__pyx_pw_7xmmsapi_20XmmsServiceNamespace_5register_namespace, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_20XmmsServiceNamespace_4register_namespace)(__pyx_doc_7xmmsapi_20XmmsServiceNamespace_4register_namespace
)
},
47503 {__Pyx_NAMESTR("register_constant")("register_constant"), (PyCFunction)__pyx_pw_7xmmsapi_20XmmsServiceNamespace_7register_constant, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_20XmmsServiceNamespace_6register_constant)(__pyx_doc_7xmmsapi_20XmmsServiceNamespace_6register_constant
)
},
47504 {__Pyx_NAMESTR("register_method")("register_method"), (PyCFunction)__pyx_pw_7xmmsapi_20XmmsServiceNamespace_9register_method, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_20XmmsServiceNamespace_8register_method)(__pyx_doc_7xmmsapi_20XmmsServiceNamespace_8register_method)},
47505 {__Pyx_NAMESTR("register_broadcast")("register_broadcast"), (PyCFunction)__pyx_pw_7xmmsapi_20XmmsServiceNamespace_11register_broadcast, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_20XmmsServiceNamespace_10register_broadcast)(__pyx_doc_7xmmsapi_20XmmsServiceNamespace_10register_broadcast
)
},
47506 {__Pyx_NAMESTR("register")("register"), (PyCFunction)__pyx_pw_7xmmsapi_20XmmsServiceNamespace_13register, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_20XmmsServiceNamespace_12register)(__pyx_doc_7xmmsapi_20XmmsServiceNamespace_12register)},
47507 {0, 0, 0, 0}
47508};
47509
47510static struct PyGetSetDef __pyx_getsets_7xmmsapi_XmmsServiceNamespace[] = {
47511 {(char *)"path", __pyx_getprop_7xmmsapi_20XmmsServiceNamespace_path, 0, 0, 0},
47512 {(char *)"xmms", __pyx_getprop_7xmmsapi_20XmmsServiceNamespace_xmms, 0, 0, 0},
47513 {(char *)"parent", __pyx_getprop_7xmmsapi_20XmmsServiceNamespace_parent, 0, 0, 0},
47514 {0, 0, 0, 0, 0}
47515};
47516
47517static PyTypeObject __pyx_type_7xmmsapi_XmmsServiceNamespace = {
47518 PyVarObject_HEAD_INIT(0, 0)1, 0, 0,
47519 __Pyx_NAMESTR("xmmsapi.XmmsServiceNamespace")("xmmsapi.XmmsServiceNamespace"), /*tp_name*/
47520 sizeof(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace), /*tp_basicsize*/
47521 0, /*tp_itemsize*/
47522 __pyx_tp_dealloc_7xmmsapi_XmmsServiceNamespace, /*tp_dealloc*/
47523 0, /*tp_print*/
47524 0, /*tp_getattr*/
47525 0, /*tp_setattr*/
47526 #if PY_MAJOR_VERSION2 < 3
47527 0, /*tp_compare*/
47528 #else
47529 0, /*reserved*/
47530 #endif
47531 0, /*tp_repr*/
47532 0, /*tp_as_number*/
47533 0, /*tp_as_sequence*/
47534 0, /*tp_as_mapping*/
47535 0, /*tp_hash*/
47536 0, /*tp_call*/
47537 0, /*tp_str*/
47538 0, /*tp_getattro*/
47539 0, /*tp_setattro*/
47540 0, /*tp_as_buffer*/
47541 Py_TPFLAGS_DEFAULT( (1L<<0) | (1L<<1) | (1L<<3) | (1L<<
5) | (1L<<6) | (1L<<7) | (1L<<8) | 0 | (1L<<
17) | 0)
|Py_TPFLAGS_HAVE_VERSION_TAG(1L<<18)|Py_TPFLAGS_CHECKTYPES(1L<<4)|Py_TPFLAGS_HAVE_NEWBUFFER(1L<<21)|Py_TPFLAGS_BASETYPE(1L<<10)|Py_TPFLAGS_HAVE_GC(1L<<14), /*tp_flags*/
47542 0, /*tp_doc*/
47543 __pyx_tp_traverse_7xmmsapi_XmmsServiceNamespace, /*tp_traverse*/
47544 __pyx_tp_clear_7xmmsapi_XmmsServiceNamespace, /*tp_clear*/
47545 0, /*tp_richcompare*/
47546 0, /*tp_weaklistoffset*/
47547 0, /*tp_iter*/
47548 0, /*tp_iternext*/
47549 __pyx_methods_7xmmsapi_XmmsServiceNamespace, /*tp_methods*/
47550 0, /*tp_members*/
47551 __pyx_getsets_7xmmsapi_XmmsServiceNamespace, /*tp_getset*/
47552 0, /*tp_base*/
47553 0, /*tp_dict*/
47554 0, /*tp_descr_get*/
47555 0, /*tp_descr_set*/
47556 0, /*tp_dictoffset*/
47557 0, /*tp_init*/
47558 0, /*tp_alloc*/
47559 __pyx_tp_new_7xmmsapi_XmmsServiceNamespace, /*tp_new*/
47560 0, /*tp_free*/
47561 0, /*tp_is_gc*/
47562 0, /*tp_bases*/
47563 0, /*tp_mro*/
47564 0, /*tp_cache*/
47565 0, /*tp_subclasses*/
47566 0, /*tp_weaklist*/
47567 0, /*tp_del*/
47568 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x02060000
47569 0, /*tp_version_tag*/
47570 #endif
47571 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
47572 0, /*tp_finalize*/
47573 #endif
47574};
47575static struct __pyx_vtabstruct_7xmmsapi_service_broadcast __pyx_vtable_7xmmsapi_service_broadcast;
47576
47577static PyObject *__pyx_tp_new_7xmmsapi_service_broadcast(PyTypeObject *t, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *a, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *k) {
47578 struct __pyx_obj_7xmmsapi_service_broadcast *p;
47579 PyObject *o;
47580 if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)__builtin_expect(!!((t->tp_flags & (1L<<20)) == 0
), 1)
) {
47581 o = (*t->tp_alloc)(t, 0);
47582 } else {
47583 o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
47584 }
47585 if (unlikely(!o)__builtin_expect(!!(!o), 0)) return 0;
47586 p = ((struct __pyx_obj_7xmmsapi_service_broadcast *)o);
47587 p->__pyx_vtab = __pyx_vtabptr_7xmmsapi_service_broadcast;
47588 p->name = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47589 p->doc = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47590 p->namespace = ((struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *)Py_None(&_Py_NoneStruct)); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47591 return o;
47592}
47593
47594static void __pyx_tp_dealloc_7xmmsapi_service_broadcast(PyObject *o) {
47595 struct __pyx_obj_7xmmsapi_service_broadcast *p = (struct __pyx_obj_7xmmsapi_service_broadcast *)o;
47596 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
47597 if (unlikely(Py_TYPE(o)->tp_finalize)__builtin_expect(!!((((PyObject*)(o))->ob_type)->tp_finalize
), 0)
&& !_PyGC_FINALIZED(o)) {
47598 if (PyObject_CallFinalizerFromDealloc(o)) return;
47599 }
47600 #endif
47601 PyObject_GC_UnTrack(o);
47602 Py_CLEAR(p->name)do { if (p->name) { PyObject *_py_tmp = (PyObject *)(p->
name); (p->name) = ((void*)0); do { if ( --((PyObject*)(_py_tmp
))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(
_py_tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(_py_tmp)))); } while (0); } } while (0)
;
47603 Py_CLEAR(p->doc)do { if (p->doc) { PyObject *_py_tmp = (PyObject *)(p->
doc); (p->doc) = ((void*)0); do { if ( --((PyObject*)(_py_tmp
))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(
_py_tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(_py_tmp)))); } while (0); } } while (0)
;
47604 Py_CLEAR(p->namespace)do { if (p->namespace) { PyObject *_py_tmp = (PyObject *)(
p->namespace); (p->namespace) = ((void*)0); do { if ( --
((PyObject*)(_py_tmp))->ob_refcnt != 0) ; else ( (*(((PyObject
*)((PyObject *)(_py_tmp)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(_py_tmp)))); } while (0); } } while (0)
;
47605 (*Py_TYPE(o)(((PyObject*)(o))->ob_type)->tp_free)(o);
47606}
47607
47608static int __pyx_tp_traverse_7xmmsapi_service_broadcast(PyObject *o, visitproc v, void *a) {
47609 int e;
47610 struct __pyx_obj_7xmmsapi_service_broadcast *p = (struct __pyx_obj_7xmmsapi_service_broadcast *)o;
47611 if (p->name) {
47612 e = (*v)(p->name, a); if (e) return e;
47613 }
47614 if (p->doc) {
47615 e = (*v)(p->doc, a); if (e) return e;
47616 }
47617 if (p->namespace) {
47618 e = (*v)(((PyObject*)p->namespace), a); if (e) return e;
47619 }
47620 return 0;
47621}
47622
47623static int __pyx_tp_clear_7xmmsapi_service_broadcast(PyObject *o) {
47624 PyObject* tmp;
47625 struct __pyx_obj_7xmmsapi_service_broadcast *p = (struct __pyx_obj_7xmmsapi_service_broadcast *)o;
47626 tmp = ((PyObject*)p->name);
47627 p->name = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47628 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
47629 tmp = ((PyObject*)p->doc);
47630 p->doc = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47631 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
47632 tmp = ((PyObject*)p->namespace);
47633 p->namespace = ((struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *)Py_None(&_Py_NoneStruct)); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47634 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
47635 return 0;
47636}
47637
47638static PyObject *__pyx_getprop_7xmmsapi_17service_broadcast_name(PyObject *o, CYTHON_UNUSED__attribute__ ((__unused__)) void *x) {
47639 return __pyx_pw_7xmmsapi_17service_broadcast_4name_1__get__(o);
47640}
47641
47642static int __pyx_setprop_7xmmsapi_17service_broadcast_name(PyObject *o, PyObject *v, CYTHON_UNUSED__attribute__ ((__unused__)) void *x) {
47643 if (v) {
47644 return __pyx_pw_7xmmsapi_17service_broadcast_4name_3__set__(o, v);
47645 }
47646 else {
47647 return __pyx_pw_7xmmsapi_17service_broadcast_4name_5__del__(o);
47648 }
47649}
47650
47651static PyObject *__pyx_getprop_7xmmsapi_17service_broadcast_doc(PyObject *o, CYTHON_UNUSED__attribute__ ((__unused__)) void *x) {
47652 return __pyx_pw_7xmmsapi_17service_broadcast_3doc_1__get__(o);
47653}
47654
47655static int __pyx_setprop_7xmmsapi_17service_broadcast_doc(PyObject *o, PyObject *v, CYTHON_UNUSED__attribute__ ((__unused__)) void *x) {
47656 if (v) {
47657 return __pyx_pw_7xmmsapi_17service_broadcast_3doc_3__set__(o, v);
47658 }
47659 else {
47660 return __pyx_pw_7xmmsapi_17service_broadcast_3doc_5__del__(o);
47661 }
47662}
47663
47664static PyObject *__pyx_getprop_7xmmsapi_17service_broadcast_namespace(PyObject *o, CYTHON_UNUSED__attribute__ ((__unused__)) void *x) {
47665 return __pyx_pw_7xmmsapi_17service_broadcast_9namespace_1__get__(o);
47666}
47667
47668static PyMethodDef __pyx_methods_7xmmsapi_service_broadcast[] = {
47669 {__Pyx_NAMESTR("emit")("emit"), (PyCFunction)__pyx_pw_7xmmsapi_17service_broadcast_3emit, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_17service_broadcast_2emit)(__pyx_doc_7xmmsapi_17service_broadcast_2emit)},
47670 {0, 0, 0, 0}
47671};
47672
47673static struct PyGetSetDef __pyx_getsets_7xmmsapi_service_broadcast[] = {
47674 {(char *)"name", __pyx_getprop_7xmmsapi_17service_broadcast_name, __pyx_setprop_7xmmsapi_17service_broadcast_name, __Pyx_DOCSTR(__pyx_k_name_object)(__pyx_k_name_object), 0},
47675 {(char *)"doc", __pyx_getprop_7xmmsapi_17service_broadcast_doc, __pyx_setprop_7xmmsapi_17service_broadcast_doc, __Pyx_DOCSTR(__pyx_k_doc_object)(__pyx_k_doc_object), 0},
47676 {(char *)"namespace", __pyx_getprop_7xmmsapi_17service_broadcast_namespace, 0, 0, 0},
47677 {0, 0, 0, 0, 0}
47678};
47679
47680static PyTypeObject __pyx_type_7xmmsapi_service_broadcast = {
47681 PyVarObject_HEAD_INIT(0, 0)1, 0, 0,
47682 __Pyx_NAMESTR("xmmsapi.service_broadcast")("xmmsapi.service_broadcast"), /*tp_name*/
47683 sizeof(struct __pyx_obj_7xmmsapi_service_broadcast), /*tp_basicsize*/
47684 0, /*tp_itemsize*/
47685 __pyx_tp_dealloc_7xmmsapi_service_broadcast, /*tp_dealloc*/
47686 0, /*tp_print*/
47687 0, /*tp_getattr*/
47688 0, /*tp_setattr*/
47689 #if PY_MAJOR_VERSION2 < 3
47690 0, /*tp_compare*/
47691 #else
47692 0, /*reserved*/
47693 #endif
47694 0, /*tp_repr*/
47695 0, /*tp_as_number*/
47696 0, /*tp_as_sequence*/
47697 0, /*tp_as_mapping*/
47698 0, /*tp_hash*/
47699 __pyx_pw_7xmmsapi_17service_broadcast_5__call__, /*tp_call*/
47700 0, /*tp_str*/
47701 0, /*tp_getattro*/
47702 0, /*tp_setattro*/
47703 0, /*tp_as_buffer*/
47704 Py_TPFLAGS_DEFAULT( (1L<<0) | (1L<<1) | (1L<<3) | (1L<<
5) | (1L<<6) | (1L<<7) | (1L<<8) | 0 | (1L<<
17) | 0)
|Py_TPFLAGS_HAVE_VERSION_TAG(1L<<18)|Py_TPFLAGS_CHECKTYPES(1L<<4)|Py_TPFLAGS_HAVE_NEWBUFFER(1L<<21)|Py_TPFLAGS_BASETYPE(1L<<10)|Py_TPFLAGS_HAVE_GC(1L<<14), /*tp_flags*/
47705 __Pyx_DOCSTR("service_broadcast(name=None, doc=None)")("service_broadcast(name=None, doc=None)"), /*tp_doc*/
47706 __pyx_tp_traverse_7xmmsapi_service_broadcast, /*tp_traverse*/
47707 __pyx_tp_clear_7xmmsapi_service_broadcast, /*tp_clear*/
47708 0, /*tp_richcompare*/
47709 0, /*tp_weaklistoffset*/
47710 0, /*tp_iter*/
47711 0, /*tp_iternext*/
47712 __pyx_methods_7xmmsapi_service_broadcast, /*tp_methods*/
47713 0, /*tp_members*/
47714 __pyx_getsets_7xmmsapi_service_broadcast, /*tp_getset*/
47715 0, /*tp_base*/
47716 0, /*tp_dict*/
47717 0, /*tp_descr_get*/
47718 0, /*tp_descr_set*/
47719 0, /*tp_dictoffset*/
47720 __pyx_pw_7xmmsapi_17service_broadcast_1__init__, /*tp_init*/
47721 0, /*tp_alloc*/
47722 __pyx_tp_new_7xmmsapi_service_broadcast, /*tp_new*/
47723 0, /*tp_free*/
47724 0, /*tp_is_gc*/
47725 0, /*tp_bases*/
47726 0, /*tp_mro*/
47727 0, /*tp_cache*/
47728 0, /*tp_subclasses*/
47729 0, /*tp_weaklist*/
47730 0, /*tp_del*/
47731 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x02060000
47732 0, /*tp_version_tag*/
47733 #endif
47734 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
47735 0, /*tp_finalize*/
47736 #endif
47737};
47738
47739static PyObject *__pyx_tp_new_7xmmsapi__XmmsServiceClient(PyTypeObject *t, PyObject *a, PyObject *k) {
47740 struct __pyx_obj_7xmmsapi__XmmsServiceClient *p;
47741 PyObject *o;
47742 if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)__builtin_expect(!!((t->tp_flags & (1L<<20)) == 0
), 1)
) {
47743 o = (*t->tp_alloc)(t, 0);
47744 } else {
47745 o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
47746 }
47747 if (unlikely(!o)__builtin_expect(!!(!o), 0)) return 0;
47748 p = ((struct __pyx_obj_7xmmsapi__XmmsServiceClient *)o);
47749 p->_path = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47750 p->_xmms = ((struct __pyx_obj_7xmmsapi_XmmsCore *)Py_None(&_Py_NoneStruct)); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47751 if (unlikely(__pyx_pw_7xmmsapi_18_XmmsServiceClient_1__cinit__(o, a, k) < 0)__builtin_expect(!!(__pyx_pw_7xmmsapi_18_XmmsServiceClient_1__cinit__
(o, a, k) < 0), 0)
) {
47752 Py_DECREF(o)do { if ( --((PyObject*)(o))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(o)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(o)))); } while (0)
; o = 0;
47753 }
47754 return o;
47755}
47756
47757static void __pyx_tp_dealloc_7xmmsapi__XmmsServiceClient(PyObject *o) {
47758 struct __pyx_obj_7xmmsapi__XmmsServiceClient *p = (struct __pyx_obj_7xmmsapi__XmmsServiceClient *)o;
47759 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
47760 if (unlikely(Py_TYPE(o)->tp_finalize)__builtin_expect(!!((((PyObject*)(o))->ob_type)->tp_finalize
), 0)
&& !_PyGC_FINALIZED(o)) {
47761 if (PyObject_CallFinalizerFromDealloc(o)) return;
47762 }
47763 #endif
47764 PyObject_GC_UnTrack(o);
47765 Py_CLEAR(p->_path)do { if (p->_path) { PyObject *_py_tmp = (PyObject *)(p->
_path); (p->_path) = ((void*)0); do { if ( --((PyObject*)(
_py_tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(_py_tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(_py_tmp)))); } while (0); } } while (0)
;
47766 Py_CLEAR(p->_xmms)do { if (p->_xmms) { PyObject *_py_tmp = (PyObject *)(p->
_xmms); (p->_xmms) = ((void*)0); do { if ( --((PyObject*)(
_py_tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(_py_tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(_py_tmp)))); } while (0); } } while (0)
;
47767 (*Py_TYPE(o)(((PyObject*)(o))->ob_type)->tp_free)(o);
47768}
47769
47770static int __pyx_tp_traverse_7xmmsapi__XmmsServiceClient(PyObject *o, visitproc v, void *a) {
47771 int e;
47772 struct __pyx_obj_7xmmsapi__XmmsServiceClient *p = (struct __pyx_obj_7xmmsapi__XmmsServiceClient *)o;
47773 if (p->_path) {
47774 e = (*v)(p->_path, a); if (e) return e;
47775 }
47776 if (p->_xmms) {
47777 e = (*v)(((PyObject*)p->_xmms), a); if (e) return e;
47778 }
47779 return 0;
47780}
47781
47782static int __pyx_tp_clear_7xmmsapi__XmmsServiceClient(PyObject *o) {
47783 PyObject* tmp;
47784 struct __pyx_obj_7xmmsapi__XmmsServiceClient *p = (struct __pyx_obj_7xmmsapi__XmmsServiceClient *)o;
47785 tmp = ((PyObject*)p->_path);
47786 p->_path = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47787 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
47788 tmp = ((PyObject*)p->_xmms);
47789 p->_xmms = ((struct __pyx_obj_7xmmsapi_XmmsCore *)Py_None(&_Py_NoneStruct)); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47790 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
47791 return 0;
47792}
47793
47794static PyObject *__pyx_getprop_7xmmsapi_18_XmmsServiceClient__path(PyObject *o, CYTHON_UNUSED__attribute__ ((__unused__)) void *x) {
47795 return __pyx_pw_7xmmsapi_18_XmmsServiceClient_5_path_1__get__(o);
47796}
47797
47798static PyObject *__pyx_getprop_7xmmsapi_18_XmmsServiceClient__async(PyObject *o, CYTHON_UNUSED__attribute__ ((__unused__)) void *x) {
47799 return __pyx_pw_7xmmsapi_18_XmmsServiceClient_6_async_1__get__(o);
47800}
47801
47802static PyObject *__pyx_getprop_7xmmsapi_18_XmmsServiceClient__xmms(PyObject *o, CYTHON_UNUSED__attribute__ ((__unused__)) void *x) {
47803 return __pyx_pw_7xmmsapi_18_XmmsServiceClient_5_xmms_1__get__(o);
47804}
47805
47806static PyObject *__pyx_getprop_7xmmsapi_18_XmmsServiceClient__clientid(PyObject *o, CYTHON_UNUSED__attribute__ ((__unused__)) void *x) {
47807 return __pyx_pw_7xmmsapi_18_XmmsServiceClient_9_clientid_1__get__(o);
47808}
47809
47810static PyMethodDef __pyx_methods_7xmmsapi__XmmsServiceClient[] = {
47811 {0, 0, 0, 0}
47812};
47813
47814static struct PyGetSetDef __pyx_getsets_7xmmsapi__XmmsServiceClient[] = {
47815 {(char *)"_path", __pyx_getprop_7xmmsapi_18_XmmsServiceClient__path, 0, 0, 0},
47816 {(char *)"_async", __pyx_getprop_7xmmsapi_18_XmmsServiceClient__async, 0, 0, 0},
47817 {(char *)"_xmms", __pyx_getprop_7xmmsapi_18_XmmsServiceClient__xmms, 0, 0, 0},
47818 {(char *)"_clientid", __pyx_getprop_7xmmsapi_18_XmmsServiceClient__clientid, 0, 0, 0},
47819 {0, 0, 0, 0, 0}
47820};
47821
47822static PyTypeObject __pyx_type_7xmmsapi__XmmsServiceClient = {
47823 PyVarObject_HEAD_INIT(0, 0)1, 0, 0,
47824 __Pyx_NAMESTR("xmmsapi._XmmsServiceClient")("xmmsapi._XmmsServiceClient"), /*tp_name*/
47825 sizeof(struct __pyx_obj_7xmmsapi__XmmsServiceClient), /*tp_basicsize*/
47826 0, /*tp_itemsize*/
47827 __pyx_tp_dealloc_7xmmsapi__XmmsServiceClient, /*tp_dealloc*/
47828 0, /*tp_print*/
47829 0, /*tp_getattr*/
47830 0, /*tp_setattr*/
47831 #if PY_MAJOR_VERSION2 < 3
47832 0, /*tp_compare*/
47833 #else
47834 0, /*reserved*/
47835 #endif
47836 __pyx_pw_7xmmsapi_18_XmmsServiceClient_3__repr__, /*tp_repr*/
47837 0, /*tp_as_number*/
47838 0, /*tp_as_sequence*/
47839 0, /*tp_as_mapping*/
47840 0, /*tp_hash*/
47841 0, /*tp_call*/
47842 0, /*tp_str*/
47843 0, /*tp_getattro*/
47844 0, /*tp_setattro*/
47845 0, /*tp_as_buffer*/
47846 Py_TPFLAGS_DEFAULT( (1L<<0) | (1L<<1) | (1L<<3) | (1L<<
5) | (1L<<6) | (1L<<7) | (1L<<8) | 0 | (1L<<
17) | 0)
|Py_TPFLAGS_HAVE_VERSION_TAG(1L<<18)|Py_TPFLAGS_CHECKTYPES(1L<<4)|Py_TPFLAGS_HAVE_NEWBUFFER(1L<<21)|Py_TPFLAGS_BASETYPE(1L<<10)|Py_TPFLAGS_HAVE_GC(1L<<14), /*tp_flags*/
47847 0, /*tp_doc*/
47848 __pyx_tp_traverse_7xmmsapi__XmmsServiceClient, /*tp_traverse*/
47849 __pyx_tp_clear_7xmmsapi__XmmsServiceClient, /*tp_clear*/
47850 0, /*tp_richcompare*/
47851 0, /*tp_weaklistoffset*/
47852 0, /*tp_iter*/
47853 0, /*tp_iternext*/
47854 __pyx_methods_7xmmsapi__XmmsServiceClient, /*tp_methods*/
47855 0, /*tp_members*/
47856 __pyx_getsets_7xmmsapi__XmmsServiceClient, /*tp_getset*/
47857 0, /*tp_base*/
47858 0, /*tp_dict*/
47859 0, /*tp_descr_get*/
47860 0, /*tp_descr_set*/
47861 0, /*tp_dictoffset*/
47862 0, /*tp_init*/
47863 0, /*tp_alloc*/
47864 __pyx_tp_new_7xmmsapi__XmmsServiceClient, /*tp_new*/
47865 0, /*tp_free*/
47866 0, /*tp_is_gc*/
47867 0, /*tp_bases*/
47868 0, /*tp_mro*/
47869 0, /*tp_cache*/
47870 0, /*tp_subclasses*/
47871 0, /*tp_weaklist*/
47872 0, /*tp_del*/
47873 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x02060000
47874 0, /*tp_version_tag*/
47875 #endif
47876 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
47877 0, /*tp_finalize*/
47878 #endif
47879};
47880
47881static PyObject *__pyx_tp_new_7xmmsapi_client_broadcast(PyTypeObject *t, PyObject *a, PyObject *k) {
47882 struct __pyx_obj_7xmmsapi_client_broadcast *p;
47883 PyObject *o;
47884 if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)__builtin_expect(!!((t->tp_flags & (1L<<20)) == 0
), 1)
) {
47885 o = (*t->tp_alloc)(t, 0);
47886 } else {
47887 o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
47888 }
47889 if (unlikely(!o)__builtin_expect(!!(!o), 0)) return 0;
47890 p = ((struct __pyx_obj_7xmmsapi_client_broadcast *)o);
47891 p->_xmms = ((struct __pyx_obj_7xmmsapi_XmmsCore *)Py_None(&_Py_NoneStruct)); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47892 p->_path = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47893 p->name = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47894 p->docstring = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47895 if (unlikely(__pyx_pw_7xmmsapi_16client_broadcast_1__cinit__(o, a, k) < 0)__builtin_expect(!!(__pyx_pw_7xmmsapi_16client_broadcast_1__cinit__
(o, a, k) < 0), 0)
) {
47896 Py_DECREF(o)do { if ( --((PyObject*)(o))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(o)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(o)))); } while (0)
; o = 0;
47897 }
47898 return o;
47899}
47900
47901static void __pyx_tp_dealloc_7xmmsapi_client_broadcast(PyObject *o) {
47902 struct __pyx_obj_7xmmsapi_client_broadcast *p = (struct __pyx_obj_7xmmsapi_client_broadcast *)o;
47903 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
47904 if (unlikely(Py_TYPE(o)->tp_finalize)__builtin_expect(!!((((PyObject*)(o))->ob_type)->tp_finalize
), 0)
&& !_PyGC_FINALIZED(o)) {
47905 if (PyObject_CallFinalizerFromDealloc(o)) return;
47906 }
47907 #endif
47908 PyObject_GC_UnTrack(o);
47909 Py_CLEAR(p->_xmms)do { if (p->_xmms) { PyObject *_py_tmp = (PyObject *)(p->
_xmms); (p->_xmms) = ((void*)0); do { if ( --((PyObject*)(
_py_tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(_py_tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(_py_tmp)))); } while (0); } } while (0)
;
47910 Py_CLEAR(p->_path)do { if (p->_path) { PyObject *_py_tmp = (PyObject *)(p->
_path); (p->_path) = ((void*)0); do { if ( --((PyObject*)(
_py_tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(_py_tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(_py_tmp)))); } while (0); } } while (0)
;
47911 Py_CLEAR(p->name)do { if (p->name) { PyObject *_py_tmp = (PyObject *)(p->
name); (p->name) = ((void*)0); do { if ( --((PyObject*)(_py_tmp
))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(
_py_tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(_py_tmp)))); } while (0); } } while (0)
;
47912 Py_CLEAR(p->docstring)do { if (p->docstring) { PyObject *_py_tmp = (PyObject *)(
p->docstring); (p->docstring) = ((void*)0); do { if ( --
((PyObject*)(_py_tmp))->ob_refcnt != 0) ; else ( (*(((PyObject
*)((PyObject *)(_py_tmp)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(_py_tmp)))); } while (0); } } while (0)
;
47913 (*Py_TYPE(o)(((PyObject*)(o))->ob_type)->tp_free)(o);
47914}
47915
47916static int __pyx_tp_traverse_7xmmsapi_client_broadcast(PyObject *o, visitproc v, void *a) {
47917 int e;
47918 struct __pyx_obj_7xmmsapi_client_broadcast *p = (struct __pyx_obj_7xmmsapi_client_broadcast *)o;
47919 if (p->_xmms) {
47920 e = (*v)(((PyObject*)p->_xmms), a); if (e) return e;
47921 }
47922 if (p->_path) {
47923 e = (*v)(p->_path, a); if (e) return e;
47924 }
47925 if (p->name) {
47926 e = (*v)(p->name, a); if (e) return e;
47927 }
47928 if (p->docstring) {
47929 e = (*v)(p->docstring, a); if (e) return e;
47930 }
47931 return 0;
47932}
47933
47934static int __pyx_tp_clear_7xmmsapi_client_broadcast(PyObject *o) {
47935 PyObject* tmp;
47936 struct __pyx_obj_7xmmsapi_client_broadcast *p = (struct __pyx_obj_7xmmsapi_client_broadcast *)o;
47937 tmp = ((PyObject*)p->_xmms);
47938 p->_xmms = ((struct __pyx_obj_7xmmsapi_XmmsCore *)Py_None(&_Py_NoneStruct)); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47939 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
47940 tmp = ((PyObject*)p->_path);
47941 p->_path = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47942 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
47943 tmp = ((PyObject*)p->name);
47944 p->name = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47945 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
47946 tmp = ((PyObject*)p->docstring);
47947 p->docstring = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
47948 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
47949 return 0;
47950}
47951
47952static PyObject *__pyx_getprop_7xmmsapi_16client_broadcast__path(PyObject *o, CYTHON_UNUSED__attribute__ ((__unused__)) void *x) {
47953 return __pyx_pw_7xmmsapi_16client_broadcast_5_path_1__get__(o);
47954}
47955
47956static PyObject *__pyx_getprop_7xmmsapi_16client_broadcast__clientid(PyObject *o, CYTHON_UNUSED__attribute__ ((__unused__)) void *x) {
47957 return __pyx_pw_7xmmsapi_16client_broadcast_9_clientid_1__get__(o);
47958}
47959
47960static PyObject *__pyx_getprop_7xmmsapi_16client_broadcast_name(PyObject *o, CYTHON_UNUSED__attribute__ ((__unused__)) void *x) {
47961 return __pyx_pw_7xmmsapi_16client_broadcast_4name_1__get__(o);
47962}
47963
47964static PyObject *__pyx_getprop_7xmmsapi_16client_broadcast_docstring(PyObject *o, CYTHON_UNUSED__attribute__ ((__unused__)) void *x) {
47965 return __pyx_pw_7xmmsapi_16client_broadcast_9docstring_1__get__(o);
47966}
47967
47968static PyMethodDef __pyx_methods_7xmmsapi_client_broadcast[] = {
47969 {__Pyx_NAMESTR("subscribe")("subscribe"), (PyCFunction)__pyx_pw_7xmmsapi_16client_broadcast_3subscribe, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_16client_broadcast_2subscribe)(__pyx_doc_7xmmsapi_16client_broadcast_2subscribe)},
47970 {0, 0, 0, 0}
47971};
47972
47973static struct PyGetSetDef __pyx_getsets_7xmmsapi_client_broadcast[] = {
47974 {(char *)"_path", __pyx_getprop_7xmmsapi_16client_broadcast__path, 0, 0, 0},
47975 {(char *)"_clientid", __pyx_getprop_7xmmsapi_16client_broadcast__clientid, 0, 0, 0},
47976 {(char *)"name", __pyx_getprop_7xmmsapi_16client_broadcast_name, 0, 0, 0},
47977 {(char *)"docstring", __pyx_getprop_7xmmsapi_16client_broadcast_docstring, 0, 0, 0},
47978 {0, 0, 0, 0, 0}
47979};
47980
47981static PyTypeObject __pyx_type_7xmmsapi_client_broadcast = {
47982 PyVarObject_HEAD_INIT(0, 0)1, 0, 0,
47983 __Pyx_NAMESTR("xmmsapi.client_broadcast")("xmmsapi.client_broadcast"), /*tp_name*/
47984 sizeof(struct __pyx_obj_7xmmsapi_client_broadcast), /*tp_basicsize*/
47985 0, /*tp_itemsize*/
47986 __pyx_tp_dealloc_7xmmsapi_client_broadcast, /*tp_dealloc*/
47987 0, /*tp_print*/
47988 0, /*tp_getattr*/
47989 0, /*tp_setattr*/
47990 #if PY_MAJOR_VERSION2 < 3
47991 0, /*tp_compare*/
47992 #else
47993 0, /*reserved*/
47994 #endif
47995 __pyx_pw_7xmmsapi_16client_broadcast_7__repr__, /*tp_repr*/
47996 0, /*tp_as_number*/
47997 0, /*tp_as_sequence*/
47998 0, /*tp_as_mapping*/
47999 0, /*tp_hash*/
48000 __pyx_pw_7xmmsapi_16client_broadcast_5__call__, /*tp_call*/
48001 0, /*tp_str*/
48002 0, /*tp_getattro*/
48003 0, /*tp_setattro*/
48004 0, /*tp_as_buffer*/
48005 Py_TPFLAGS_DEFAULT( (1L<<0) | (1L<<1) | (1L<<3) | (1L<<
5) | (1L<<6) | (1L<<7) | (1L<<8) | 0 | (1L<<
17) | 0)
|Py_TPFLAGS_HAVE_VERSION_TAG(1L<<18)|Py_TPFLAGS_CHECKTYPES(1L<<4)|Py_TPFLAGS_HAVE_NEWBUFFER(1L<<21)|Py_TPFLAGS_BASETYPE(1L<<10)|Py_TPFLAGS_HAVE_GC(1L<<14), /*tp_flags*/
48006 0, /*tp_doc*/
48007 __pyx_tp_traverse_7xmmsapi_client_broadcast, /*tp_traverse*/
48008 __pyx_tp_clear_7xmmsapi_client_broadcast, /*tp_clear*/
48009 0, /*tp_richcompare*/
48010 0, /*tp_weaklistoffset*/
48011 0, /*tp_iter*/
48012 0, /*tp_iternext*/
48013 __pyx_methods_7xmmsapi_client_broadcast, /*tp_methods*/
48014 0, /*tp_members*/
48015 __pyx_getsets_7xmmsapi_client_broadcast, /*tp_getset*/
48016 0, /*tp_base*/
48017 0, /*tp_dict*/
48018 0, /*tp_descr_get*/
48019 0, /*tp_descr_set*/
48020 0, /*tp_dictoffset*/
48021 0, /*tp_init*/
48022 0, /*tp_alloc*/
48023 __pyx_tp_new_7xmmsapi_client_broadcast, /*tp_new*/
48024 0, /*tp_free*/
48025 0, /*tp_is_gc*/
48026 0, /*tp_bases*/
48027 0, /*tp_mro*/
48028 0, /*tp_cache*/
48029 0, /*tp_subclasses*/
48030 0, /*tp_weaklist*/
48031 0, /*tp_del*/
48032 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x02060000
48033 0, /*tp_version_tag*/
48034 #endif
48035 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
48036 0, /*tp_finalize*/
48037 #endif
48038};
48039
48040static PyObject *__pyx_tp_new_7xmmsapi_client_method(PyTypeObject *t, PyObject *a, PyObject *k) {
48041 struct __pyx_obj_7xmmsapi_client_method *p;
48042 PyObject *o;
48043 if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)__builtin_expect(!!((t->tp_flags & (1L<<20)) == 0
), 1)
) {
48044 o = (*t->tp_alloc)(t, 0);
48045 } else {
48046 o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
48047 }
48048 if (unlikely(!o)__builtin_expect(!!(!o), 0)) return 0;
48049 p = ((struct __pyx_obj_7xmmsapi_client_method *)o);
48050 p->_parent = ((struct __pyx_obj_7xmmsapi__XmmsServiceClient *)Py_None(&_Py_NoneStruct)); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
48051 p->_callback = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
48052 p->_path = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
48053 p->name = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
48054 p->docstring = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
48055 p->inspect = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
48056 if (unlikely(__pyx_pw_7xmmsapi_13client_method_1__cinit__(o, a, k) < 0)__builtin_expect(!!(__pyx_pw_7xmmsapi_13client_method_1__cinit__
(o, a, k) < 0), 0)
) {
48057 Py_DECREF(o)do { if ( --((PyObject*)(o))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(o)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(o)))); } while (0)
; o = 0;
48058 }
48059 return o;
48060}
48061
48062static void __pyx_tp_dealloc_7xmmsapi_client_method(PyObject *o) {
48063 struct __pyx_obj_7xmmsapi_client_method *p = (struct __pyx_obj_7xmmsapi_client_method *)o;
48064 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
48065 if (unlikely(Py_TYPE(o)->tp_finalize)__builtin_expect(!!((((PyObject*)(o))->ob_type)->tp_finalize
), 0)
&& !_PyGC_FINALIZED(o)) {
48066 if (PyObject_CallFinalizerFromDealloc(o)) return;
48067 }
48068 #endif
48069 PyObject_GC_UnTrack(o);
48070 Py_CLEAR(p->_parent)do { if (p->_parent) { PyObject *_py_tmp = (PyObject *)(p->
_parent); (p->_parent) = ((void*)0); do { if ( --((PyObject
*)(_py_tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(_py_tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(_py_tmp)))); } while (0); } } while (0)
;
48071 Py_CLEAR(p->_callback)do { if (p->_callback) { PyObject *_py_tmp = (PyObject *)(
p->_callback); (p->_callback) = ((void*)0); do { if ( --
((PyObject*)(_py_tmp))->ob_refcnt != 0) ; else ( (*(((PyObject
*)((PyObject *)(_py_tmp)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(_py_tmp)))); } while (0); } } while (0)
;
48072 Py_CLEAR(p->_path)do { if (p->_path) { PyObject *_py_tmp = (PyObject *)(p->
_path); (p->_path) = ((void*)0); do { if ( --((PyObject*)(
_py_tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(_py_tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(_py_tmp)))); } while (0); } } while (0)
;
48073 Py_CLEAR(p->name)do { if (p->name) { PyObject *_py_tmp = (PyObject *)(p->
name); (p->name) = ((void*)0); do { if ( --((PyObject*)(_py_tmp
))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(
_py_tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(_py_tmp)))); } while (0); } } while (0)
;
48074 Py_CLEAR(p->docstring)do { if (p->docstring) { PyObject *_py_tmp = (PyObject *)(
p->docstring); (p->docstring) = ((void*)0); do { if ( --
((PyObject*)(_py_tmp))->ob_refcnt != 0) ; else ( (*(((PyObject
*)((PyObject *)(_py_tmp)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(_py_tmp)))); } while (0); } } while (0)
;
48075 Py_CLEAR(p->inspect)do { if (p->inspect) { PyObject *_py_tmp = (PyObject *)(p->
inspect); (p->inspect) = ((void*)0); do { if ( --((PyObject
*)(_py_tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(_py_tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(_py_tmp)))); } while (0); } } while (0)
;
48076 (*Py_TYPE(o)(((PyObject*)(o))->ob_type)->tp_free)(o);
48077}
48078
48079static int __pyx_tp_traverse_7xmmsapi_client_method(PyObject *o, visitproc v, void *a) {
48080 int e;
48081 struct __pyx_obj_7xmmsapi_client_method *p = (struct __pyx_obj_7xmmsapi_client_method *)o;
48082 if (p->_parent) {
48083 e = (*v)(((PyObject*)p->_parent), a); if (e) return e;
48084 }
48085 if (p->_callback) {
48086 e = (*v)(p->_callback, a); if (e) return e;
48087 }
48088 if (p->_path) {
48089 e = (*v)(p->_path, a); if (e) return e;
48090 }
48091 if (p->name) {
48092 e = (*v)(p->name, a); if (e) return e;
48093 }
48094 if (p->docstring) {
48095 e = (*v)(p->docstring, a); if (e) return e;
48096 }
48097 if (p->inspect) {
48098 e = (*v)(p->inspect, a); if (e) return e;
48099 }
48100 return 0;
48101}
48102
48103static int __pyx_tp_clear_7xmmsapi_client_method(PyObject *o) {
48104 PyObject* tmp;
48105 struct __pyx_obj_7xmmsapi_client_method *p = (struct __pyx_obj_7xmmsapi_client_method *)o;
48106 tmp = ((PyObject*)p->_parent);
48107 p->_parent = ((struct __pyx_obj_7xmmsapi__XmmsServiceClient *)Py_None(&_Py_NoneStruct)); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
48108 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
48109 tmp = ((PyObject*)p->_callback);
48110 p->_callback = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
48111 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
48112 tmp = ((PyObject*)p->_path);
48113 p->_path = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
48114 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
48115 tmp = ((PyObject*)p->name);
48116 p->name = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
48117 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
48118 tmp = ((PyObject*)p->docstring);
48119 p->docstring = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
48120 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
48121 tmp = ((PyObject*)p->inspect);
48122 p->inspect = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
48123 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
48124 return 0;
48125}
48126
48127static PyObject *__pyx_getprop_7xmmsapi_13client_method__path(PyObject *o, CYTHON_UNUSED__attribute__ ((__unused__)) void *x) {
48128 return __pyx_pw_7xmmsapi_13client_method_5_path_1__get__(o);
48129}
48130
48131static PyObject *__pyx_getprop_7xmmsapi_13client_method__clientid(PyObject *o, CYTHON_UNUSED__attribute__ ((__unused__)) void *x) {
48132 return __pyx_pw_7xmmsapi_13client_method_9_clientid_1__get__(o);
48133}
48134
48135static PyObject *__pyx_getprop_7xmmsapi_13client_method_name(PyObject *o, CYTHON_UNUSED__attribute__ ((__unused__)) void *x) {
48136 return __pyx_pw_7xmmsapi_13client_method_4name_1__get__(o);
48137}
48138
48139static PyObject *__pyx_getprop_7xmmsapi_13client_method_docstring(PyObject *o, CYTHON_UNUSED__attribute__ ((__unused__)) void *x) {
48140 return __pyx_pw_7xmmsapi_13client_method_9docstring_1__get__(o);
48141}
48142
48143static PyObject *__pyx_getprop_7xmmsapi_13client_method_inspect(PyObject *o, CYTHON_UNUSED__attribute__ ((__unused__)) void *x) {
48144 return __pyx_pw_7xmmsapi_13client_method_7inspect_1__get__(o);
48145}
48146
48147static PyMethodDef __pyx_methods_7xmmsapi_client_method[] = {
48148 {__Pyx_NAMESTR("with_callback")("with_callback"), (PyCFunction)__pyx_pw_7xmmsapi_13client_method_3with_callback, METH_O0x0008, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_13client_method_2with_callback)(__pyx_doc_7xmmsapi_13client_method_2with_callback)},
48149 {__Pyx_NAMESTR("call")("call"), (PyCFunction)__pyx_pw_7xmmsapi_13client_method_5call, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_13client_method_4call)(__pyx_doc_7xmmsapi_13client_method_4call)},
48150 {0, 0, 0, 0}
48151};
48152
48153static struct PyGetSetDef __pyx_getsets_7xmmsapi_client_method[] = {
48154 {(char *)"_path", __pyx_getprop_7xmmsapi_13client_method__path, 0, 0, 0},
48155 {(char *)"_clientid", __pyx_getprop_7xmmsapi_13client_method__clientid, 0, 0, 0},
48156 {(char *)"name", __pyx_getprop_7xmmsapi_13client_method_name, 0, 0, 0},
48157 {(char *)"docstring", __pyx_getprop_7xmmsapi_13client_method_docstring, 0, 0, 0},
48158 {(char *)"inspect", __pyx_getprop_7xmmsapi_13client_method_inspect, 0, 0, 0},
48159 {0, 0, 0, 0, 0}
48160};
48161
48162static PyTypeObject __pyx_type_7xmmsapi_client_method = {
48163 PyVarObject_HEAD_INIT(0, 0)1, 0, 0,
48164 __Pyx_NAMESTR("xmmsapi.client_method")("xmmsapi.client_method"), /*tp_name*/
48165 sizeof(struct __pyx_obj_7xmmsapi_client_method), /*tp_basicsize*/
48166 0, /*tp_itemsize*/
48167 __pyx_tp_dealloc_7xmmsapi_client_method, /*tp_dealloc*/
48168 0, /*tp_print*/
48169 0, /*tp_getattr*/
48170 0, /*tp_setattr*/
48171 #if PY_MAJOR_VERSION2 < 3
48172 0, /*tp_compare*/
48173 #else
48174 0, /*reserved*/
48175 #endif
48176 __pyx_pw_7xmmsapi_13client_method_9__repr__, /*tp_repr*/
48177 0, /*tp_as_number*/
48178 0, /*tp_as_sequence*/
48179 0, /*tp_as_mapping*/
48180 0, /*tp_hash*/
48181 __pyx_pw_7xmmsapi_13client_method_7__call__, /*tp_call*/
48182 0, /*tp_str*/
48183 0, /*tp_getattro*/
48184 0, /*tp_setattro*/
48185 0, /*tp_as_buffer*/
48186 Py_TPFLAGS_DEFAULT( (1L<<0) | (1L<<1) | (1L<<3) | (1L<<
5) | (1L<<6) | (1L<<7) | (1L<<8) | 0 | (1L<<
17) | 0)
|Py_TPFLAGS_HAVE_VERSION_TAG(1L<<18)|Py_TPFLAGS_CHECKTYPES(1L<<4)|Py_TPFLAGS_HAVE_NEWBUFFER(1L<<21)|Py_TPFLAGS_BASETYPE(1L<<10)|Py_TPFLAGS_HAVE_GC(1L<<14), /*tp_flags*/
48187 0, /*tp_doc*/
48188 __pyx_tp_traverse_7xmmsapi_client_method, /*tp_traverse*/
48189 __pyx_tp_clear_7xmmsapi_client_method, /*tp_clear*/
48190 0, /*tp_richcompare*/
48191 0, /*tp_weaklistoffset*/
48192 0, /*tp_iter*/
48193 0, /*tp_iternext*/
48194 __pyx_methods_7xmmsapi_client_method, /*tp_methods*/
48195 0, /*tp_members*/
48196 __pyx_getsets_7xmmsapi_client_method, /*tp_getset*/
48197 0, /*tp_base*/
48198 0, /*tp_dict*/
48199 0, /*tp_descr_get*/
48200 0, /*tp_descr_set*/
48201 0, /*tp_dictoffset*/
48202 0, /*tp_init*/
48203 0, /*tp_alloc*/
48204 __pyx_tp_new_7xmmsapi_client_method, /*tp_new*/
48205 0, /*tp_free*/
48206 0, /*tp_is_gc*/
48207 0, /*tp_bases*/
48208 0, /*tp_mro*/
48209 0, /*tp_cache*/
48210 0, /*tp_subclasses*/
48211 0, /*tp_weaklist*/
48212 0, /*tp_del*/
48213 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x02060000
48214 0, /*tp_version_tag*/
48215 #endif
48216 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
48217 0, /*tp_finalize*/
48218 #endif
48219};
48220static struct __pyx_vtabstruct_7xmmsapi_XmmsProxy __pyx_vtable_7xmmsapi_XmmsProxy;
48221
48222static PyObject *__pyx_tp_new_7xmmsapi_XmmsProxy(PyTypeObject *t, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *a, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *k) {
48223 struct __pyx_obj_7xmmsapi_XmmsProxy *p;
48224 PyObject *o;
48225 if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)__builtin_expect(!!((t->tp_flags & (1L<<20)) == 0
), 1)
) {
48226 o = (*t->tp_alloc)(t, 0);
48227 } else {
48228 o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
48229 }
48230 if (unlikely(!o)__builtin_expect(!!(!o), 0)) return 0;
48231 p = ((struct __pyx_obj_7xmmsapi_XmmsProxy *)o);
48232 p->__pyx_vtab = __pyx_vtabptr_7xmmsapi_XmmsProxy;
48233 return o;
48234}
48235
48236static void __pyx_tp_dealloc_7xmmsapi_XmmsProxy(PyObject *o) {
48237 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
48238 if (unlikely(Py_TYPE(o)->tp_finalize)__builtin_expect(!!((((PyObject*)(o))->ob_type)->tp_finalize
), 0)
&& (!PyType_IS_GC(Py_TYPE(o))(((((((PyObject*)(o))->ob_type)))->tp_flags & ((1L<<
14))) != 0)
|| !_PyGC_FINALIZED(o))) {
48239 if (PyObject_CallFinalizerFromDealloc(o)) return;
48240 }
48241 #endif
48242 (*Py_TYPE(o)(((PyObject*)(o))->ob_type)->tp_free)(o);
48243}
48244
48245static PyMethodDef __pyx_methods_7xmmsapi_XmmsProxy[] = {
48246 {0, 0, 0, 0}
48247};
48248
48249static PyTypeObject __pyx_type_7xmmsapi_XmmsProxy = {
48250 PyVarObject_HEAD_INIT(0, 0)1, 0, 0,
48251 __Pyx_NAMESTR("xmmsapi.XmmsProxy")("xmmsapi.XmmsProxy"), /*tp_name*/
48252 sizeof(struct __pyx_obj_7xmmsapi_XmmsProxy), /*tp_basicsize*/
48253 0, /*tp_itemsize*/
48254 __pyx_tp_dealloc_7xmmsapi_XmmsProxy, /*tp_dealloc*/
48255 0, /*tp_print*/
48256 0, /*tp_getattr*/
48257 0, /*tp_setattr*/
48258 #if PY_MAJOR_VERSION2 < 3
48259 0, /*tp_compare*/
48260 #else
48261 0, /*reserved*/
48262 #endif
48263 0, /*tp_repr*/
48264 0, /*tp_as_number*/
48265 0, /*tp_as_sequence*/
48266 0, /*tp_as_mapping*/
48267 0, /*tp_hash*/
48268 0, /*tp_call*/
48269 0, /*tp_str*/
48270 0, /*tp_getattro*/
48271 0, /*tp_setattro*/
48272 0, /*tp_as_buffer*/
48273 Py_TPFLAGS_DEFAULT( (1L<<0) | (1L<<1) | (1L<<3) | (1L<<
5) | (1L<<6) | (1L<<7) | (1L<<8) | 0 | (1L<<
17) | 0)
|Py_TPFLAGS_HAVE_VERSION_TAG(1L<<18)|Py_TPFLAGS_CHECKTYPES(1L<<4)|Py_TPFLAGS_HAVE_NEWBUFFER(1L<<21)|Py_TPFLAGS_BASETYPE(1L<<10), /*tp_flags*/
48274 __Pyx_DOCSTR("XmmsProxy(xmms)")("XmmsProxy(xmms)"), /*tp_doc*/
48275 0, /*tp_traverse*/
48276 0, /*tp_clear*/
48277 0, /*tp_richcompare*/
48278 0, /*tp_weaklistoffset*/
48279 0, /*tp_iter*/
48280 0, /*tp_iternext*/
48281 __pyx_methods_7xmmsapi_XmmsProxy, /*tp_methods*/
48282 0, /*tp_members*/
48283 0, /*tp_getset*/
48284 0, /*tp_base*/
48285 0, /*tp_dict*/
48286 0, /*tp_descr_get*/
48287 0, /*tp_descr_set*/
48288 0, /*tp_dictoffset*/
48289 __pyx_pw_7xmmsapi_9XmmsProxy_1__init__, /*tp_init*/
48290 0, /*tp_alloc*/
48291 __pyx_tp_new_7xmmsapi_XmmsProxy, /*tp_new*/
48292 0, /*tp_free*/
48293 0, /*tp_is_gc*/
48294 0, /*tp_bases*/
48295 0, /*tp_mro*/
48296 0, /*tp_cache*/
48297 0, /*tp_subclasses*/
48298 0, /*tp_weaklist*/
48299 0, /*tp_del*/
48300 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x02060000
48301 0, /*tp_version_tag*/
48302 #endif
48303 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
48304 0, /*tp_finalize*/
48305 #endif
48306};
48307static struct __pyx_vtabstruct_7xmmsapi_XmmsApi __pyx_vtable_7xmmsapi_XmmsApi;
48308
48309static PyObject *__pyx_tp_new_7xmmsapi_XmmsApi(PyTypeObject *t, PyObject *a, PyObject *k) {
48310 struct __pyx_obj_7xmmsapi_XmmsApi *p;
48311 PyObject *o = __pyx_tp_new_7xmmsapi_XmmsCore(t, a, k);
48312 if (unlikely(!o)__builtin_expect(!!(!o), 0)) return 0;
48313 p = ((struct __pyx_obj_7xmmsapi_XmmsApi *)o);
48314 p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_7xmmsapi_XmmsCore*)__pyx_vtabptr_7xmmsapi_XmmsApi;
48315 return o;
48316}
48317
48318static PyObject *__pyx_getprop_7xmmsapi_7XmmsApi_client_id(PyObject *o, CYTHON_UNUSED__attribute__ ((__unused__)) void *x) {
48319 return __pyx_pw_7xmmsapi_7XmmsApi_9client_id_1__get__(o);
48320}
48321
48322static PyMethodDef __pyx_methods_7xmmsapi_XmmsApi[] = {
48323 {__Pyx_NAMESTR("c2c_get_own_id")("c2c_get_own_id"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_1c2c_get_own_id, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_c2c_get_own_id)(__pyx_doc_7xmmsapi_7XmmsApi_c2c_get_own_id)},
48324 {__Pyx_NAMESTR("quit")("quit"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_3quit, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_2quit)(__pyx_doc_7xmmsapi_7XmmsApi_2quit)},
48325 {__Pyx_NAMESTR("plugin_list")("plugin_list"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_5plugin_list, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_4plugin_list)(__pyx_doc_7xmmsapi_7XmmsApi_4plugin_list)},
48326 {__Pyx_NAMESTR("playback_start")("playback_start"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_7playback_start, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_6playback_start)(__pyx_doc_7xmmsapi_7XmmsApi_6playback_start)},
48327 {__Pyx_NAMESTR("playback_stop")("playback_stop"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_9playback_stop, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_8playback_stop)(__pyx_doc_7xmmsapi_7XmmsApi_8playback_stop)},
48328 {__Pyx_NAMESTR("playback_tickle")("playback_tickle"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_11playback_tickle, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_10playback_tickle)(__pyx_doc_7xmmsapi_7XmmsApi_10playback_tickle)},
48329 {__Pyx_NAMESTR("playback_pause")("playback_pause"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_13playback_pause, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_12playback_pause)(__pyx_doc_7xmmsapi_7XmmsApi_12playback_pause)},
48330 {__Pyx_NAMESTR("playback_current_id")("playback_current_id"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_15playback_current_id, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_14playback_current_id)(__pyx_doc_7xmmsapi_7XmmsApi_14playback_current_id)},
48331 {__Pyx_NAMESTR("playback_seek_ms")("playback_seek_ms"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_17playback_seek_ms, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_16playback_seek_ms)(__pyx_doc_7xmmsapi_7XmmsApi_16playback_seek_ms)},
48332 {__Pyx_NAMESTR("playback_seek_samples")("playback_seek_samples"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_19playback_seek_samples, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_18playback_seek_samples)(__pyx_doc_7xmmsapi_7XmmsApi_18playback_seek_samples)},
48333 {__Pyx_NAMESTR("playback_status")("playback_status"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_21playback_status, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_20playback_status)(__pyx_doc_7xmmsapi_7XmmsApi_20playback_status)},
48334 {__Pyx_NAMESTR("broadcast_playback_status")("broadcast_playback_status"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_23broadcast_playback_status, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_22broadcast_playback_status)(__pyx_doc_7xmmsapi_7XmmsApi_22broadcast_playback_status)},
48335 {__Pyx_NAMESTR("broadcast_playback_current_id")("broadcast_playback_current_id"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_25broadcast_playback_current_id, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_24broadcast_playback_current_id)(__pyx_doc_7xmmsapi_7XmmsApi_24broadcast_playback_current_id)},
48336 {__Pyx_NAMESTR("playback_playtime")("playback_playtime"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_27playback_playtime, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_26playback_playtime)(__pyx_doc_7xmmsapi_7XmmsApi_26playback_playtime)},
48337 {__Pyx_NAMESTR("signal_playback_playtime")("signal_playback_playtime"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_29signal_playback_playtime, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_28signal_playback_playtime)(__pyx_doc_7xmmsapi_7XmmsApi_28signal_playback_playtime)},
48338 {__Pyx_NAMESTR("playback_volume_set")("playback_volume_set"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_31playback_volume_set, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_30playback_volume_set)(__pyx_doc_7xmmsapi_7XmmsApi_30playback_volume_set)},
48339 {__Pyx_NAMESTR("playback_volume_get")("playback_volume_get"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_33playback_volume_get, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_32playback_volume_get)(__pyx_doc_7xmmsapi_7XmmsApi_32playback_volume_get)},
48340 {__Pyx_NAMESTR("broadcast_playback_volume_changed")("broadcast_playback_volume_changed"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_35broadcast_playback_volume_changed, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_34broadcast_playback_volume_changed)(__pyx_doc_7xmmsapi_7XmmsApi_34broadcast_playback_volume_changed
)
},
48341 {__Pyx_NAMESTR("broadcast_playlist_loaded")("broadcast_playlist_loaded"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_37broadcast_playlist_loaded, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_36broadcast_playlist_loaded)(__pyx_doc_7xmmsapi_7XmmsApi_36broadcast_playlist_loaded)},
48342 {__Pyx_NAMESTR("playlist_load")("playlist_load"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_39playlist_load, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_38playlist_load)(__pyx_doc_7xmmsapi_7XmmsApi_38playlist_load)},
48343 {__Pyx_NAMESTR("playlist_list")("playlist_list"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_41playlist_list, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_40playlist_list)(__pyx_doc_7xmmsapi_7XmmsApi_40playlist_list)},
48344 {__Pyx_NAMESTR("playlist_remove")("playlist_remove"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_43playlist_remove, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_42playlist_remove)(__pyx_doc_7xmmsapi_7XmmsApi_42playlist_remove)},
48345 {__Pyx_NAMESTR("playlist_shuffle")("playlist_shuffle"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_45playlist_shuffle, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_44playlist_shuffle)(__pyx_doc_7xmmsapi_7XmmsApi_44playlist_shuffle)},
48346 {__Pyx_NAMESTR("playlist_rinsert")("playlist_rinsert"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_47playlist_rinsert, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_46playlist_rinsert)(__pyx_doc_7xmmsapi_7XmmsApi_46playlist_rinsert)},
48347 {__Pyx_NAMESTR("playlist_rinsert_encoded")("playlist_rinsert_encoded"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_49playlist_rinsert_encoded, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_48playlist_rinsert_encoded)(__pyx_doc_7xmmsapi_7XmmsApi_48playlist_rinsert_encoded)},
48348 {__Pyx_NAMESTR("playlist_insert_url")("playlist_insert_url"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_51playlist_insert_url, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_50playlist_insert_url)(__pyx_doc_7xmmsapi_7XmmsApi_50playlist_insert_url)},
48349 {__Pyx_NAMESTR("playlist_insert_encoded")("playlist_insert_encoded"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_53playlist_insert_encoded, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_52playlist_insert_encoded)(__pyx_doc_7xmmsapi_7XmmsApi_52playlist_insert_encoded)},
48350 {__Pyx_NAMESTR("playlist_insert_id")("playlist_insert_id"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_55playlist_insert_id, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_54playlist_insert_id)(__pyx_doc_7xmmsapi_7XmmsApi_54playlist_insert_id)},
48351 {__Pyx_NAMESTR("playlist_insert_collection")("playlist_insert_collection"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_57playlist_insert_collection, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_56playlist_insert_collection)(__pyx_doc_7xmmsapi_7XmmsApi_56playlist_insert_collection)},
48352 {__Pyx_NAMESTR("playlist_radd")("playlist_radd"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_59playlist_radd, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_58playlist_radd)(__pyx_doc_7xmmsapi_7XmmsApi_58playlist_radd)},
48353 {__Pyx_NAMESTR("playlist_radd_encoded")("playlist_radd_encoded"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_61playlist_radd_encoded, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_60playlist_radd_encoded)(__pyx_doc_7xmmsapi_7XmmsApi_60playlist_radd_encoded)},
48354 {__Pyx_NAMESTR("playlist_add_url")("playlist_add_url"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_63playlist_add_url, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_62playlist_add_url)(__pyx_doc_7xmmsapi_7XmmsApi_62playlist_add_url)},
48355 {__Pyx_NAMESTR("playlist_add_encoded")("playlist_add_encoded"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_65playlist_add_encoded, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_64playlist_add_encoded)(__pyx_doc_7xmmsapi_7XmmsApi_64playlist_add_encoded)},
48356 {__Pyx_NAMESTR("playlist_add_id")("playlist_add_id"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_67playlist_add_id, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_66playlist_add_id)(__pyx_doc_7xmmsapi_7XmmsApi_66playlist_add_id)},
48357 {__Pyx_NAMESTR("playlist_add_collection")("playlist_add_collection"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_69playlist_add_collection, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_68playlist_add_collection)(__pyx_doc_7xmmsapi_7XmmsApi_68playlist_add_collection)},
48358 {__Pyx_NAMESTR("playlist_remove_entry")("playlist_remove_entry"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_71playlist_remove_entry, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_70playlist_remove_entry)(__pyx_doc_7xmmsapi_7XmmsApi_70playlist_remove_entry)},
48359 {__Pyx_NAMESTR("playlist_clear")("playlist_clear"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_73playlist_clear, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_72playlist_clear)(__pyx_doc_7xmmsapi_7XmmsApi_72playlist_clear)},
48360 {__Pyx_NAMESTR("playlist_list_entries")("playlist_list_entries"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_75playlist_list_entries, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_74playlist_list_entries)(__pyx_doc_7xmmsapi_7XmmsApi_74playlist_list_entries)},
48361 {__Pyx_NAMESTR("playlist_sort")("playlist_sort"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_77playlist_sort, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_76playlist_sort)(__pyx_doc_7xmmsapi_7XmmsApi_76playlist_sort)},
48362 {__Pyx_NAMESTR("playlist_set_next_rel")("playlist_set_next_rel"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_79playlist_set_next_rel, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_78playlist_set_next_rel)(__pyx_doc_7xmmsapi_7XmmsApi_78playlist_set_next_rel)},
48363 {__Pyx_NAMESTR("playlist_set_next")("playlist_set_next"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_81playlist_set_next, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_80playlist_set_next)(__pyx_doc_7xmmsapi_7XmmsApi_80playlist_set_next)},
48364 {__Pyx_NAMESTR("playlist_move")("playlist_move"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_83playlist_move, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_82playlist_move)(__pyx_doc_7xmmsapi_7XmmsApi_82playlist_move)},
48365 {__Pyx_NAMESTR("playlist_create")("playlist_create"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_85playlist_create, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_84playlist_create)(__pyx_doc_7xmmsapi_7XmmsApi_84playlist_create)},
48366 {__Pyx_NAMESTR("playlist_current_pos")("playlist_current_pos"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_87playlist_current_pos, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_86playlist_current_pos)(__pyx_doc_7xmmsapi_7XmmsApi_86playlist_current_pos)},
48367 {__Pyx_NAMESTR("playlist_current_active")("playlist_current_active"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_89playlist_current_active, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_88playlist_current_active)(__pyx_doc_7xmmsapi_7XmmsApi_88playlist_current_active)},
48368 {__Pyx_NAMESTR("broadcast_playlist_current_pos")("broadcast_playlist_current_pos"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_91broadcast_playlist_current_pos, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_90broadcast_playlist_current_pos)(__pyx_doc_7xmmsapi_7XmmsApi_90broadcast_playlist_current_pos
)
},
48369 {__Pyx_NAMESTR("broadcast_playlist_changed")("broadcast_playlist_changed"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_93broadcast_playlist_changed, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_92broadcast_playlist_changed)(__pyx_doc_7xmmsapi_7XmmsApi_92broadcast_playlist_changed)},
48370 {__Pyx_NAMESTR("broadcast_config_value_changed")("broadcast_config_value_changed"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_95broadcast_config_value_changed, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_94broadcast_config_value_changed)(__pyx_doc_7xmmsapi_7XmmsApi_94broadcast_config_value_changed
)
},
48371 {__Pyx_NAMESTR("config_set_value")("config_set_value"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_97config_set_value, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_96config_set_value)(__pyx_doc_7xmmsapi_7XmmsApi_96config_set_value)},
48372 {__Pyx_NAMESTR("config_get_value")("config_get_value"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_99config_get_value, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_98config_get_value)(__pyx_doc_7xmmsapi_7XmmsApi_98config_get_value)},
48373 {__Pyx_NAMESTR("config_list_values")("config_list_values"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_101config_list_values, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_100config_list_values)(__pyx_doc_7xmmsapi_7XmmsApi_100config_list_values)},
48374 {__Pyx_NAMESTR("config_register_value")("config_register_value"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_103config_register_value, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_102config_register_value)(__pyx_doc_7xmmsapi_7XmmsApi_102config_register_value)},
48375 {__Pyx_NAMESTR("medialib_add_entry")("medialib_add_entry"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_105medialib_add_entry, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_104medialib_add_entry)(__pyx_doc_7xmmsapi_7XmmsApi_104medialib_add_entry)},
48376 {__Pyx_NAMESTR("medialib_add_entry_encoded")("medialib_add_entry_encoded"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_107medialib_add_entry_encoded, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_106medialib_add_entry_encoded)(__pyx_doc_7xmmsapi_7XmmsApi_106medialib_add_entry_encoded)},
48377 {__Pyx_NAMESTR("medialib_remove_entry")("medialib_remove_entry"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_109medialib_remove_entry, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_108medialib_remove_entry)(__pyx_doc_7xmmsapi_7XmmsApi_108medialib_remove_entry)},
48378 {__Pyx_NAMESTR("medialib_move_entry")("medialib_move_entry"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_111medialib_move_entry, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_110medialib_move_entry)(__pyx_doc_7xmmsapi_7XmmsApi_110medialib_move_entry)},
48379 {__Pyx_NAMESTR("medialib_get_info")("medialib_get_info"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_113medialib_get_info, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_112medialib_get_info)(__pyx_doc_7xmmsapi_7XmmsApi_112medialib_get_info)},
48380 {__Pyx_NAMESTR("medialib_rehash")("medialib_rehash"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_115medialib_rehash, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_114medialib_rehash)(__pyx_doc_7xmmsapi_7XmmsApi_114medialib_rehash)},
48381 {__Pyx_NAMESTR("medialib_get_id")("medialib_get_id"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_117medialib_get_id, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_116medialib_get_id)(__pyx_doc_7xmmsapi_7XmmsApi_116medialib_get_id)},
48382 {__Pyx_NAMESTR("medialib_import_path")("medialib_import_path"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_119medialib_import_path, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_118medialib_import_path)(__pyx_doc_7xmmsapi_7XmmsApi_118medialib_import_path)},
48383 {__Pyx_NAMESTR("medialib_path_import")("medialib_path_import"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_121medialib_path_import, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_120medialib_path_import)(__pyx_doc_7xmmsapi_7XmmsApi_120medialib_path_import)},
48384 {__Pyx_NAMESTR("medialib_path_import_encoded")("medialib_path_import_encoded"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_123medialib_path_import_encoded, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_122medialib_path_import_encoded)(__pyx_doc_7xmmsapi_7XmmsApi_122medialib_path_import_encoded)},
48385 {__Pyx_NAMESTR("medialib_property_set")("medialib_property_set"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_125medialib_property_set, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_124medialib_property_set)(__pyx_doc_7xmmsapi_7XmmsApi_124medialib_property_set)},
48386 {__Pyx_NAMESTR("medialib_property_remove")("medialib_property_remove"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_127medialib_property_remove, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_126medialib_property_remove)(__pyx_doc_7xmmsapi_7XmmsApi_126medialib_property_remove)},
48387 {__Pyx_NAMESTR("broadcast_medialib_entry_added")("broadcast_medialib_entry_added"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_129broadcast_medialib_entry_added, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_128broadcast_medialib_entry_added)(__pyx_doc_7xmmsapi_7XmmsApi_128broadcast_medialib_entry_added
)
},
48388 {__Pyx_NAMESTR("broadcast_medialib_entry_changed")("broadcast_medialib_entry_changed"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_131broadcast_medialib_entry_changed, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_130broadcast_medialib_entry_changed)(__pyx_doc_7xmmsapi_7XmmsApi_130broadcast_medialib_entry_changed
)
},
48389 {__Pyx_NAMESTR("broadcast_medialib_entry_updated")("broadcast_medialib_entry_updated"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_133broadcast_medialib_entry_updated, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_132broadcast_medialib_entry_updated)(__pyx_doc_7xmmsapi_7XmmsApi_132broadcast_medialib_entry_updated
)
},
48390 {__Pyx_NAMESTR("broadcast_medialib_entry_removed")("broadcast_medialib_entry_removed"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_135broadcast_medialib_entry_removed, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_134broadcast_medialib_entry_removed)(__pyx_doc_7xmmsapi_7XmmsApi_134broadcast_medialib_entry_removed
)
},
48391 {__Pyx_NAMESTR("broadcast_collection_changed")("broadcast_collection_changed"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_137broadcast_collection_changed, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_136broadcast_collection_changed)(__pyx_doc_7xmmsapi_7XmmsApi_136broadcast_collection_changed)},
48392 {__Pyx_NAMESTR("signal_mediainfo_reader_unindexed")("signal_mediainfo_reader_unindexed"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_139signal_mediainfo_reader_unindexed, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_138signal_mediainfo_reader_unindexed)(__pyx_doc_7xmmsapi_7XmmsApi_138signal_mediainfo_reader_unindexed
)
},
48393 {__Pyx_NAMESTR("broadcast_mediainfo_reader_status")("broadcast_mediainfo_reader_status"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_141broadcast_mediainfo_reader_status, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_140broadcast_mediainfo_reader_status)(__pyx_doc_7xmmsapi_7XmmsApi_140broadcast_mediainfo_reader_status
)
},
48394 {__Pyx_NAMESTR("xform_media_browse")("xform_media_browse"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_143xform_media_browse, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_142xform_media_browse)(__pyx_doc_7xmmsapi_7XmmsApi_142xform_media_browse)},
48395 {__Pyx_NAMESTR("xform_media_browse_encoded")("xform_media_browse_encoded"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_145xform_media_browse_encoded, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_144xform_media_browse_encoded)(__pyx_doc_7xmmsapi_7XmmsApi_144xform_media_browse_encoded)},
48396 {__Pyx_NAMESTR("coll_get")("coll_get"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_147coll_get, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_146coll_get)(__pyx_doc_7xmmsapi_7XmmsApi_146coll_get)},
48397 {__Pyx_NAMESTR("coll_list")("coll_list"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_149coll_list, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_148coll_list)(__pyx_doc_7xmmsapi_7XmmsApi_148coll_list)},
48398 {__Pyx_NAMESTR("coll_save")("coll_save"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_151coll_save, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_150coll_save)(__pyx_doc_7xmmsapi_7XmmsApi_150coll_save)},
48399 {__Pyx_NAMESTR("coll_remove")("coll_remove"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_153coll_remove, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_152coll_remove)(__pyx_doc_7xmmsapi_7XmmsApi_152coll_remove)},
48400 {__Pyx_NAMESTR("coll_rename")("coll_rename"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_155coll_rename, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_154coll_rename)(__pyx_doc_7xmmsapi_7XmmsApi_154coll_rename)},
48401 {__Pyx_NAMESTR("coll_idlist_from_playlist_file")("coll_idlist_from_playlist_file"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_157coll_idlist_from_playlist_file, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_156coll_idlist_from_playlist_file)(__pyx_doc_7xmmsapi_7XmmsApi_156coll_idlist_from_playlist_file
)
},
48402 {__Pyx_NAMESTR("coll_query")("coll_query"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_159coll_query, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_158coll_query)(__pyx_doc_7xmmsapi_7XmmsApi_158coll_query)},
48403 {__Pyx_NAMESTR("coll_query_ids")("coll_query_ids"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_161coll_query_ids, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_160coll_query_ids)(__pyx_doc_7xmmsapi_7XmmsApi_160coll_query_ids)},
48404 {__Pyx_NAMESTR("coll_query_infos")("coll_query_infos"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_163coll_query_infos, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_162coll_query_infos)(__pyx_doc_7xmmsapi_7XmmsApi_162coll_query_infos)},
48405 {__Pyx_NAMESTR("c2c_ready")("c2c_ready"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_165c2c_ready, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_164c2c_ready)(__pyx_doc_7xmmsapi_7XmmsApi_164c2c_ready)},
48406 {__Pyx_NAMESTR("c2c_get_connected_clients")("c2c_get_connected_clients"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_167c2c_get_connected_clients, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_166c2c_get_connected_clients)(__pyx_doc_7xmmsapi_7XmmsApi_166c2c_get_connected_clients)},
48407 {__Pyx_NAMESTR("c2c_get_ready_clients")("c2c_get_ready_clients"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_169c2c_get_ready_clients, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_168c2c_get_ready_clients)(__pyx_doc_7xmmsapi_7XmmsApi_168c2c_get_ready_clients)},
48408 {__Pyx_NAMESTR("broadcast_c2c_ready")("broadcast_c2c_ready"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_171broadcast_c2c_ready, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_170broadcast_c2c_ready)(__pyx_doc_7xmmsapi_7XmmsApi_170broadcast_c2c_ready)},
48409 {__Pyx_NAMESTR("broadcast_c2c_client_connected")("broadcast_c2c_client_connected"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_173broadcast_c2c_client_connected, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_172broadcast_c2c_client_connected)(__pyx_doc_7xmmsapi_7XmmsApi_172broadcast_c2c_client_connected
)
},
48410 {__Pyx_NAMESTR("broadcast_c2c_client_disconnected")("broadcast_c2c_client_disconnected"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_175broadcast_c2c_client_disconnected, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_174broadcast_c2c_client_disconnected)(__pyx_doc_7xmmsapi_7XmmsApi_174broadcast_c2c_client_disconnected
)
},
48411 {__Pyx_NAMESTR("sc_init")("sc_init"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_177sc_init, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_176sc_init)(__pyx_doc_7xmmsapi_7XmmsApi_176sc_init)},
48412 {__Pyx_NAMESTR("sc_broadcast_emit")("sc_broadcast_emit"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_179sc_broadcast_emit, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_178sc_broadcast_emit)(__pyx_doc_7xmmsapi_7XmmsApi_178sc_broadcast_emit)},
48413 {__Pyx_NAMESTR("sc_broadcast_subscribe")("sc_broadcast_subscribe"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_181sc_broadcast_subscribe, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_180sc_broadcast_subscribe)(__pyx_doc_7xmmsapi_7XmmsApi_180sc_broadcast_subscribe)},
48414 {__Pyx_NAMESTR("sc_call")("sc_call"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_183sc_call, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_182sc_call)(__pyx_doc_7xmmsapi_7XmmsApi_182sc_call)},
48415 {__Pyx_NAMESTR("sc_introspect_namespace")("sc_introspect_namespace"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_185sc_introspect_namespace, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_184sc_introspect_namespace)(__pyx_doc_7xmmsapi_7XmmsApi_184sc_introspect_namespace)},
48416 {__Pyx_NAMESTR("sc_introspect_method")("sc_introspect_method"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_187sc_introspect_method, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_186sc_introspect_method)(__pyx_doc_7xmmsapi_7XmmsApi_186sc_introspect_method)},
48417 {__Pyx_NAMESTR("sc_introspect_broadcast")("sc_introspect_broadcast"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_189sc_introspect_broadcast, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_188sc_introspect_broadcast)(__pyx_doc_7xmmsapi_7XmmsApi_188sc_introspect_broadcast)},
48418 {__Pyx_NAMESTR("sc_introspect_constant")("sc_introspect_constant"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_191sc_introspect_constant, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_190sc_introspect_constant)(__pyx_doc_7xmmsapi_7XmmsApi_190sc_introspect_constant)},
48419 {__Pyx_NAMESTR("sc_introspect_docstring")("sc_introspect_docstring"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_193sc_introspect_docstring, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_192sc_introspect_docstring)(__pyx_doc_7xmmsapi_7XmmsApi_192sc_introspect_docstring)},
48420 {__Pyx_NAMESTR("bindata_add")("bindata_add"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_195bindata_add, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_194bindata_add)(__pyx_doc_7xmmsapi_7XmmsApi_194bindata_add)},
48421 {__Pyx_NAMESTR("bindata_retrieve")("bindata_retrieve"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_197bindata_retrieve, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_196bindata_retrieve)(__pyx_doc_7xmmsapi_7XmmsApi_196bindata_retrieve)},
48422 {__Pyx_NAMESTR("bindata_remove")("bindata_remove"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_199bindata_remove, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_198bindata_remove)(__pyx_doc_7xmmsapi_7XmmsApi_198bindata_remove)},
48423 {__Pyx_NAMESTR("bindata_list")("bindata_list"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_201bindata_list, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_200bindata_list)(__pyx_doc_7xmmsapi_7XmmsApi_200bindata_list)},
48424 {__Pyx_NAMESTR("stats")("stats"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_203stats, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_202stats)(__pyx_doc_7xmmsapi_7XmmsApi_202stats)},
48425 {__Pyx_NAMESTR("visualization_version")("visualization_version"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_205visualization_version, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_204visualization_version)(__pyx_doc_7xmmsapi_7XmmsApi_204visualization_version)},
48426 {__Pyx_NAMESTR("visualization_init")("visualization_init"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_207visualization_init, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_206visualization_init)(__pyx_doc_7xmmsapi_7XmmsApi_206visualization_init)},
48427 {__Pyx_NAMESTR("visualization_start")("visualization_start"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_209visualization_start, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_208visualization_start)(__pyx_doc_7xmmsapi_7XmmsApi_208visualization_start)},
48428 {__Pyx_NAMESTR("visualization_started")("visualization_started"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_211visualization_started, METH_O0x0008, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_210visualization_started)(__pyx_doc_7xmmsapi_7XmmsApi_210visualization_started)},
48429 {__Pyx_NAMESTR("visualization_errored")("visualization_errored"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_213visualization_errored, METH_O0x0008, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_212visualization_errored)(__pyx_doc_7xmmsapi_7XmmsApi_212visualization_errored)},
48430 {__Pyx_NAMESTR("visualization_property_set")("visualization_property_set"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_215visualization_property_set, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_214visualization_property_set)(__pyx_doc_7xmmsapi_7XmmsApi_214visualization_property_set)},
48431 {__Pyx_NAMESTR("visualization_properties_set")("visualization_properties_set"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_217visualization_properties_set, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_216visualization_properties_set)(__pyx_doc_7xmmsapi_7XmmsApi_216visualization_properties_set)},
48432 {__Pyx_NAMESTR("visualization_chunk_get")("visualization_chunk_get"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_219visualization_chunk_get, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_218visualization_chunk_get)(__pyx_doc_7xmmsapi_7XmmsApi_218visualization_chunk_get)},
48433 {__Pyx_NAMESTR("visualization_shutdown")("visualization_shutdown"), (PyCFunction)__pyx_pw_7xmmsapi_7XmmsApi_221visualization_shutdown, METH_O0x0008, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_7XmmsApi_220visualization_shutdown)(__pyx_doc_7xmmsapi_7XmmsApi_220visualization_shutdown)},
48434 {0, 0, 0, 0}
48435};
48436
48437static struct PyGetSetDef __pyx_getsets_7xmmsapi_XmmsApi[] = {
48438 {(char *)"client_id", __pyx_getprop_7xmmsapi_7XmmsApi_client_id, 0, 0, 0},
48439 {0, 0, 0, 0, 0}
48440};
48441
48442static PyTypeObject __pyx_type_7xmmsapi_XmmsApi = {
48443 PyVarObject_HEAD_INIT(0, 0)1, 0, 0,
48444 __Pyx_NAMESTR("xmmsapi.XmmsApi")("xmmsapi.XmmsApi"), /*tp_name*/
48445 sizeof(struct __pyx_obj_7xmmsapi_XmmsApi), /*tp_basicsize*/
48446 0, /*tp_itemsize*/
48447 __pyx_tp_dealloc_7xmmsapi_XmmsCore, /*tp_dealloc*/
48448 0, /*tp_print*/
48449 0, /*tp_getattr*/
48450 0, /*tp_setattr*/
48451 #if PY_MAJOR_VERSION2 < 3
48452 0, /*tp_compare*/
48453 #else
48454 0, /*reserved*/
48455 #endif
48456 0, /*tp_repr*/
48457 0, /*tp_as_number*/
48458 0, /*tp_as_sequence*/
48459 0, /*tp_as_mapping*/
48460 0, /*tp_hash*/
48461 0, /*tp_call*/
48462 0, /*tp_str*/
48463 0, /*tp_getattro*/
48464 0, /*tp_setattro*/
48465 0, /*tp_as_buffer*/
48466 Py_TPFLAGS_DEFAULT( (1L<<0) | (1L<<1) | (1L<<3) | (1L<<
5) | (1L<<6) | (1L<<7) | (1L<<8) | 0 | (1L<<
17) | 0)
|Py_TPFLAGS_HAVE_VERSION_TAG(1L<<18)|Py_TPFLAGS_CHECKTYPES(1L<<4)|Py_TPFLAGS_HAVE_NEWBUFFER(1L<<21)|Py_TPFLAGS_BASETYPE(1L<<10)|Py_TPFLAGS_HAVE_GC(1L<<14), /*tp_flags*/
48467 0, /*tp_doc*/
48468 __pyx_tp_traverse_7xmmsapi_XmmsCore, /*tp_traverse*/
48469 __pyx_tp_clear_7xmmsapi_XmmsCore, /*tp_clear*/
48470 0, /*tp_richcompare*/
48471 0, /*tp_weaklistoffset*/
48472 0, /*tp_iter*/
48473 0, /*tp_iternext*/
48474 __pyx_methods_7xmmsapi_XmmsApi, /*tp_methods*/
48475 0, /*tp_members*/
48476 __pyx_getsets_7xmmsapi_XmmsApi, /*tp_getset*/
48477 0, /*tp_base*/
48478 0, /*tp_dict*/
48479 0, /*tp_descr_get*/
48480 0, /*tp_descr_set*/
48481 0, /*tp_dictoffset*/
48482 #if CYTHON_COMPILING_IN_PYPY0
48483 __pyx_pw_7xmmsapi_8XmmsCore_3__init__, /*tp_init*/
48484 #else
48485 0, /*tp_init*/
48486 #endif
48487 0, /*tp_alloc*/
48488 __pyx_tp_new_7xmmsapi_XmmsApi, /*tp_new*/
48489 0, /*tp_free*/
48490 0, /*tp_is_gc*/
48491 0, /*tp_bases*/
48492 0, /*tp_mro*/
48493 0, /*tp_cache*/
48494 0, /*tp_subclasses*/
48495 0, /*tp_weaklist*/
48496 0, /*tp_del*/
48497 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x02060000
48498 0, /*tp_version_tag*/
48499 #endif
48500 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
48501 0, /*tp_finalize*/
48502 #endif
48503};
48504static struct __pyx_vtabstruct_7xmmsapi_XmmsLoop __pyx_vtable_7xmmsapi_XmmsLoop;
48505
48506static PyObject *__pyx_tp_new_7xmmsapi_XmmsLoop(PyTypeObject *t, PyObject *a, PyObject *k) {
48507 struct __pyx_obj_7xmmsapi_XmmsLoop *p;
48508 PyObject *o = __pyx_tp_new_7xmmsapi_XmmsApi(t, a, k);
48509 if (unlikely(!o)__builtin_expect(!!(!o), 0)) return 0;
48510 p = ((struct __pyx_obj_7xmmsapi_XmmsLoop *)o);
48511 p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_7xmmsapi_XmmsCore*)__pyx_vtabptr_7xmmsapi_XmmsLoop;
48512 p->wakeup = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
48513 if (unlikely(__pyx_pw_7xmmsapi_8XmmsLoop_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)__builtin_expect(!!(__pyx_pw_7xmmsapi_8XmmsLoop_1__cinit__(o,
__pyx_empty_tuple, ((void*)0)) < 0), 0)
) {
48514 Py_DECREF(o)do { if ( --((PyObject*)(o))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(o)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(o)))); } while (0)
; o = 0;
48515 }
48516 return o;
48517}
48518
48519static void __pyx_tp_dealloc_7xmmsapi_XmmsLoop(PyObject *o) {
48520 struct __pyx_obj_7xmmsapi_XmmsLoop *p = (struct __pyx_obj_7xmmsapi_XmmsLoop *)o;
48521 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
48522 if (unlikely(Py_TYPE(o)->tp_finalize)__builtin_expect(!!((((PyObject*)(o))->ob_type)->tp_finalize
), 0)
&& !_PyGC_FINALIZED(o)) {
48523 if (PyObject_CallFinalizerFromDealloc(o)) return;
48524 }
48525 #endif
48526 PyObject_GC_UnTrack(o);
48527 Py_CLEAR(p->wakeup)do { if (p->wakeup) { PyObject *_py_tmp = (PyObject *)(p->
wakeup); (p->wakeup) = ((void*)0); do { if ( --((PyObject*
)(_py_tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(_py_tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(_py_tmp)))); } while (0); } } while (0)
;
48528 PyObject_GC_Track(o);
48529 __pyx_tp_dealloc_7xmmsapi_XmmsCore(o);
48530}
48531
48532static int __pyx_tp_traverse_7xmmsapi_XmmsLoop(PyObject *o, visitproc v, void *a) {
48533 int e;
48534 struct __pyx_obj_7xmmsapi_XmmsLoop *p = (struct __pyx_obj_7xmmsapi_XmmsLoop *)o;
48535 e = __pyx_tp_traverse_7xmmsapi_XmmsCore(o, v, a); if (e) return e;
48536 if (p->wakeup) {
48537 e = (*v)(p->wakeup, a); if (e) return e;
48538 }
48539 return 0;
48540}
48541
48542static int __pyx_tp_clear_7xmmsapi_XmmsLoop(PyObject *o) {
48543 PyObject* tmp;
48544 struct __pyx_obj_7xmmsapi_XmmsLoop *p = (struct __pyx_obj_7xmmsapi_XmmsLoop *)o;
48545 __pyx_tp_clear_7xmmsapi_XmmsCore(o);
48546 tmp = ((PyObject*)p->wakeup);
48547 p->wakeup = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
48548 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
48549 return 0;
48550}
48551
48552static PyMethodDef __pyx_methods_7xmmsapi_XmmsLoop[] = {
48553 {__Pyx_NAMESTR("_loop_set_wakeup")("_loop_set_wakeup"), (PyCFunction)__pyx_pw_7xmmsapi_8XmmsLoop_3_loop_set_wakeup, METH_O0x0008, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_8XmmsLoop_2_loop_set_wakeup)(__pyx_doc_7xmmsapi_8XmmsLoop_2_loop_set_wakeup)},
48554 {__Pyx_NAMESTR("_loop_get_wakeup")("_loop_get_wakeup"), (PyCFunction)__pyx_pw_7xmmsapi_8XmmsLoop_5_loop_get_wakeup, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_8XmmsLoop_4_loop_get_wakeup)(__pyx_doc_7xmmsapi_8XmmsLoop_4_loop_get_wakeup)},
48555 {__Pyx_NAMESTR("exit_loop")("exit_loop"), (PyCFunction)__pyx_pw_7xmmsapi_8XmmsLoop_7exit_loop, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_8XmmsLoop_6exit_loop)(__pyx_doc_7xmmsapi_8XmmsLoop_6exit_loop)},
48556 {__Pyx_NAMESTR("loop_tickle")("loop_tickle"), (PyCFunction)__pyx_pw_7xmmsapi_8XmmsLoop_9loop_tickle, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_8XmmsLoop_8loop_tickle)(__pyx_doc_7xmmsapi_8XmmsLoop_8loop_tickle)},
48557 {__Pyx_NAMESTR("loop_iter")("loop_iter"), (PyCFunction)__pyx_pw_7xmmsapi_8XmmsLoop_11loop_iter, METH_VARARGS0x0001|METH_KEYWORDS0x0002, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_8XmmsLoop_10loop_iter)(__pyx_doc_7xmmsapi_8XmmsLoop_10loop_iter)},
48558 {__Pyx_NAMESTR("loop")("loop"), (PyCFunction)__pyx_pw_7xmmsapi_8XmmsLoop_13loop, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_8XmmsLoop_12loop)(__pyx_doc_7xmmsapi_8XmmsLoop_12loop)},
48559 {0, 0, 0, 0}
48560};
48561
48562static PyTypeObject __pyx_type_7xmmsapi_XmmsLoop = {
48563 PyVarObject_HEAD_INIT(0, 0)1, 0, 0,
48564 __Pyx_NAMESTR("xmmsapi.XmmsLoop")("xmmsapi.XmmsLoop"), /*tp_name*/
48565 sizeof(struct __pyx_obj_7xmmsapi_XmmsLoop), /*tp_basicsize*/
48566 0, /*tp_itemsize*/
48567 __pyx_tp_dealloc_7xmmsapi_XmmsLoop, /*tp_dealloc*/
48568 0, /*tp_print*/
48569 0, /*tp_getattr*/
48570 0, /*tp_setattr*/
48571 #if PY_MAJOR_VERSION2 < 3
48572 0, /*tp_compare*/
48573 #else
48574 0, /*reserved*/
48575 #endif
48576 0, /*tp_repr*/
48577 0, /*tp_as_number*/
48578 0, /*tp_as_sequence*/
48579 0, /*tp_as_mapping*/
48580 0, /*tp_hash*/
48581 0, /*tp_call*/
48582 0, /*tp_str*/
48583 0, /*tp_getattro*/
48584 0, /*tp_setattro*/
48585 0, /*tp_as_buffer*/
48586 Py_TPFLAGS_DEFAULT( (1L<<0) | (1L<<1) | (1L<<3) | (1L<<
5) | (1L<<6) | (1L<<7) | (1L<<8) | 0 | (1L<<
17) | 0)
|Py_TPFLAGS_HAVE_VERSION_TAG(1L<<18)|Py_TPFLAGS_CHECKTYPES(1L<<4)|Py_TPFLAGS_HAVE_NEWBUFFER(1L<<21)|Py_TPFLAGS_BASETYPE(1L<<10)|Py_TPFLAGS_HAVE_GC(1L<<14), /*tp_flags*/
48587 0, /*tp_doc*/
48588 __pyx_tp_traverse_7xmmsapi_XmmsLoop, /*tp_traverse*/
48589 __pyx_tp_clear_7xmmsapi_XmmsLoop, /*tp_clear*/
48590 0, /*tp_richcompare*/
48591 0, /*tp_weaklistoffset*/
48592 0, /*tp_iter*/
48593 0, /*tp_iternext*/
48594 __pyx_methods_7xmmsapi_XmmsLoop, /*tp_methods*/
48595 0, /*tp_members*/
48596 0, /*tp_getset*/
48597 0, /*tp_base*/
48598 0, /*tp_dict*/
48599 0, /*tp_descr_get*/
48600 0, /*tp_descr_set*/
48601 0, /*tp_dictoffset*/
48602 #if CYTHON_COMPILING_IN_PYPY0
48603 __pyx_pw_7xmmsapi_8XmmsCore_3__init__, /*tp_init*/
48604 #else
48605 0, /*tp_init*/
48606 #endif
48607 0, /*tp_alloc*/
48608 __pyx_tp_new_7xmmsapi_XmmsLoop, /*tp_new*/
48609 0, /*tp_free*/
48610 0, /*tp_is_gc*/
48611 0, /*tp_bases*/
48612 0, /*tp_mro*/
48613 0, /*tp_cache*/
48614 0, /*tp_subclasses*/
48615 0, /*tp_weaklist*/
48616 0, /*tp_del*/
48617 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x02060000
48618 0, /*tp_version_tag*/
48619 #endif
48620 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
48621 0, /*tp_finalize*/
48622 #endif
48623};
48624
48625static struct __pyx_obj_7xmmsapi___pyx_scope_struct__deprecated *__pyx_freelist_7xmmsapi___pyx_scope_struct__deprecated[8];
48626static int __pyx_freecount_7xmmsapi___pyx_scope_struct__deprecated = 0;
48627
48628static PyObject *__pyx_tp_new_7xmmsapi___pyx_scope_struct__deprecated(PyTypeObject *t, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *a, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *k) {
48629 PyObject *o;
48630 if (CYTHON_COMPILING_IN_CPYTHON1 && likely((__pyx_freecount_7xmmsapi___pyx_scope_struct__deprecated > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_7xmmsapi___pyx_scope_struct__deprecated)))__builtin_expect(!!((__pyx_freecount_7xmmsapi___pyx_scope_struct__deprecated
> 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_7xmmsapi___pyx_scope_struct__deprecated
))), 1)
) {
48631 o = (PyObject*)__pyx_freelist_7xmmsapi___pyx_scope_struct__deprecated[--__pyx_freecount_7xmmsapi___pyx_scope_struct__deprecated];
48632 memset(o, 0, sizeof(struct __pyx_obj_7xmmsapi___pyx_scope_struct__deprecated));
48633 (void) PyObject_INIT(o, t)( (((PyObject*)(o))->ob_type) = (t), ( (((PyObject*)((PyObject
*)(o)))->ob_refcnt) = 1), (o) )
;
48634 PyObject_GC_Track(o);
48635 } else {
48636 o = (*t->tp_alloc)(t, 0);
48637 if (unlikely(!o)__builtin_expect(!!(!o), 0)) return 0;
48638 }
48639 return o;
48640}
48641
48642static void __pyx_tp_dealloc_7xmmsapi___pyx_scope_struct__deprecated(PyObject *o) {
48643 struct __pyx_obj_7xmmsapi___pyx_scope_struct__deprecated *p = (struct __pyx_obj_7xmmsapi___pyx_scope_struct__deprecated *)o;
48644 PyObject_GC_UnTrack(o);
48645 Py_CLEAR(p->__pyx_v_f)do { if (p->__pyx_v_f) { PyObject *_py_tmp = (PyObject *)(
p->__pyx_v_f); (p->__pyx_v_f) = ((void*)0); do { if ( --
((PyObject*)(_py_tmp))->ob_refcnt != 0) ; else ( (*(((PyObject
*)((PyObject *)(_py_tmp)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(_py_tmp)))); } while (0); } } while (0)
;
48646 if (CYTHON_COMPILING_IN_CPYTHON1 && ((__pyx_freecount_7xmmsapi___pyx_scope_struct__deprecated < 8) & (Py_TYPE(o)(((PyObject*)(o))->ob_type)->tp_basicsize == sizeof(struct __pyx_obj_7xmmsapi___pyx_scope_struct__deprecated)))) {
48647 __pyx_freelist_7xmmsapi___pyx_scope_struct__deprecated[__pyx_freecount_7xmmsapi___pyx_scope_struct__deprecated++] = ((struct __pyx_obj_7xmmsapi___pyx_scope_struct__deprecated *)o);
48648 } else {
48649 (*Py_TYPE(o)(((PyObject*)(o))->ob_type)->tp_free)(o);
48650 }
48651}
48652
48653static int __pyx_tp_traverse_7xmmsapi___pyx_scope_struct__deprecated(PyObject *o, visitproc v, void *a) {
48654 int e;
48655 struct __pyx_obj_7xmmsapi___pyx_scope_struct__deprecated *p = (struct __pyx_obj_7xmmsapi___pyx_scope_struct__deprecated *)o;
48656 if (p->__pyx_v_f) {
48657 e = (*v)(p->__pyx_v_f, a); if (e) return e;
48658 }
48659 return 0;
48660}
48661
48662static int __pyx_tp_clear_7xmmsapi___pyx_scope_struct__deprecated(PyObject *o) {
48663 PyObject* tmp;
48664 struct __pyx_obj_7xmmsapi___pyx_scope_struct__deprecated *p = (struct __pyx_obj_7xmmsapi___pyx_scope_struct__deprecated *)o;
48665 tmp = ((PyObject*)p->__pyx_v_f);
48666 p->__pyx_v_f = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
48667 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
48668 return 0;
48669}
48670
48671static PyTypeObject __pyx_type_7xmmsapi___pyx_scope_struct__deprecated = {
48672 PyVarObject_HEAD_INIT(0, 0)1, 0, 0,
48673 __Pyx_NAMESTR("xmmsapi.__pyx_scope_struct__deprecated")("xmmsapi.__pyx_scope_struct__deprecated"), /*tp_name*/
48674 sizeof(struct __pyx_obj_7xmmsapi___pyx_scope_struct__deprecated), /*tp_basicsize*/
48675 0, /*tp_itemsize*/
48676 __pyx_tp_dealloc_7xmmsapi___pyx_scope_struct__deprecated, /*tp_dealloc*/
48677 0, /*tp_print*/
48678 0, /*tp_getattr*/
48679 0, /*tp_setattr*/
48680 #if PY_MAJOR_VERSION2 < 3
48681 0, /*tp_compare*/
48682 #else
48683 0, /*reserved*/
48684 #endif
48685 0, /*tp_repr*/
48686 0, /*tp_as_number*/
48687 0, /*tp_as_sequence*/
48688 0, /*tp_as_mapping*/
48689 0, /*tp_hash*/
48690 0, /*tp_call*/
48691 0, /*tp_str*/
48692 0, /*tp_getattro*/
48693 0, /*tp_setattro*/
48694 0, /*tp_as_buffer*/
48695 Py_TPFLAGS_DEFAULT( (1L<<0) | (1L<<1) | (1L<<3) | (1L<<
5) | (1L<<6) | (1L<<7) | (1L<<8) | 0 | (1L<<
17) | 0)
|Py_TPFLAGS_HAVE_VERSION_TAG(1L<<18)|Py_TPFLAGS_CHECKTYPES(1L<<4)|Py_TPFLAGS_HAVE_NEWBUFFER(1L<<21)|Py_TPFLAGS_HAVE_GC(1L<<14), /*tp_flags*/
48696 0, /*tp_doc*/
48697 __pyx_tp_traverse_7xmmsapi___pyx_scope_struct__deprecated, /*tp_traverse*/
48698 __pyx_tp_clear_7xmmsapi___pyx_scope_struct__deprecated, /*tp_clear*/
48699 0, /*tp_richcompare*/
48700 0, /*tp_weaklistoffset*/
48701 0, /*tp_iter*/
48702 0, /*tp_iternext*/
48703 0, /*tp_methods*/
48704 0, /*tp_members*/
48705 0, /*tp_getset*/
48706 0, /*tp_base*/
48707 0, /*tp_dict*/
48708 0, /*tp_descr_get*/
48709 0, /*tp_descr_set*/
48710 0, /*tp_dictoffset*/
48711 0, /*tp_init*/
48712 0, /*tp_alloc*/
48713 __pyx_tp_new_7xmmsapi___pyx_scope_struct__deprecated, /*tp_new*/
48714 0, /*tp_free*/
48715 0, /*tp_is_gc*/
48716 0, /*tp_bases*/
48717 0, /*tp_mro*/
48718 0, /*tp_cache*/
48719 0, /*tp_subclasses*/
48720 0, /*tp_weaklist*/
48721 0, /*tp_del*/
48722 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x02060000
48723 0, /*tp_version_tag*/
48724 #endif
48725 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
48726 0, /*tp_finalize*/
48727 #endif
48728};
48729
48730static struct __pyx_obj_7xmmsapi___pyx_scope_struct_1__update_api_callback *__pyx_freelist_7xmmsapi___pyx_scope_struct_1__update_api_callback[8];
48731static int __pyx_freecount_7xmmsapi___pyx_scope_struct_1__update_api_callback = 0;
48732
48733static PyObject *__pyx_tp_new_7xmmsapi___pyx_scope_struct_1__update_api_callback(PyTypeObject *t, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *a, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *k) {
48734 PyObject *o;
48735 if (CYTHON_COMPILING_IN_CPYTHON1 && likely((__pyx_freecount_7xmmsapi___pyx_scope_struct_1__update_api_callback > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_7xmmsapi___pyx_scope_struct_1__update_api_callback)))__builtin_expect(!!((__pyx_freecount_7xmmsapi___pyx_scope_struct_1__update_api_callback
> 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_7xmmsapi___pyx_scope_struct_1__update_api_callback
))), 1)
) {
48736 o = (PyObject*)__pyx_freelist_7xmmsapi___pyx_scope_struct_1__update_api_callback[--__pyx_freecount_7xmmsapi___pyx_scope_struct_1__update_api_callback];
48737 memset(o, 0, sizeof(struct __pyx_obj_7xmmsapi___pyx_scope_struct_1__update_api_callback));
48738 (void) PyObject_INIT(o, t)( (((PyObject*)(o))->ob_type) = (t), ( (((PyObject*)((PyObject
*)(o)))->ob_refcnt) = 1), (o) )
;
48739 PyObject_GC_Track(o);
48740 } else {
48741 o = (*t->tp_alloc)(t, 0);
48742 if (unlikely(!o)__builtin_expect(!!(!o), 0)) return 0;
48743 }
48744 return o;
48745}
48746
48747static void __pyx_tp_dealloc_7xmmsapi___pyx_scope_struct_1__update_api_callback(PyObject *o) {
48748 struct __pyx_obj_7xmmsapi___pyx_scope_struct_1__update_api_callback *p = (struct __pyx_obj_7xmmsapi___pyx_scope_struct_1__update_api_callback *)o;
48749 PyObject_GC_UnTrack(o);
48750 Py_CLEAR(p->__pyx_v_cb)do { if (p->__pyx_v_cb) { PyObject *_py_tmp = (PyObject *)
(p->__pyx_v_cb); (p->__pyx_v_cb) = ((void*)0); do { if (
--((PyObject*)(_py_tmp))->ob_refcnt != 0) ; else ( (*(((PyObject
*)((PyObject *)(_py_tmp)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(_py_tmp)))); } while (0); } } while (0)
;
48751 Py_CLEAR(p->__pyx_v_recursive)do { if (p->__pyx_v_recursive) { PyObject *_py_tmp = (PyObject
*)(p->__pyx_v_recursive); (p->__pyx_v_recursive) = ((void
*)0); do { if ( --((PyObject*)(_py_tmp))->ob_refcnt != 0) ;
else ( (*(((PyObject*)((PyObject *)(_py_tmp)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(_py_tmp)))); } while (0
); } } while (0)
;
48752 Py_CLEAR(p->__pyx_v_self)do { if (p->__pyx_v_self) { PyObject *_py_tmp = (PyObject *
)(p->__pyx_v_self); (p->__pyx_v_self) = ((void*)0); do {
if ( --((PyObject*)(_py_tmp))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(_py_tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(_py_tmp)))); } while (0); } } while
(0)
;
48753 if (CYTHON_COMPILING_IN_CPYTHON1 && ((__pyx_freecount_7xmmsapi___pyx_scope_struct_1__update_api_callback < 8) & (Py_TYPE(o)(((PyObject*)(o))->ob_type)->tp_basicsize == sizeof(struct __pyx_obj_7xmmsapi___pyx_scope_struct_1__update_api_callback)))) {
48754 __pyx_freelist_7xmmsapi___pyx_scope_struct_1__update_api_callback[__pyx_freecount_7xmmsapi___pyx_scope_struct_1__update_api_callback++] = ((struct __pyx_obj_7xmmsapi___pyx_scope_struct_1__update_api_callback *)o);
48755 } else {
48756 (*Py_TYPE(o)(((PyObject*)(o))->ob_type)->tp_free)(o);
48757 }
48758}
48759
48760static int __pyx_tp_traverse_7xmmsapi___pyx_scope_struct_1__update_api_callback(PyObject *o, visitproc v, void *a) {
48761 int e;
48762 struct __pyx_obj_7xmmsapi___pyx_scope_struct_1__update_api_callback *p = (struct __pyx_obj_7xmmsapi___pyx_scope_struct_1__update_api_callback *)o;
48763 if (p->__pyx_v_cb) {
48764 e = (*v)(p->__pyx_v_cb, a); if (e) return e;
48765 }
48766 if (p->__pyx_v_recursive) {
48767 e = (*v)(p->__pyx_v_recursive, a); if (e) return e;
48768 }
48769 if (p->__pyx_v_self) {
48770 e = (*v)(p->__pyx_v_self, a); if (e) return e;
48771 }
48772 return 0;
48773}
48774
48775static int __pyx_tp_clear_7xmmsapi___pyx_scope_struct_1__update_api_callback(PyObject *o) {
48776 PyObject* tmp;
48777 struct __pyx_obj_7xmmsapi___pyx_scope_struct_1__update_api_callback *p = (struct __pyx_obj_7xmmsapi___pyx_scope_struct_1__update_api_callback *)o;
48778 tmp = ((PyObject*)p->__pyx_v_cb);
48779 p->__pyx_v_cb = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
48780 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
48781 tmp = ((PyObject*)p->__pyx_v_recursive);
48782 p->__pyx_v_recursive = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
48783 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
48784 tmp = ((PyObject*)p->__pyx_v_self);
48785 p->__pyx_v_self = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
48786 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
48787 return 0;
48788}
48789
48790static PyTypeObject __pyx_type_7xmmsapi___pyx_scope_struct_1__update_api_callback = {
48791 PyVarObject_HEAD_INIT(0, 0)1, 0, 0,
48792 __Pyx_NAMESTR("xmmsapi.__pyx_scope_struct_1__update_api_callback")("xmmsapi.__pyx_scope_struct_1__update_api_callback"), /*tp_name*/
48793 sizeof(struct __pyx_obj_7xmmsapi___pyx_scope_struct_1__update_api_callback), /*tp_basicsize*/
48794 0, /*tp_itemsize*/
48795 __pyx_tp_dealloc_7xmmsapi___pyx_scope_struct_1__update_api_callback, /*tp_dealloc*/
48796 0, /*tp_print*/
48797 0, /*tp_getattr*/
48798 0, /*tp_setattr*/
48799 #if PY_MAJOR_VERSION2 < 3
48800 0, /*tp_compare*/
48801 #else
48802 0, /*reserved*/
48803 #endif
48804 0, /*tp_repr*/
48805 0, /*tp_as_number*/
48806 0, /*tp_as_sequence*/
48807 0, /*tp_as_mapping*/
48808 0, /*tp_hash*/
48809 0, /*tp_call*/
48810 0, /*tp_str*/
48811 0, /*tp_getattro*/
48812 0, /*tp_setattro*/
48813 0, /*tp_as_buffer*/
48814 Py_TPFLAGS_DEFAULT( (1L<<0) | (1L<<1) | (1L<<3) | (1L<<
5) | (1L<<6) | (1L<<7) | (1L<<8) | 0 | (1L<<
17) | 0)
|Py_TPFLAGS_HAVE_VERSION_TAG(1L<<18)|Py_TPFLAGS_CHECKTYPES(1L<<4)|Py_TPFLAGS_HAVE_NEWBUFFER(1L<<21)|Py_TPFLAGS_HAVE_GC(1L<<14), /*tp_flags*/
48815 0, /*tp_doc*/
48816 __pyx_tp_traverse_7xmmsapi___pyx_scope_struct_1__update_api_callback, /*tp_traverse*/
48817 __pyx_tp_clear_7xmmsapi___pyx_scope_struct_1__update_api_callback, /*tp_clear*/
48818 0, /*tp_richcompare*/
48819 0, /*tp_weaklistoffset*/
48820 0, /*tp_iter*/
48821 0, /*tp_iternext*/
48822 0, /*tp_methods*/
48823 0, /*tp_members*/
48824 0, /*tp_getset*/
48825 0, /*tp_base*/
48826 0, /*tp_dict*/
48827 0, /*tp_descr_get*/
48828 0, /*tp_descr_set*/
48829 0, /*tp_dictoffset*/
48830 0, /*tp_init*/
48831 0, /*tp_alloc*/
48832 __pyx_tp_new_7xmmsapi___pyx_scope_struct_1__update_api_callback, /*tp_new*/
48833 0, /*tp_free*/
48834 0, /*tp_is_gc*/
48835 0, /*tp_bases*/
48836 0, /*tp_mro*/
48837 0, /*tp_cache*/
48838 0, /*tp_subclasses*/
48839 0, /*tp_weaklist*/
48840 0, /*tp_del*/
48841 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x02060000
48842 0, /*tp_version_tag*/
48843 #endif
48844 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
48845 0, /*tp_finalize*/
48846 #endif
48847};
48848
48849static PyMethodDef __pyx_methods[] = {
48850 {__Pyx_NAMESTR("userconfdir_get")("userconfdir_get"), (PyCFunction)__pyx_pw_7xmmsapi_7userconfdir_get, METH_NOARGS0x0004, __Pyx_DOCSTR(__pyx_doc_7xmmsapi_6userconfdir_get)(__pyx_doc_7xmmsapi_6userconfdir_get)},
48851 {0, 0, 0, 0}
48852};
48853
48854#if PY_MAJOR_VERSION2 >= 3
48855static struct PyModuleDef __pyx_moduledef = {
48856 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
< 0x03020000
48857 { PyObject_HEAD_INIT(NULL)1, ((void*)0), NULL((void*)0), 0, NULL((void*)0) },
48858 #else
48859 PyModuleDef_HEAD_INIT,
48860 #endif
48861 __Pyx_NAMESTR("xmmsapi")("xmmsapi"),
48862 __Pyx_DOCSTR(__pyx_k_Python_bindings_for_XMMS2)(__pyx_k_Python_bindings_for_XMMS2), /* m_doc */
48863 -1, /* m_size */
48864 __pyx_methods /* m_methods */,
48865 NULL((void*)0), /* m_reload */
48866 NULL((void*)0), /* m_traverse */
48867 NULL((void*)0), /* m_clear */
48868 NULL((void*)0) /* m_free */
48869};
48870#endif
48871
48872static __Pyx_StringTabEntry __pyx_string_tab[] = {
48873 {&__pyx_kp_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 0},
48874 {&__pyx_n_s_ACTIVE_PLAYLIST, __pyx_k_ACTIVE_PLAYLIST, sizeof(__pyx_k_ACTIVE_PLAYLIST), 0, 0, 1, 1},
48875 {&__pyx_n_s_AttributeError, __pyx_k_AttributeError, sizeof(__pyx_k_AttributeError), 0, 0, 1, 1},
48876 {&__pyx_kp_s_Bad_namespace, __pyx_k_Bad_namespace, sizeof(__pyx_k_Bad_namespace), 0, 0, 1, 0},
48877 {&__pyx_kp_s_Bad_whence_parameter, __pyx_k_Bad_whence_parameter, sizeof(__pyx_k_Bad_whence_parameter), 0, 0, 1, 0},
48878 {&__pyx_kp_s_Broadcast_is_available_only_on_a, __pyx_k_Broadcast_is_available_only_on_a, sizeof(__pyx_k_Broadcast_is_available_only_on_a), 0, 0, 1, 0},
48879 {&__pyx_n_s_COLLECTION_CHANGED_ADD, __pyx_k_COLLECTION_CHANGED_ADD, sizeof(__pyx_k_COLLECTION_CHANGED_ADD), 0, 0, 1, 1},
48880 {&__pyx_n_s_COLLECTION_CHANGED_REMOVE, __pyx_k_COLLECTION_CHANGED_REMOVE, sizeof(__pyx_k_COLLECTION_CHANGED_REMOVE), 0, 0, 1, 1},
48881 {&__pyx_n_s_COLLECTION_CHANGED_RENAME, __pyx_k_COLLECTION_CHANGED_RENAME, sizeof(__pyx_k_COLLECTION_CHANGED_RENAME), 0, 0, 1, 1},
48882 {&__pyx_n_s_COLLECTION_CHANGED_UPDATE, __pyx_k_COLLECTION_CHANGED_UPDATE, sizeof(__pyx_k_COLLECTION_CHANGED_UPDATE), 0, 0, 1, 1},
48883 {&__pyx_n_s_COLLECTION_NS_ALL, __pyx_k_COLLECTION_NS_ALL, sizeof(__pyx_k_COLLECTION_NS_ALL), 0, 0, 1, 1},
48884 {&__pyx_n_s_COLLECTION_NS_COLLECTIONS, __pyx_k_COLLECTION_NS_COLLECTIONS, sizeof(__pyx_k_COLLECTION_NS_COLLECTIONS), 0, 0, 1, 1},
48885 {&__pyx_n_s_COLLECTION_NS_PLAYLISTS, __pyx_k_COLLECTION_NS_PLAYLISTS, sizeof(__pyx_k_COLLECTION_NS_PLAYLISTS), 0, 0, 1, 1},
48886 {&__pyx_n_s_Collections, __pyx_k_Collections, sizeof(__pyx_k_Collections), 0, 0, 1, 1},
48887 {&__pyx_kp_s_Couldn_t_connect_to_the_server, __pyx_k_Couldn_t_connect_to_the_server, sizeof(__pyx_k_Couldn_t_connect_to_the_server), 0, 0, 1, 0},
48888 {&__pyx_kp_s_DEPRECATED_s, __pyx_k_DEPRECATED_s, sizeof(__pyx_k_DEPRECATED_s), 0, 0, 1, 0},
48889 {&__pyx_n_s_Exception, __pyx_k_Exception, sizeof(__pyx_k_Exception), 0, 0, 1, 1},
48890 {&__pyx_kp_s_Failed_to_initialize_chunk_data, __pyx_k_Failed_to_initialize_chunk_data, sizeof(__pyx_k_Failed_to_initialize_chunk_data), 0, 0, 1, 0},
48891 {&__pyx_kp_s_Failed_to_initialize_xmmsclient, __pyx_k_Failed_to_initialize_xmmsclient, sizeof(__pyx_k_Failed_to_initialize_xmmsclient), 0, 0, 1, 0},
48892 {&__pyx_n_s_IOError, __pyx_k_IOError, sizeof(__pyx_k_IOError), 0, 0, 1, 1},
48893 {&__pyx_n_s_ImportError, __pyx_k_ImportError, sizeof(__pyx_k_ImportError), 0, 0, 1, 1},
48894 {&__pyx_kp_s_Internal_connection_reference_no, __pyx_k_Internal_connection_reference_no, sizeof(__pyx_k_Internal_connection_reference_no), 0, 0, 1, 0},
48895 {&__pyx_n_s_KeyError, __pyx_k_KeyError, sizeof(__pyx_k_KeyError), 0, 0, 1, 1},
48896 {&__pyx_n_s_MEDIALIB_ENTRY_STATUS_NEW, __pyx_k_MEDIALIB_ENTRY_STATUS_NEW, sizeof(__pyx_k_MEDIALIB_ENTRY_STATUS_NEW), 0, 0, 1, 1},
48897 {&__pyx_n_s_MEDIALIB_ENTRY_STATUS_NOT_AVAILA, __pyx_k_MEDIALIB_ENTRY_STATUS_NOT_AVAILA, sizeof(__pyx_k_MEDIALIB_ENTRY_STATUS_NOT_AVAILA), 0, 0, 1, 1},
48898 {&__pyx_n_s_MEDIALIB_ENTRY_STATUS_OK, __pyx_k_MEDIALIB_ENTRY_STATUS_OK, sizeof(__pyx_k_MEDIALIB_ENTRY_STATUS_OK), 0, 0, 1, 1},
48899 {&__pyx_n_s_MEDIALIB_ENTRY_STATUS_REHASH, __pyx_k_MEDIALIB_ENTRY_STATUS_REHASH, sizeof(__pyx_k_MEDIALIB_ENTRY_STATUS_REHASH), 0, 0, 1, 1},
48900 {&__pyx_n_s_MEDIALIB_ENTRY_STATUS_RESOLVING, __pyx_k_MEDIALIB_ENTRY_STATUS_RESOLVING, sizeof(__pyx_k_MEDIALIB_ENTRY_STATUS_RESOLVING), 0, 0, 1, 1},
48901 {&__pyx_kp_s_No_namespace_bound_to_broadcast, __pyx_k_No_namespace_bound_to_broadcast, sizeof(__pyx_k_No_namespace_bound_to_broadcast), 0, 0, 1, 0},
48902 {&__pyx_n_s_NotImplementedError, __pyx_k_NotImplementedError, sizeof(__pyx_k_NotImplementedError), 0, 0, 1, 1},
48903 {&__pyx_kp_s_Not_a_valid_Xmms_client_instance, __pyx_k_Not_a_valid_Xmms_client_instance, sizeof(__pyx_k_Not_a_valid_Xmms_client_instance), 0, 0, 1, 0},
48904 {&__pyx_n_s_PLAYBACK_SEEK_CUR, __pyx_k_PLAYBACK_SEEK_CUR, sizeof(__pyx_k_PLAYBACK_SEEK_CUR), 0, 0, 1, 1},
48905 {&__pyx_n_s_PLAYBACK_SEEK_SET, __pyx_k_PLAYBACK_SEEK_SET, sizeof(__pyx_k_PLAYBACK_SEEK_SET), 0, 0, 1, 1},
48906 {&__pyx_n_s_PLAYBACK_STATUS_PAUSE, __pyx_k_PLAYBACK_STATUS_PAUSE, sizeof(__pyx_k_PLAYBACK_STATUS_PAUSE), 0, 0, 1, 1},
48907 {&__pyx_n_s_PLAYBACK_STATUS_PLAY, __pyx_k_PLAYBACK_STATUS_PLAY, sizeof(__pyx_k_PLAYBACK_STATUS_PLAY), 0, 0, 1, 1},
48908 {&__pyx_n_s_PLAYBACK_STATUS_STOP, __pyx_k_PLAYBACK_STATUS_STOP, sizeof(__pyx_k_PLAYBACK_STATUS_STOP), 0, 0, 1, 1},
48909 {&__pyx_n_s_PLAYLIST_CHANGED_ADD, __pyx_k_PLAYLIST_CHANGED_ADD, sizeof(__pyx_k_PLAYLIST_CHANGED_ADD), 0, 0, 1, 1},
48910 {&__pyx_n_s_PLAYLIST_CHANGED_CLEAR, __pyx_k_PLAYLIST_CHANGED_CLEAR, sizeof(__pyx_k_PLAYLIST_CHANGED_CLEAR), 0, 0, 1, 1},
48911 {&__pyx_n_s_PLAYLIST_CHANGED_INSERT, __pyx_k_PLAYLIST_CHANGED_INSERT, sizeof(__pyx_k_PLAYLIST_CHANGED_INSERT), 0, 0, 1, 1},
48912 {&__pyx_n_s_PLAYLIST_CHANGED_MOVE, __pyx_k_PLAYLIST_CHANGED_MOVE, sizeof(__pyx_k_PLAYLIST_CHANGED_MOVE), 0, 0, 1, 1},
48913 {&__pyx_n_s_PLAYLIST_CHANGED_REMOVE, __pyx_k_PLAYLIST_CHANGED_REMOVE, sizeof(__pyx_k_PLAYLIST_CHANGED_REMOVE), 0, 0, 1, 1},
48914 {&__pyx_n_s_PLAYLIST_CHANGED_SHUFFLE, __pyx_k_PLAYLIST_CHANGED_SHUFFLE, sizeof(__pyx_k_PLAYLIST_CHANGED_SHUFFLE), 0, 0, 1, 1},
48915 {&__pyx_n_s_PLAYLIST_CHANGED_SORT, __pyx_k_PLAYLIST_CHANGED_SORT, sizeof(__pyx_k_PLAYLIST_CHANGED_SORT), 0, 0, 1, 1},
48916 {&__pyx_n_s_PLAYLIST_CHANGED_UPDATE, __pyx_k_PLAYLIST_CHANGED_UPDATE, sizeof(__pyx_k_PLAYLIST_CHANGED_UPDATE), 0, 0, 1, 1},
48917 {&__pyx_n_s_PLUGIN_TYPE_ALL, __pyx_k_PLUGIN_TYPE_ALL, sizeof(__pyx_k_PLUGIN_TYPE_ALL), 0, 0, 1, 1},
48918 {&__pyx_n_s_PLUGIN_TYPE_OUTPUT, __pyx_k_PLUGIN_TYPE_OUTPUT, sizeof(__pyx_k_PLUGIN_TYPE_OUTPUT), 0, 0, 1, 1},
48919 {&__pyx_n_s_PLUGIN_TYPE_XFORM, __pyx_k_PLUGIN_TYPE_XFORM, sizeof(__pyx_k_PLUGIN_TYPE_XFORM), 0, 0, 1, 1},
48920 {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1},
48921 {&__pyx_n_s_TYPES, __pyx_k_TYPES, sizeof(__pyx_k_TYPES), 0, 0, 1, 1},
48922 {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1},
48923 {&__pyx_kp_s_Type_s_is_not_callable, __pyx_k_Type_s_is_not_callable, sizeof(__pyx_k_Type_s_is_not_callable), 0, 0, 1, 0},
48924 {&__pyx_kp_s_UTF_8, __pyx_k_UTF_8, sizeof(__pyx_k_UTF_8), 0, 0, 1, 0},
48925 {&__pyx_kp_s_Uninitialized_result, __pyx_k_Uninitialized_result, sizeof(__pyx_k_Uninitialized_result), 0, 0, 1, 0},
48926 {&__pyx_n_s_UnnamedPythonClient, __pyx_k_UnnamedPythonClient, sizeof(__pyx_k_UnnamedPythonClient), 0, 0, 1, 1},
48927 {&__pyx_kp_s_Unrecoverable_error_in_visualiza, __pyx_k_Unrecoverable_error_in_visualiza, sizeof(__pyx_k_Unrecoverable_error_in_visualiza), 0, 0, 1, 0},
48928 {&__pyx_kp_s_Unsupported_argument_type_s, __pyx_k_Unsupported_argument_type_s, sizeof(__pyx_k_Unsupported_argument_type_s), 0, 0, 1, 0},
48929 {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1},
48930 {&__pyx_n_s_VisualizationError, __pyx_k_VisualizationError, sizeof(__pyx_k_VisualizationError), 0, 0, 1, 1},
48931 {&__pyx_n_s_XMMS_PYTHON_SHOW_DEPRECATED, __pyx_k_XMMS_PYTHON_SHOW_DEPRECATED, sizeof(__pyx_k_XMMS_PYTHON_SHOW_DEPRECATED), 0, 0, 1, 1},
48932 {&__pyx_n_s_Xmms, __pyx_k_Xmms, sizeof(__pyx_k_Xmms), 0, 0, 1, 1},
48933 {&__pyx_n_s_XmmsDisconnectException, __pyx_k_XmmsDisconnectException, sizeof(__pyx_k_XmmsDisconnectException), 0, 0, 1, 1},
48934 {&__pyx_n_s_XmmsServiceClient, __pyx_k_XmmsServiceClient, sizeof(__pyx_k_XmmsServiceClient), 0, 0, 1, 1},
48935 {&__pyx_n_s_XmmsServiceClient___call, __pyx_k_XmmsServiceClient___call, sizeof(__pyx_k_XmmsServiceClient___call), 0, 0, 1, 1},
48936 {&__pyx_n_s_XmmsServiceClient__update_api, __pyx_k_XmmsServiceClient__update_api, sizeof(__pyx_k_XmmsServiceClient__update_api), 0, 0, 1, 1},
48937 {&__pyx_n_s_XmmsServiceClient__update_api_ca, __pyx_k_XmmsServiceClient__update_api_ca, sizeof(__pyx_k_XmmsServiceClient__update_api_ca), 0, 0, 1, 1},
48938 {&__pyx_n_s_XmmsServiceClient__update_api_ca_2, __pyx_k_XmmsServiceClient__update_api_ca_2, sizeof(__pyx_k_XmmsServiceClient__update_api_ca_2), 0, 0, 1, 1},
48939 {&__pyx_kp_s__15, __pyx_k__15, sizeof(__pyx_k__15), 0, 0, 1, 0},
48940 {&__pyx_n_s__17, __pyx_k__17, sizeof(__pyx_k__17), 0, 0, 1, 1},
48941 {&__pyx_kp_s__31, __pyx_k__31, sizeof(__pyx_k__31), 0, 0, 1, 0},
48942 {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1},
48943 {&__pyx_n_s_add, __pyx_k_add, sizeof(__pyx_k_add), 0, 0, 1, 1},
48944 {&__pyx_n_s_append, __pyx_k_append, sizeof(__pyx_k_append), 0, 0, 1, 1},
48945 {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1},
48946 {&__pyx_n_s_ascii, __pyx_k_ascii, sizeof(__pyx_k_ascii), 0, 0, 1, 1},
48947 {&__pyx_n_s_async, __pyx_k_async, sizeof(__pyx_k_async), 0, 0, 1, 1},
48948 {&__pyx_n_s_bc, __pyx_k_bc, sizeof(__pyx_k_bc), 0, 0, 1, 1},
48949 {&__pyx_n_s_bindata_add, __pyx_k_bindata_add, sizeof(__pyx_k_bindata_add), 0, 0, 1, 1},
48950 {&__pyx_n_s_bindata_list, __pyx_k_bindata_list, sizeof(__pyx_k_bindata_list), 0, 0, 1, 1},
48951 {&__pyx_n_s_bindata_remove, __pyx_k_bindata_remove, sizeof(__pyx_k_bindata_remove), 0, 0, 1, 1},
48952 {&__pyx_n_s_bindata_retrieve, __pyx_k_bindata_retrieve, sizeof(__pyx_k_bindata_retrieve), 0, 0, 1, 1},
48953 {&__pyx_n_s_blocking, __pyx_k_blocking, sizeof(__pyx_k_blocking), 0, 0, 1, 1},
48954 {&__pyx_n_s_broadcast, __pyx_k_broadcast, sizeof(__pyx_k_broadcast), 0, 0, 1, 1},
48955 {&__pyx_n_s_broadcast_c2c_client_connected, __pyx_k_broadcast_c2c_client_connected, sizeof(__pyx_k_broadcast_c2c_client_connected), 0, 0, 1, 1},
48956 {&__pyx_n_s_broadcast_c2c_client_disconnecte, __pyx_k_broadcast_c2c_client_disconnecte, sizeof(__pyx_k_broadcast_c2c_client_disconnecte), 0, 0, 1, 1},
48957 {&__pyx_n_s_broadcast_c2c_ready, __pyx_k_broadcast_c2c_ready, sizeof(__pyx_k_broadcast_c2c_ready), 0, 0, 1, 1},
48958 {&__pyx_n_s_broadcast_collection_changed, __pyx_k_broadcast_collection_changed, sizeof(__pyx_k_broadcast_collection_changed), 0, 0, 1, 1},
48959 {&__pyx_n_s_broadcast_config_value_changed, __pyx_k_broadcast_config_value_changed, sizeof(__pyx_k_broadcast_config_value_changed), 0, 0, 1, 1},
48960 {&__pyx_n_s_broadcast_mediainfo_reader_statu, __pyx_k_broadcast_mediainfo_reader_statu, sizeof(__pyx_k_broadcast_mediainfo_reader_statu), 0, 0, 1, 1},
48961 {&__pyx_n_s_broadcast_medialib_entry_added, __pyx_k_broadcast_medialib_entry_added, sizeof(__pyx_k_broadcast_medialib_entry_added), 0, 0, 1, 1},
48962 {&__pyx_n_s_broadcast_medialib_entry_changed, __pyx_k_broadcast_medialib_entry_changed, sizeof(__pyx_k_broadcast_medialib_entry_changed), 0, 0, 1, 1},
48963 {&__pyx_n_s_broadcast_medialib_entry_removed, __pyx_k_broadcast_medialib_entry_removed, sizeof(__pyx_k_broadcast_medialib_entry_removed), 0, 0, 1, 1},
48964 {&__pyx_n_s_broadcast_medialib_entry_updated, __pyx_k_broadcast_medialib_entry_updated, sizeof(__pyx_k_broadcast_medialib_entry_updated), 0, 0, 1, 1},
48965 {&__pyx_n_s_broadcast_playback_current_id, __pyx_k_broadcast_playback_current_id, sizeof(__pyx_k_broadcast_playback_current_id), 0, 0, 1, 1},
48966 {&__pyx_n_s_broadcast_playback_status, __pyx_k_broadcast_playback_status, sizeof(__pyx_k_broadcast_playback_status), 0, 0, 1, 1},
48967 {&__pyx_n_s_broadcast_playback_volume_change, __pyx_k_broadcast_playback_volume_change, sizeof(__pyx_k_broadcast_playback_volume_change), 0, 0, 1, 1},
48968 {&__pyx_n_s_broadcast_playlist_changed, __pyx_k_broadcast_playlist_changed, sizeof(__pyx_k_broadcast_playlist_changed), 0, 0, 1, 1},
48969 {&__pyx_n_s_broadcast_playlist_current_pos, __pyx_k_broadcast_playlist_current_pos, sizeof(__pyx_k_broadcast_playlist_current_pos), 0, 0, 1, 1},
48970 {&__pyx_n_s_broadcast_playlist_loaded, __pyx_k_broadcast_playlist_loaded, sizeof(__pyx_k_broadcast_playlist_loaded), 0, 0, 1, 1},
48971 {&__pyx_kp_s_broadcast_s_on_client_d, __pyx_k_broadcast_s_on_client_d, sizeof(__pyx_k_broadcast_s_on_client_d), 0, 0, 1, 0},
48972 {&__pyx_n_s_broadcasts, __pyx_k_broadcasts, sizeof(__pyx_k_broadcasts), 0, 0, 1, 1},
48973 {&__pyx_n_s_c, __pyx_k_c, sizeof(__pyx_k_c), 0, 0, 1, 1},
48974 {&__pyx_n_s_c2c_get_connected_clients, __pyx_k_c2c_get_connected_clients, sizeof(__pyx_k_c2c_get_connected_clients), 0, 0, 1, 1},
48975 {&__pyx_n_s_c2c_get_own_id, __pyx_k_c2c_get_own_id, sizeof(__pyx_k_c2c_get_own_id), 0, 0, 1, 1},
48976 {&__pyx_n_s_c2c_get_ready_clients, __pyx_k_c2c_get_ready_clients, sizeof(__pyx_k_c2c_get_ready_clients), 0, 0, 1, 1},
48977 {&__pyx_n_s_c2c_ready, __pyx_k_c2c_ready, sizeof(__pyx_k_c2c_ready), 0, 0, 1, 1},
48978 {&__pyx_n_s_call, __pyx_k_call, sizeof(__pyx_k_call), 0, 0, 1, 1},
48979 {&__pyx_n_s_call_2, __pyx_k_call_2, sizeof(__pyx_k_call_2), 0, 0, 1, 1},
48980 {&__pyx_n_s_callback, __pyx_k_callback, sizeof(__pyx_k_callback), 0, 0, 1, 1},
48981 {&__pyx_n_s_callback_2, __pyx_k_callback_2, sizeof(__pyx_k_callback_2), 0, 0, 1, 1},
48982 {&__pyx_n_s_cb, __pyx_k_cb, sizeof(__pyx_k_cb), 0, 0, 1, 1},
48983 {&__pyx_n_s_channel, __pyx_k_channel, sizeof(__pyx_k_channel), 0, 0, 1, 1},
48984 {&__pyx_kp_s_chunk_data_not_initialized, __pyx_k_chunk_data_not_initialized, sizeof(__pyx_k_chunk_data_not_initialized), 0, 0, 1, 0},
48985 {&__pyx_n_s_class, __pyx_k_class, sizeof(__pyx_k_class), 0, 0, 1, 1},
48986 {&__pyx_kp_s_client, __pyx_k_client, sizeof(__pyx_k_client), 0, 0, 1, 0},
48987 {&__pyx_n_s_clientid, __pyx_k_clientid, sizeof(__pyx_k_clientid), 0, 0, 1, 1},
48988 {&__pyx_n_s_clientid_2, __pyx_k_clientid_2, sizeof(__pyx_k_clientid_2), 0, 0, 1, 1},
48989 {&__pyx_n_s_clientname, __pyx_k_clientname, sizeof(__pyx_k_clientname), 0, 0, 1, 1},
48990 {&__pyx_n_s_coll, __pyx_k_coll, sizeof(__pyx_k_coll), 0, 0, 1, 1},
48991 {&__pyx_n_s_coll_get, __pyx_k_coll_get, sizeof(__pyx_k_coll_get), 0, 0, 1, 1},
48992 {&__pyx_n_s_coll_idlist_from_playlist_file, __pyx_k_coll_idlist_from_playlist_file, sizeof(__pyx_k_coll_idlist_from_playlist_file), 0, 0, 1, 1},
48993 {&__pyx_n_s_coll_list, __pyx_k_coll_list, sizeof(__pyx_k_coll_list), 0, 0, 1, 1},
48994 {&__pyx_n_s_coll_query, __pyx_k_coll_query, sizeof(__pyx_k_coll_query), 0, 0, 1, 1},
48995 {&__pyx_n_s_coll_query_ids, __pyx_k_coll_query_ids, sizeof(__pyx_k_coll_query_ids), 0, 0, 1, 1},
48996 {&__pyx_n_s_coll_query_infos, __pyx_k_coll_query_infos, sizeof(__pyx_k_coll_query_infos), 0, 0, 1, 1},
48997 {&__pyx_n_s_coll_remove, __pyx_k_coll_remove, sizeof(__pyx_k_coll_remove), 0, 0, 1, 1},
48998 {&__pyx_n_s_coll_rename, __pyx_k_coll_rename, sizeof(__pyx_k_coll_rename), 0, 0, 1, 1},
48999 {&__pyx_n_s_coll_save, __pyx_k_coll_save, sizeof(__pyx_k_coll_save), 0, 0, 1, 1},
49000 {&__pyx_n_s_config_get_value, __pyx_k_config_get_value, sizeof(__pyx_k_config_get_value), 0, 0, 1, 1},
49001 {&__pyx_n_s_config_list_values, __pyx_k_config_list_values, sizeof(__pyx_k_config_list_values), 0, 0, 1, 1},
49002 {&__pyx_n_s_config_register_value, __pyx_k_config_register_value, sizeof(__pyx_k_config_register_value), 0, 0, 1, 1},
49003 {&__pyx_n_s_config_set_value, __pyx_k_config_set_value, sizeof(__pyx_k_config_set_value), 0, 0, 1, 1},
49004 {&__pyx_n_s_connect, __pyx_k_connect, sizeof(__pyx_k_connect), 0, 0, 1, 1},
49005 {&__pyx_n_s_constant, __pyx_k_constant, sizeof(__pyx_k_constant), 0, 0, 1, 1},
49006 {&__pyx_n_s_constants, __pyx_k_constants, sizeof(__pyx_k_constants), 0, 0, 1, 1},
49007 {&__pyx_n_s_cur_pos, __pyx_k_cur_pos, sizeof(__pyx_k_cur_pos), 0, 0, 1, 1},
49008 {&__pyx_n_s_cxvalue, __pyx_k_cxvalue, sizeof(__pyx_k_cxvalue), 0, 0, 1, 1},
49009 {&__pyx_n_s_d, __pyx_k_d, sizeof(__pyx_k_d), 0, 0, 1, 1},
49010 {&__pyx_n_s_data, __pyx_k_data, sizeof(__pyx_k_data), 0, 0, 1, 1},
49011 {&__pyx_n_s_deep, __pyx_k_deep, sizeof(__pyx_k_deep), 0, 0, 1, 1},
49012 {&__pyx_n_s_default, __pyx_k_default, sizeof(__pyx_k_default), 0, 0, 1, 1},
49013 {&__pyx_n_s_defaultvalue, __pyx_k_defaultvalue, sizeof(__pyx_k_defaultvalue), 0, 0, 1, 1},
49014 {&__pyx_n_s_deprecated, __pyx_k_deprecated, sizeof(__pyx_k_deprecated), 0, 0, 1, 1},
49015 {&__pyx_n_s_deprecated_decorator, __pyx_k_deprecated_decorator, sizeof(__pyx_k_deprecated_decorator), 0, 0, 1, 1},
49016 {&__pyx_n_s_deprecated_locals_deprecated_dec, __pyx_k_deprecated_locals_deprecated_dec, sizeof(__pyx_k_deprecated_locals_deprecated_dec), 0, 0, 1, 1},
49017 {&__pyx_n_s_depth, __pyx_k_depth, sizeof(__pyx_k_depth), 0, 0, 1, 1},
49018 {&__pyx_n_s_dest, __pyx_k_dest, sizeof(__pyx_k_dest), 0, 0, 1, 1},
49019 {&__pyx_n_s_dict, __pyx_k_dict, sizeof(__pyx_k_dict), 0, 0, 1, 1},
49020 {&__pyx_n_s_disconnect, __pyx_k_disconnect, sizeof(__pyx_k_disconnect), 0, 0, 1, 1},
49021 {&__pyx_n_s_disconnect_cb, __pyx_k_disconnect_cb, sizeof(__pyx_k_disconnect_cb), 0, 0, 1, 1},
49022 {&__pyx_n_s_disconnect_func, __pyx_k_disconnect_func, sizeof(__pyx_k_disconnect_func), 0, 0, 1, 1},
49023 {&__pyx_n_s_doc, __pyx_k_doc, sizeof(__pyx_k_doc), 0, 0, 1, 1},
49024 {&__pyx_n_s_doc_2, __pyx_k_doc_2, sizeof(__pyx_k_doc_2), 0, 0, 1, 1},
49025 {&__pyx_n_s_docstring, __pyx_k_docstring, sizeof(__pyx_k_docstring), 0, 0, 1, 1},
49026 {&__pyx_n_s_drawtime, __pyx_k_drawtime, sizeof(__pyx_k_drawtime), 0, 0, 1, 1},
49027 {&__pyx_n_s_emit, __pyx_k_emit, sizeof(__pyx_k_emit), 0, 0, 1, 1},
49028 {&__pyx_n_s_encode, __pyx_k_encode, sizeof(__pyx_k_encode), 0, 0, 1, 1},
49029 {&__pyx_n_s_encoded, __pyx_k_encoded, sizeof(__pyx_k_encoded), 0, 0, 1, 1},
49030 {&__pyx_n_s_end, __pyx_k_end, sizeof(__pyx_k_end), 0, 0, 1, 1},
49031 {&__pyx_n_s_enforce_unicode, __pyx_k_enforce_unicode, sizeof(__pyx_k_enforce_unicode), 0, 0, 1, 1},
49032 {&__pyx_n_s_entity, __pyx_k_entity, sizeof(__pyx_k_entity), 0, 0, 1, 1},
49033 {&__pyx_n_s_errfd, __pyx_k_errfd, sizeof(__pyx_k_errfd), 0, 0, 1, 1},
49034 {&__pyx_n_s_exc_info, __pyx_k_exc_info, sizeof(__pyx_k_exc_info), 0, 0, 1, 1},
49035 {&__pyx_kp_s_expected_str_s_found, __pyx_k_expected_str_s_found, sizeof(__pyx_k_expected_str_s_found), 0, 0, 1, 0},
49036 {&__pyx_n_s_f, __pyx_k_f, sizeof(__pyx_k_f), 0, 0, 1, 1},
49037 {&__pyx_n_s_fb, __pyx_k_fb, sizeof(__pyx_k_fb), 0, 0, 1, 1},
49038 {&__pyx_n_s_fetch, __pyx_k_fetch, sizeof(__pyx_k_fetch), 0, 0, 1, 1},
49039 {&__pyx_n_s_fields, __pyx_k_fields, sizeof(__pyx_k_fields), 0, 0, 1, 1},
49040 {&__pyx_n_s_file, __pyx_k_file, sizeof(__pyx_k_file), 0, 0, 1, 1},
49041 {&__pyx_n_s_float, __pyx_k_float, sizeof(__pyx_k_float), 0, 0, 1, 1},
49042 {&__pyx_n_s_get, __pyx_k_get, sizeof(__pyx_k_get), 0, 0, 1, 1},
49043 {&__pyx_n_s_get_buffer, __pyx_k_get_buffer, sizeof(__pyx_k_get_buffer), 0, 0, 1, 1},
49044 {&__pyx_n_s_get_data, __pyx_k_get_data, sizeof(__pyx_k_get_data), 0, 0, 1, 1},
49045 {&__pyx_n_s_get_dict, __pyx_k_get_dict, sizeof(__pyx_k_get_dict), 0, 0, 1, 1},
49046 {&__pyx_n_s_get_error, __pyx_k_get_error, sizeof(__pyx_k_get_error), 0, 0, 1, 1},
49047 {&__pyx_n_s_get_fd, __pyx_k_get_fd, sizeof(__pyx_k_get_fd), 0, 0, 1, 1},
49048 {&__pyx_n_s_get_source_preference, __pyx_k_get_source_preference, sizeof(__pyx_k_get_source_preference), 0, 0, 1, 1},
49049 {&__pyx_n_s_get_type, __pyx_k_get_type, sizeof(__pyx_k_get_type), 0, 0, 1, 1},
49050 {&__pyx_n_s_getenv, __pyx_k_getenv, sizeof(__pyx_k_getenv), 0, 0, 1, 1},
49051 {&__pyx_n_s_groupby, __pyx_k_groupby, sizeof(__pyx_k_groupby), 0, 0, 1, 1},
49052 {&__pyx_n_s_handle, __pyx_k_handle, sizeof(__pyx_k_handle), 0, 0, 1, 1},
49053 {&__pyx_n_s_hash, __pyx_k_hash, sizeof(__pyx_k_hash), 0, 0, 1, 1},
49054 {&__pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_k_home_travis_build_dsvensson_xmm, sizeof(__pyx_k_home_travis_build_dsvensson_xmm), 0, 0, 1, 0},
49055 {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1},
49056 {&__pyx_n_s_id, __pyx_k_id, sizeof(__pyx_k_id), 0, 0, 1, 1},
49057 {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},
49058 {&__pyx_n_s_infd, __pyx_k_infd, sizeof(__pyx_k_infd), 0, 0, 1, 1},
49059 {&__pyx_n_s_infos, __pyx_k_infos, sizeof(__pyx_k_infos), 0, 0, 1, 1},
49060 {&__pyx_n_s_init, __pyx_k_init, sizeof(__pyx_k_init), 0, 0, 1, 1},
49061 {&__pyx_n_s_insert, __pyx_k_insert, sizeof(__pyx_k_insert), 0, 0, 1, 1},
49062 {&__pyx_n_s_inspect, __pyx_k_inspect, sizeof(__pyx_k_inspect), 0, 0, 1, 1},
49063 {&__pyx_n_s_instance, __pyx_k_instance, sizeof(__pyx_k_instance), 0, 0, 1, 1},
49064 {&__pyx_n_s_integer, __pyx_k_integer, sizeof(__pyx_k_integer), 0, 0, 1, 1},
49065 {&__pyx_n_s_ioin, __pyx_k_ioin, sizeof(__pyx_k_ioin), 0, 0, 1, 1},
49066 {&__pyx_n_s_ioout, __pyx_k_ioout, sizeof(__pyx_k_ioout), 0, 0, 1, 1},
49067 {&__pyx_n_s_is_error, __pyx_k_is_error, sizeof(__pyx_k_is_error), 0, 0, 1, 1},
49068 {&__pyx_n_s_iserror, __pyx_k_iserror, sizeof(__pyx_k_iserror), 0, 0, 1, 1},
49069 {&__pyx_n_s_items, __pyx_k_items, sizeof(__pyx_k_items), 0, 0, 1, 1},
49070 {&__pyx_n_s_join, __pyx_k_join, sizeof(__pyx_k_join), 0, 0, 1, 1},
49071 {&__pyx_n_s_kargs, __pyx_k_kargs, sizeof(__pyx_k_kargs), 0, 0, 1, 1},
49072 {&__pyx_n_s_key, __pyx_k_key, sizeof(__pyx_k_key), 0, 0, 1, 1},
49073 {&__pyx_n_s_kw, __pyx_k_kw, sizeof(__pyx_k_kw), 0, 0, 1, 1},
49074 {&__pyx_n_s_l, __pyx_k_l, sizeof(__pyx_k_l), 0, 0, 1, 1},
49075 {&__pyx_n_s_leng, __pyx_k_leng, sizeof(__pyx_k_leng), 0, 0, 1, 1},
49076 {&__pyx_n_s_list, __pyx_k_list, sizeof(__pyx_k_list), 0, 0, 1, 1},
49077 {&__pyx_n_s_loop_get_wakeup, __pyx_k_loop_get_wakeup, sizeof(__pyx_k_loop_get_wakeup), 0, 0, 1, 1},
49078 {&__pyx_n_s_loop_iter, __pyx_k_loop_iter, sizeof(__pyx_k_loop_iter), 0, 0, 1, 1},
49079 {&__pyx_n_s_loop_set_wakeup, __pyx_k_loop_set_wakeup, sizeof(__pyx_k_loop_set_wakeup), 0, 0, 1, 1},
49080 {&__pyx_n_s_loop_tickle, __pyx_k_loop_tickle, sizeof(__pyx_k_loop_tickle), 0, 0, 1, 1},
49081 {&__pyx_n_s_lower, __pyx_k_lower, sizeof(__pyx_k_lower), 0, 0, 1, 1},
49082 {&__pyx_n_s_m, __pyx_k_m, sizeof(__pyx_k_m), 0, 0, 1, 1},
49083 {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1},
49084 {&__pyx_n_s_medialib_add_entry, __pyx_k_medialib_add_entry, sizeof(__pyx_k_medialib_add_entry), 0, 0, 1, 1},
49085 {&__pyx_n_s_medialib_add_entry_encoded, __pyx_k_medialib_add_entry_encoded, sizeof(__pyx_k_medialib_add_entry_encoded), 0, 0, 1, 1},
49086 {&__pyx_n_s_medialib_get_id, __pyx_k_medialib_get_id, sizeof(__pyx_k_medialib_get_id), 0, 0, 1, 1},
49087 {&__pyx_n_s_medialib_get_info, __pyx_k_medialib_get_info, sizeof(__pyx_k_medialib_get_info), 0, 0, 1, 1},
49088 {&__pyx_n_s_medialib_import_path, __pyx_k_medialib_import_path, sizeof(__pyx_k_medialib_import_path), 0, 0, 1, 1},
49089 {&__pyx_n_s_medialib_move_entry, __pyx_k_medialib_move_entry, sizeof(__pyx_k_medialib_move_entry), 0, 0, 1, 1},
49090 {&__pyx_n_s_medialib_path_import, __pyx_k_medialib_path_import, sizeof(__pyx_k_medialib_path_import), 0, 0, 1, 1},
49091 {&__pyx_n_s_medialib_path_import_encoded, __pyx_k_medialib_path_import_encoded, sizeof(__pyx_k_medialib_path_import_encoded), 0, 0, 1, 1},
49092 {&__pyx_n_s_medialib_property_remove, __pyx_k_medialib_property_remove, sizeof(__pyx_k_medialib_property_remove), 0, 0, 1, 1},
49093 {&__pyx_n_s_medialib_property_set, __pyx_k_medialib_property_set, sizeof(__pyx_k_medialib_property_set), 0, 0, 1, 1},
49094 {&__pyx_n_s_medialib_rehash, __pyx_k_medialib_rehash, sizeof(__pyx_k_medialib_rehash), 0, 0, 1, 1},
49095 {&__pyx_n_s_medialib_remove_entry, __pyx_k_medialib_remove_entry, sizeof(__pyx_k_medialib_remove_entry), 0, 0, 1, 1},
49096 {&__pyx_n_s_metaclass, __pyx_k_metaclass, sizeof(__pyx_k_metaclass), 0, 0, 1, 1},
49097 {&__pyx_n_s_meth, __pyx_k_meth, sizeof(__pyx_k_meth), 0, 0, 1, 1},
49098 {&__pyx_n_s_method, __pyx_k_method, sizeof(__pyx_k_method), 0, 0, 1, 1},
49099 {&__pyx_n_s_method_arg, __pyx_k_method_arg, sizeof(__pyx_k_method_arg), 0, 0, 1, 1},
49100 {&__pyx_n_s_method_arg___init, __pyx_k_method_arg___init, sizeof(__pyx_k_method_arg___init), 0, 0, 1, 1},
49101 {&__pyx_kp_s_method_s_on_client_d, __pyx_k_method_s_on_client_d, sizeof(__pyx_k_method_s_on_client_d), 0, 0, 1, 0},
49102 {&__pyx_n_s_method_varg, __pyx_k_method_varg, sizeof(__pyx_k_method_varg), 0, 0, 1, 1},
49103 {&__pyx_n_s_method_varg___init, __pyx_k_method_varg___init, sizeof(__pyx_k_method_varg___init), 0, 0, 1, 1},
49104 {&__pyx_n_s_methods, __pyx_k_methods, sizeof(__pyx_k_methods), 0, 0, 1, 1},
49105 {&__pyx_n_s_module, __pyx_k_module, sizeof(__pyx_k_module), 0, 0, 1, 1},
49106 {&__pyx_n_s_ms, __pyx_k_ms, sizeof(__pyx_k_ms), 0, 0, 1, 1},
49107 {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1},
49108 {&__pyx_n_s_name_2, __pyx_k_name_2, sizeof(__pyx_k_name_2), 0, 0, 1, 1},
49109 {&__pyx_n_s_named, __pyx_k_named, sizeof(__pyx_k_named), 0, 0, 1, 1},
49110 {&__pyx_n_s_namespace, __pyx_k_namespace, sizeof(__pyx_k_namespace), 0, 0, 1, 1},
49111 {&__pyx_n_s_namespace_path, __pyx_k_namespace_path, sizeof(__pyx_k_namespace_path), 0, 0, 1, 1},
49112 {&__pyx_kp_s_namespace_s_on_client_d, __pyx_k_namespace_s_on_client_d, sizeof(__pyx_k_namespace_s_on_client_d), 0, 0, 1, 0},
49113 {&__pyx_n_s_namespaces, __pyx_k_namespaces, sizeof(__pyx_k_namespaces), 0, 0, 1, 1},
49114 {&__pyx_n_s_needout_cb, __pyx_k_needout_cb, sizeof(__pyx_k_needout_cb), 0, 0, 1, 1},
49115 {&__pyx_n_s_new_pos, __pyx_k_new_pos, sizeof(__pyx_k_new_pos), 0, 0, 1, 1},
49116 {&__pyx_n_s_newname, __pyx_k_newname, sizeof(__pyx_k_newname), 0, 0, 1, 1},
49117 {&__pyx_n_s_noop, __pyx_k_noop, sizeof(__pyx_k_noop), 0, 0, 1, 1},
49118 {&__pyx_n_s_ns, __pyx_k_ns, sizeof(__pyx_k_ns), 0, 0, 1, 1},
49119 {&__pyx_n_s_o, __pyx_k_o, sizeof(__pyx_k_o), 0, 0, 1, 1},
49120 {&__pyx_n_s_oldname, __pyx_k_oldname, sizeof(__pyx_k_oldname), 0, 0, 1, 1},
49121 {&__pyx_n_s_order, __pyx_k_order, sizeof(__pyx_k_order), 0, 0, 1, 1},
49122 {&__pyx_n_s_os, __pyx_k_os, sizeof(__pyx_k_os), 0, 0, 1, 1},
49123 {&__pyx_n_s_other, __pyx_k_other, sizeof(__pyx_k_other), 0, 0, 1, 1},
49124 {&__pyx_n_s_outfd, __pyx_k_outfd, sizeof(__pyx_k_outfd), 0, 0, 1, 1},
49125 {&__pyx_n_s_parent, __pyx_k_parent, sizeof(__pyx_k_parent), 0, 0, 1, 1},
49126 {&__pyx_n_s_path, __pyx_k_path, sizeof(__pyx_k_path), 0, 0, 1, 1},
49127 {&__pyx_n_s_path_2, __pyx_k_path_2, sizeof(__pyx_k_path_2), 0, 0, 1, 1},
49128 {&__pyx_n_s_payload, __pyx_k_payload, sizeof(__pyx_k_payload), 0, 0, 1, 1},
49129 {&__pyx_n_s_pipe, __pyx_k_pipe, sizeof(__pyx_k_pipe), 0, 0, 1, 1},
49130 {&__pyx_n_s_playback_current_id, __pyx_k_playback_current_id, sizeof(__pyx_k_playback_current_id), 0, 0, 1, 1},
49131 {&__pyx_n_s_playback_pause, __pyx_k_playback_pause, sizeof(__pyx_k_playback_pause), 0, 0, 1, 1},
49132 {&__pyx_n_s_playback_playtime, __pyx_k_playback_playtime, sizeof(__pyx_k_playback_playtime), 0, 0, 1, 1},
49133 {&__pyx_n_s_playback_seek_ms, __pyx_k_playback_seek_ms, sizeof(__pyx_k_playback_seek_ms), 0, 0, 1, 1},
49134 {&__pyx_n_s_playback_seek_samples, __pyx_k_playback_seek_samples, sizeof(__pyx_k_playback_seek_samples), 0, 0, 1, 1},
49135 {&__pyx_n_s_playback_start, __pyx_k_playback_start, sizeof(__pyx_k_playback_start), 0, 0, 1, 1},
49136 {&__pyx_n_s_playback_status, __pyx_k_playback_status, sizeof(__pyx_k_playback_status), 0, 0, 1, 1},
49137 {&__pyx_n_s_playback_stop, __pyx_k_playback_stop, sizeof(__pyx_k_playback_stop), 0, 0, 1, 1},
49138 {&__pyx_n_s_playback_tickle, __pyx_k_playback_tickle, sizeof(__pyx_k_playback_tickle), 0, 0, 1, 1},
49139 {&__pyx_n_s_playback_volume_get, __pyx_k_playback_volume_get, sizeof(__pyx_k_playback_volume_get), 0, 0, 1, 1},
49140 {&__pyx_n_s_playback_volume_set, __pyx_k_playback_volume_set, sizeof(__pyx_k_playback_volume_set), 0, 0, 1, 1},
49141 {&__pyx_n_s_playlist, __pyx_k_playlist, sizeof(__pyx_k_playlist), 0, 0, 1, 1},
49142 {&__pyx_n_s_playlist_add_collection, __pyx_k_playlist_add_collection, sizeof(__pyx_k_playlist_add_collection), 0, 0, 1, 1},
49143 {&__pyx_n_s_playlist_add_encoded, __pyx_k_playlist_add_encoded, sizeof(__pyx_k_playlist_add_encoded), 0, 0, 1, 1},
49144 {&__pyx_n_s_playlist_add_id, __pyx_k_playlist_add_id, sizeof(__pyx_k_playlist_add_id), 0, 0, 1, 1},
49145 {&__pyx_n_s_playlist_add_url, __pyx_k_playlist_add_url, sizeof(__pyx_k_playlist_add_url), 0, 0, 1, 1},
49146 {&__pyx_n_s_playlist_clear, __pyx_k_playlist_clear, sizeof(__pyx_k_playlist_clear), 0, 0, 1, 1},
49147 {&__pyx_n_s_playlist_create, __pyx_k_playlist_create, sizeof(__pyx_k_playlist_create), 0, 0, 1, 1},
49148 {&__pyx_n_s_playlist_current_active, __pyx_k_playlist_current_active, sizeof(__pyx_k_playlist_current_active), 0, 0, 1, 1},
49149 {&__pyx_n_s_playlist_current_pos, __pyx_k_playlist_current_pos, sizeof(__pyx_k_playlist_current_pos), 0, 0, 1, 1},
49150 {&__pyx_n_s_playlist_insert_collection, __pyx_k_playlist_insert_collection, sizeof(__pyx_k_playlist_insert_collection), 0, 0, 1, 1},
49151 {&__pyx_n_s_playlist_insert_encoded, __pyx_k_playlist_insert_encoded, sizeof(__pyx_k_playlist_insert_encoded), 0, 0, 1, 1},
49152 {&__pyx_n_s_playlist_insert_id, __pyx_k_playlist_insert_id, sizeof(__pyx_k_playlist_insert_id), 0, 0, 1, 1},
49153 {&__pyx_n_s_playlist_insert_url, __pyx_k_playlist_insert_url, sizeof(__pyx_k_playlist_insert_url), 0, 0, 1, 1},
49154 {&__pyx_n_s_playlist_list, __pyx_k_playlist_list, sizeof(__pyx_k_playlist_list), 0, 0, 1, 1},
49155 {&__pyx_n_s_playlist_list_entries, __pyx_k_playlist_list_entries, sizeof(__pyx_k_playlist_list_entries), 0, 0, 1, 1},
49156 {&__pyx_n_s_playlist_load, __pyx_k_playlist_load, sizeof(__pyx_k_playlist_load), 0, 0, 1, 1},
49157 {&__pyx_n_s_playlist_move, __pyx_k_playlist_move, sizeof(__pyx_k_playlist_move), 0, 0, 1, 1},
49158 {&__pyx_n_s_playlist_radd, __pyx_k_playlist_radd, sizeof(__pyx_k_playlist_radd), 0, 0, 1, 1},
49159 {&__pyx_n_s_playlist_radd_encoded, __pyx_k_playlist_radd_encoded, sizeof(__pyx_k_playlist_radd_encoded), 0, 0, 1, 1},
49160 {&__pyx_n_s_playlist_remove, __pyx_k_playlist_remove, sizeof(__pyx_k_playlist_remove), 0, 0, 1, 1},
49161 {&__pyx_n_s_playlist_remove_entry, __pyx_k_playlist_remove_entry, sizeof(__pyx_k_playlist_remove_entry), 0, 0, 1, 1},
49162 {&__pyx_n_s_playlist_rinsert, __pyx_k_playlist_rinsert, sizeof(__pyx_k_playlist_rinsert), 0, 0, 1, 1},
49163 {&__pyx_n_s_playlist_rinsert_encoded, __pyx_k_playlist_rinsert_encoded, sizeof(__pyx_k_playlist_rinsert_encoded), 0, 0, 1, 1},
49164 {&__pyx_n_s_playlist_set_next, __pyx_k_playlist_set_next, sizeof(__pyx_k_playlist_set_next), 0, 0, 1, 1},
49165 {&__pyx_n_s_playlist_set_next_rel, __pyx_k_playlist_set_next_rel, sizeof(__pyx_k_playlist_set_next_rel), 0, 0, 1, 1},
49166 {&__pyx_n_s_playlist_shuffle, __pyx_k_playlist_shuffle, sizeof(__pyx_k_playlist_shuffle), 0, 0, 1, 1},
49167 {&__pyx_n_s_playlist_sort, __pyx_k_playlist_sort, sizeof(__pyx_k_playlist_sort), 0, 0, 1, 1},
49168 {&__pyx_n_s_plugin_list, __pyx_k_plugin_list, sizeof(__pyx_k_plugin_list), 0, 0, 1, 1},
49169 {&__pyx_n_s_pos, __pyx_k_pos, sizeof(__pyx_k_pos), 0, 0, 1, 1},
49170 {&__pyx_n_s_position, __pyx_k_position, sizeof(__pyx_k_position), 0, 0, 1, 1},
49171 {&__pyx_n_s_positional, __pyx_k_positional, sizeof(__pyx_k_positional), 0, 0, 1, 1},
49172 {&__pyx_n_s_prepare, __pyx_k_prepare, sizeof(__pyx_k_prepare), 0, 0, 1, 1},
49173 {&__pyx_n_s_print, __pyx_k_print, sizeof(__pyx_k_print), 0, 0, 1, 1},
49174 {&__pyx_n_s_print_exception, __pyx_k_print_exception, sizeof(__pyx_k_print_exception), 0, 0, 1, 1},
49175 {&__pyx_n_s_props, __pyx_k_props, sizeof(__pyx_k_props), 0, 0, 1, 1},
49176 {&__pyx_n_s_pyval, __pyx_k_pyval, sizeof(__pyx_k_pyval), 0, 0, 1, 1},
49177 {&__pyx_n_s_pyx_vtable, __pyx_k_pyx_vtable, sizeof(__pyx_k_pyx_vtable), 0, 0, 1, 1},
49178 {&__pyx_n_s_qualname, __pyx_k_qualname, sizeof(__pyx_k_qualname), 0, 0, 1, 1},
49179 {&__pyx_n_s_quit, __pyx_k_quit, sizeof(__pyx_k_quit), 0, 0, 1, 1},
49180 {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1},
49181 {&__pyx_n_s_read, __pyx_k_read, sizeof(__pyx_k_read), 0, 0, 1, 1},
49182 {&__pyx_n_s_recursive, __pyx_k_recursive, sizeof(__pyx_k_recursive), 0, 0, 1, 1},
49183 {&__pyx_n_s_register, __pyx_k_register, sizeof(__pyx_k_register), 0, 0, 1, 1},
49184 {&__pyx_n_s_register_broadcast, __pyx_k_register_broadcast, sizeof(__pyx_k_register_broadcast), 0, 0, 1, 1},
49185 {&__pyx_n_s_register_constant, __pyx_k_register_constant, sizeof(__pyx_k_register_constant), 0, 0, 1, 1},
49186 {&__pyx_n_s_register_method, __pyx_k_register_method, sizeof(__pyx_k_register_method), 0, 0, 1, 1},
49187 {&__pyx_n_s_register_namespace, __pyx_k_register_namespace, sizeof(__pyx_k_register_namespace), 0, 0, 1, 1},
49188 {&__pyx_n_s_remove, __pyx_k_remove, sizeof(__pyx_k_remove), 0, 0, 1, 1},
49189 {&__pyx_n_s_res, __pyx_k_res, sizeof(__pyx_k_res), 0, 0, 1, 1},
49190 {&__pyx_kp_s_s, __pyx_k_s, sizeof(__pyx_k_s), 0, 0, 1, 0},
49191 {&__pyx_n_s_s_2, __pyx_k_s_2, sizeof(__pyx_k_s_2), 0, 0, 1, 1},
49192 {&__pyx_n_s_samples, __pyx_k_samples, sizeof(__pyx_k_samples), 0, 0, 1, 1},
49193 {&__pyx_n_s_sc, __pyx_k_sc, sizeof(__pyx_k_sc), 0, 0, 1, 1},
49194 {&__pyx_n_s_sc_broadcast_emit, __pyx_k_sc_broadcast_emit, sizeof(__pyx_k_sc_broadcast_emit), 0, 0, 1, 1},
49195 {&__pyx_n_s_sc_broadcast_subscribe, __pyx_k_sc_broadcast_subscribe, sizeof(__pyx_k_sc_broadcast_subscribe), 0, 0, 1, 1},
49196 {&__pyx_n_s_sc_call, __pyx_k_sc_call, sizeof(__pyx_k_sc_call), 0, 0, 1, 1},
49197 {&__pyx_n_s_sc_init, __pyx_k_sc_init, sizeof(__pyx_k_sc_init), 0, 0, 1, 1},
49198 {&__pyx_n_s_sc_introspect_broadcast, __pyx_k_sc_introspect_broadcast, sizeof(__pyx_k_sc_introspect_broadcast), 0, 0, 1, 1},
49199 {&__pyx_n_s_sc_introspect_constant, __pyx_k_sc_introspect_constant, sizeof(__pyx_k_sc_introspect_constant), 0, 0, 1, 1},
49200 {&__pyx_n_s_sc_introspect_docstring, __pyx_k_sc_introspect_docstring, sizeof(__pyx_k_sc_introspect_docstring), 0, 0, 1, 1},
49201 {&__pyx_n_s_sc_introspect_method, __pyx_k_sc_introspect_method, sizeof(__pyx_k_sc_introspect_method), 0, 0, 1, 1},
49202 {&__pyx_n_s_sc_introspect_namespace, __pyx_k_sc_introspect_namespace, sizeof(__pyx_k_sc_introspect_namespace), 0, 0, 1, 1},
49203 {&__pyx_n_s_select, __pyx_k_select, sizeof(__pyx_k_select), 0, 0, 1, 1},
49204 {&__pyx_n_s_self, __pyx_k_self, sizeof(__pyx_k_self), 0, 0, 1, 1},
49205 {&__pyx_n_s_sender, __pyx_k_sender, sizeof(__pyx_k_sender), 0, 0, 1, 1},
49206 {&__pyx_n_s_service_constant, __pyx_k_service_constant, sizeof(__pyx_k_service_constant), 0, 0, 1, 1},
49207 {&__pyx_n_s_service_constant___init, __pyx_k_service_constant___init, sizeof(__pyx_k_service_constant___init), 0, 0, 1, 1},
49208 {&__pyx_n_s_service_method, __pyx_k_service_method, sizeof(__pyx_k_service_method), 0, 0, 1, 1},
49209 {&__pyx_n_s_service_method___call, __pyx_k_service_method___call, sizeof(__pyx_k_service_method___call), 0, 0, 1, 1},
49210 {&__pyx_n_s_service_method___init, __pyx_k_service_method___init, sizeof(__pyx_k_service_method___init), 0, 0, 1, 1},
49211 {&__pyx_n_s_set, __pyx_k_set, sizeof(__pyx_k_set), 0, 0, 1, 1},
49212 {&__pyx_n_s_set_need_out_fun, __pyx_k_set_need_out_fun, sizeof(__pyx_k_set_need_out_fun), 0, 0, 1, 1},
49213 {&__pyx_n_s_set_source_preference, __pyx_k_set_source_preference, sizeof(__pyx_k_set_source_preference), 0, 0, 1, 1},
49214 {&__pyx_n_s_setcb, __pyx_k_setcb, sizeof(__pyx_k_setcb), 0, 0, 1, 1},
49215 {&__pyx_n_s_signal_mediainfo_reader_unindexe, __pyx_k_signal_mediainfo_reader_unindexe, sizeof(__pyx_k_signal_mediainfo_reader_unindexe), 0, 0, 1, 1},
49216 {&__pyx_n_s_signal_playback_playtime, __pyx_k_signal_playback_playtime, sizeof(__pyx_k_signal_playback_playtime), 0, 0, 1, 1},
49217 {&__pyx_n_s_source, __pyx_k_source, sizeof(__pyx_k_source), 0, 0, 1, 1},
49218 {&__pyx_n_s_sources, __pyx_k_sources, sizeof(__pyx_k_sources), 0, 0, 1, 1},
49219 {&__pyx_n_s_start, __pyx_k_start, sizeof(__pyx_k_start), 0, 0, 1, 1},
49220 {&__pyx_n_s_stats, __pyx_k_stats, sizeof(__pyx_k_stats), 0, 0, 1, 1},
49221 {&__pyx_n_s_stderr, __pyx_k_stderr, sizeof(__pyx_k_stderr), 0, 0, 1, 1},
49222 {&__pyx_n_s_string, __pyx_k_string, sizeof(__pyx_k_string), 0, 0, 1, 1},
49223 {&__pyx_n_s_subscribe, __pyx_k_subscribe, sizeof(__pyx_k_subscribe), 0, 0, 1, 1},
49224 {&__pyx_n_s_sys, __pyx_k_sys, sizeof(__pyx_k_sys), 0, 0, 1, 1},
49225 {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
49226 {&__pyx_n_s_timeout, __pyx_k_timeout, sizeof(__pyx_k_timeout), 0, 0, 1, 1},
49227 {&__pyx_n_s_traceback, __pyx_k_traceback, sizeof(__pyx_k_traceback), 0, 0, 1, 1},
49228 {&__pyx_n_s_typ, __pyx_k_typ, sizeof(__pyx_k_typ), 0, 0, 1, 1},
49229 {&__pyx_n_s_type, __pyx_k_type, sizeof(__pyx_k_type), 0, 0, 1, 1},
49230 {&__pyx_n_s_unquote_plus, __pyx_k_unquote_plus, sizeof(__pyx_k_unquote_plus), 0, 0, 1, 1},
49231 {&__pyx_n_s_update_api, __pyx_k_update_api, sizeof(__pyx_k_update_api), 0, 0, 1, 1},
49232 {&__pyx_n_s_update_api_callback, __pyx_k_update_api_callback, sizeof(__pyx_k_update_api_callback), 0, 0, 1, 1},
49233 {&__pyx_n_s_url, __pyx_k_url, sizeof(__pyx_k_url), 0, 0, 1, 1},
49234 {&__pyx_n_s_urllib, __pyx_k_urllib, sizeof(__pyx_k_urllib), 0, 0, 1, 1},
49235 {&__pyx_n_s_urllib_parse, __pyx_k_urllib_parse, sizeof(__pyx_k_urllib_parse), 0, 0, 1, 1},
49236 {&__pyx_n_s_v, __pyx_k_v, sizeof(__pyx_k_v), 0, 0, 1, 1},
49237 {&__pyx_n_s_val, __pyx_k_val, sizeof(__pyx_k_val), 0, 0, 1, 1},
49238 {&__pyx_n_s_value, __pyx_k_value, sizeof(__pyx_k_value), 0, 0, 1, 1},
49239 {&__pyx_n_s_value_2, __pyx_k_value_2, sizeof(__pyx_k_value_2), 0, 0, 1, 1},
49240 {&__pyx_n_s_valuename, __pyx_k_valuename, sizeof(__pyx_k_valuename), 0, 0, 1, 1},
49241 {&__pyx_n_s_visualization_chunk_get, __pyx_k_visualization_chunk_get, sizeof(__pyx_k_visualization_chunk_get), 0, 0, 1, 1},
49242 {&__pyx_n_s_visualization_errored, __pyx_k_visualization_errored, sizeof(__pyx_k_visualization_errored), 0, 0, 1, 1},
49243 {&__pyx_n_s_visualization_init, __pyx_k_visualization_init, sizeof(__pyx_k_visualization_init), 0, 0, 1, 1},
49244 {&__pyx_n_s_visualization_properties_set, __pyx_k_visualization_properties_set, sizeof(__pyx_k_visualization_properties_set), 0, 0, 1, 1},
49245 {&__pyx_n_s_visualization_property_set, __pyx_k_visualization_property_set, sizeof(__pyx_k_visualization_property_set), 0, 0, 1, 1},
49246 {&__pyx_n_s_visualization_shutdown, __pyx_k_visualization_shutdown, sizeof(__pyx_k_visualization_shutdown), 0, 0, 1, 1},
49247 {&__pyx_n_s_visualization_start, __pyx_k_visualization_start, sizeof(__pyx_k_visualization_start), 0, 0, 1, 1},
49248 {&__pyx_n_s_visualization_started, __pyx_k_visualization_started, sizeof(__pyx_k_visualization_started), 0, 0, 1, 1},
49249 {&__pyx_n_s_visualization_version, __pyx_k_visualization_version, sizeof(__pyx_k_visualization_version), 0, 0, 1, 1},
49250 {&__pyx_n_s_volume, __pyx_k_volume, sizeof(__pyx_k_volume), 0, 0, 1, 1},
49251 {&__pyx_n_s_wait, __pyx_k_wait, sizeof(__pyx_k_wait), 0, 0, 1, 1},
49252 {&__pyx_n_s_walk, __pyx_k_walk, sizeof(__pyx_k_walk), 0, 0, 1, 1},
49253 {&__pyx_n_s_want_ioout, __pyx_k_want_ioout, sizeof(__pyx_k_want_ioout), 0, 0, 1, 1},
49254 {&__pyx_n_s_whence, __pyx_k_whence, sizeof(__pyx_k_whence), 0, 0, 1, 1},
49255 {&__pyx_n_s_write, __pyx_k_write, sizeof(__pyx_k_write), 0, 0, 1, 1},
49256 {&__pyx_n_s_x_type, __pyx_k_x_type, sizeof(__pyx_k_x_type), 0, 0, 1, 1},
49257 {&__pyx_n_s_xform_media_browse, __pyx_k_xform_media_browse, sizeof(__pyx_k_xform_media_browse), 0, 0, 1, 1},
49258 {&__pyx_n_s_xform_media_browse_encoded, __pyx_k_xform_media_browse_encoded, sizeof(__pyx_k_xform_media_browse_encoded), 0, 0, 1, 1},
49259 {&__pyx_n_s_xmms, __pyx_k_xmms, sizeof(__pyx_k_xmms), 0, 0, 1, 1},
49260 {&__pyx_n_s_xmms_2, __pyx_k_xmms_2, sizeof(__pyx_k_xmms_2), 0, 0, 1, 1},
49261 {&__pyx_n_s_xmms_service_constants, __pyx_k_xmms_service_constants, sizeof(__pyx_k_xmms_service_constants), 0, 0, 1, 1},
49262 {&__pyx_n_s_xmms_service_entity, __pyx_k_xmms_service_entity, sizeof(__pyx_k_xmms_service_entity), 0, 0, 1, 1},
49263 {&__pyx_n_s_xmmsapi, __pyx_k_xmmsapi, sizeof(__pyx_k_xmmsapi), 0, 0, 1, 1},
49264 {&__pyx_kp_s_xmmsc_result_t_couldn_t_be_alloc, __pyx_k_xmmsc_result_t_couldn_t_be_alloc, sizeof(__pyx_k_xmmsc_result_t_couldn_t_be_alloc), 0, 0, 1, 0},
49265 {&__pyx_n_s_xmmsvalue, __pyx_k_xmmsvalue, sizeof(__pyx_k_xmmsvalue), 0, 0, 1, 1},
49266 {&__pyx_n_s_xvalue, __pyx_k_xvalue, sizeof(__pyx_k_xvalue), 0, 0, 1, 1},
49267 {0, 0, 0, 0, 0, 0, 0}
49268};
49269static int __Pyx_InitCachedBuiltins(void) {
49270 __pyx_builtin_Exception = __Pyx_GetBuiltinName(__pyx_n_s_Exception); if (!__pyx_builtin_Exception) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__49270; goto __pyx_L1_error;}
49271 __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__49271; goto __pyx_L1_error;}
49272 __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__49272; goto __pyx_L1_error;}
49273 __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__49273; goto __pyx_L1_error;}
49274 __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__49274; goto __pyx_L1_error;}
49275 __pyx_builtin_NotImplementedError = __Pyx_GetBuiltinName(__pyx_n_s_NotImplementedError); if (!__pyx_builtin_NotImplementedError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__49275; goto __pyx_L1_error;}
49276 __pyx_builtin_AttributeError = __Pyx_GetBuiltinName(__pyx_n_s_AttributeError); if (!__pyx_builtin_AttributeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 800; __pyx_clineno = __LINE__49276; goto __pyx_L1_error;}
49277 __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__49277; goto __pyx_L1_error;}
49278 __pyx_builtin_IOError = __Pyx_GetBuiltinName(__pyx_n_s_IOError); if (!__pyx_builtin_IOError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__49278; goto __pyx_L1_error;}
49279 __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1629; __pyx_clineno = __LINE__49279; goto __pyx_L1_error;}
49280 return 0;
49281 __pyx_L1_error:;
49282 return -1;
49283}
49284
49285static int __Pyx_InitCachedConstants(void) {
49286 __Pyx_RefNannyDeclarations
49287 __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
49288
49289 /* "xmmsapi.pyx":58
49290 * def deprecated_decorator(*a, **kw):
49291 * from os import getenv
49292 * if getenv('XMMS_PYTHON_SHOW_DEPRECATED'): # <<<<<<<<<<<<<<
49293 * from sys import stderr
49294 * print >>stderr, "DEPRECATED: %s()" % f.__name__
49295 */
49296 __pyx_tuple_ = PyTuple_Pack(1, __pyx_n_s_XMMS_PYTHON_SHOW_DEPRECATED); if (unlikely(!__pyx_tuple_)__builtin_expect(!!(!__pyx_tuple_), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__49296; goto __pyx_L1_error;}
49297 __Pyx_GOTREF(__pyx_tuple_);
49298 __Pyx_GIVEREF(__pyx_tuple_);
49299
49300 /* "xmmsapi.pyx":56
49301 *
49302 * def deprecated(f):
49303 * def deprecated_decorator(*a, **kw): # <<<<<<<<<<<<<<
49304 * from os import getenv
49305 * if getenv('XMMS_PYTHON_SHOW_DEPRECATED'):
49306 */
49307 __pyx_tuple__2 = PyTuple_Pack(4, __pyx_n_s_a, __pyx_n_s_kw, __pyx_n_s_getenv, __pyx_n_s_stderr); if (unlikely(!__pyx_tuple__2)__builtin_expect(!!(!__pyx_tuple__2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__49307; goto __pyx_L1_error;}
49308 __Pyx_GOTREF(__pyx_tuple__2);
49309 __Pyx_GIVEREF(__pyx_tuple__2);
49310 __pyx_codeobj__3 = (PyObject*)__Pyx_PyCode_New(0, 0, 4, 0, CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__2, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_n_s_deprecated_decorator, 56, __pyx_empty_bytes)PyCode_New(0 +0, 4, 0, 0x0004|0x0008, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_tuple__2, __pyx_empty_tuple, __pyx_empty_tuple
, __pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_n_s_deprecated_decorator
, 56, __pyx_empty_bytes)
; if (unlikely(!__pyx_codeobj__3)__builtin_expect(!!(!__pyx_codeobj__3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__49310; goto __pyx_L1_error;}
49311
49312 /* "xmmsapi.pyx":84
49313 * n = <char *>XMMS_COLLECTION_NS_ALL
49314 * else:
49315 * raise ValueError("Bad namespace") # <<<<<<<<<<<<<<
49316 * return n
49317 *
49318 */
49319 __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_Bad_namespace); if (unlikely(!__pyx_tuple__4)__builtin_expect(!!(!__pyx_tuple__4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__49319; goto __pyx_L1_error;}
49320 __Pyx_GOTREF(__pyx_tuple__4);
49321 __Pyx_GIVEREF(__pyx_tuple__4);
49322
49323 /* "xmmsapi.pyx":139
49324 * cdef disconnect_all(self, bint unset_result):
49325 * cdef XmmsResult r
49326 * for r in self.results[:]: # Create a copy because r.disconnect() will remove the result from the list. # <<<<<<<<<<<<<<
49327 * r.disconnect()
49328 * if unset_result: #This would become useless if results didn't xmmsc_ref() the connection.
49329 */
49330 __pyx_slice__5 = PySlice_New(Py_None(&_Py_NoneStruct), Py_None(&_Py_NoneStruct), Py_None(&_Py_NoneStruct)); if (unlikely(!__pyx_slice__5)__builtin_expect(!!(!__pyx_slice__5), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__49330; goto __pyx_L1_error;}
49331 __Pyx_GOTREF(__pyx_slice__5);
49332 __Pyx_GIVEREF(__pyx_slice__5);
49333
49334 /* "xmmsapi.pyx":221
49335 * """
49336 * if self.res == NULL:
49337 * raise RuntimeError("Uninitialized result") # <<<<<<<<<<<<<<
49338 *
49339 * xmmsc_result_wait(self.res)
49340 */
49341 __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_Uninitialized_result); if (unlikely(!__pyx_tuple__6)__builtin_expect(!!(!__pyx_tuple__6), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__49341; goto __pyx_L1_error;}
49342 __Pyx_GOTREF(__pyx_tuple__6);
49343 __Pyx_GIVEREF(__pyx_tuple__6);
49344
49345 /* "xmmsapi.pyx":244
49346 * cdef xmmsv_t *value
49347 * if self.res == NULL:
49348 * raise RuntimeError("Uninitialized result") # <<<<<<<<<<<<<<
49349 * value = xmmsc_result_get_value(self.res)
49350 * obj = XmmsValue(self.source_pref.get())
49351 */
49352 __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_Uninitialized_result); if (unlikely(!__pyx_tuple__7)__builtin_expect(!!(!__pyx_tuple__7), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__49352; goto __pyx_L1_error;}
49353 __Pyx_GOTREF(__pyx_tuple__7);
49354 __Pyx_GIVEREF(__pyx_tuple__7);
49355
49356 /* "xmmsapi.pyx":302
49357 * if self._val is None:
49358 * if self.res == NULL:
49359 * raise RuntimeError("Uninitialized result") # <<<<<<<<<<<<<<
49360 * hid = xmmsc_visualization_init_handle(self.res)
49361 * if hid == -1:
49362 */
49363 __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_Uninitialized_result); if (unlikely(!__pyx_tuple__8)__builtin_expect(!!(!__pyx_tuple__8), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__49363; goto __pyx_L1_error;}
49364 __Pyx_GOTREF(__pyx_tuple__8);
49365 __Pyx_GIVEREF(__pyx_tuple__8);
49366
49367 /* "xmmsapi.pyx":313
49368 * if self._val is None:
49369 * if self.res == NULL:
49370 * raise RuntimeError("Uninitialized result") # <<<<<<<<<<<<<<
49371 * xval = XmmsResult.xmmsvalue(self)
49372 * if xval.is_error():
49373 */
49374 __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_Uninitialized_result); if (unlikely(!__pyx_tuple__9)__builtin_expect(!!(!__pyx_tuple__9), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__49374; goto __pyx_L1_error;}
49375 __Pyx_GOTREF(__pyx_tuple__9);
49376 __Pyx_GIVEREF(__pyx_tuple__9);
49377
49378 /* "xmmsapi.pyx":318
49379 * self._val = xval
49380 * elif self.conn == NULL:
49381 * raise RuntimeError("Internal connection reference not set") # <<<<<<<<<<<<<<
49382 * else:
49383 * xmmsc_visualization_start_handle(self.conn, self.res)
49384 */
49385 __pyx_tuple__10 = PyTuple_Pack(1, __pyx_kp_s_Internal_connection_reference_no); if (unlikely(!__pyx_tuple__10)__builtin_expect(!!(!__pyx_tuple__10), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__49385; goto __pyx_L1_error;}
49386 __Pyx_GOTREF(__pyx_tuple__10);
49387 __Pyx_GIVEREF(__pyx_tuple__10);
49388
49389 /* "xmmsapi.pyx":351
49390 * self.data = <short *>PyMem_Malloc(sizeof (short) * sample_count)
49391 * if self.data == NULL:
49392 * raise RuntimeError("Failed to initialize chunk data") # <<<<<<<<<<<<<<
49393 * for i in range(sample_count):
49394 * self.data[i] = data[i]
49395 */
49396 __pyx_tuple__11 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_initialize_chunk_data); if (unlikely(!__pyx_tuple__11)__builtin_expect(!!(!__pyx_tuple__11), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__49396; goto __pyx_L1_error;}
49397 __Pyx_GOTREF(__pyx_tuple__11);
49398 __Pyx_GIVEREF(__pyx_tuple__11);
49399
49400 /* "xmmsapi.pyx":366
49401 * """
49402 * if self.data == NULL:
49403 * raise RuntimeError("chunk data not initialized") # <<<<<<<<<<<<<<
49404 * return PyBytes_FromStringAndSize(<char *>self.data, sizeof (short) * self.sample_count)
49405 *
49406 */
49407 __pyx_tuple__12 = PyTuple_Pack(1, __pyx_kp_s_chunk_data_not_initialized); if (unlikely(!__pyx_tuple__12)__builtin_expect(!!(!__pyx_tuple__12), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__49407; goto __pyx_L1_error;}
49408 __Pyx_GOTREF(__pyx_tuple__12);
49409 __Pyx_GIVEREF(__pyx_tuple__12);
49410
49411 /* "xmmsapi.pyx":376
49412 * """
49413 * if self.data == NULL:
49414 * raise RuntimeError("chunk data not initialized") # <<<<<<<<<<<<<<
49415 * return [<int>self.data[i] for i in range(self.sample_count)]
49416 *
49417 */
49418 __pyx_tuple__13 = PyTuple_Pack(1, __pyx_kp_s_chunk_data_not_initialized); if (unlikely(!__pyx_tuple__13)__builtin_expect(!!(!__pyx_tuple__13), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__49418; goto __pyx_L1_error;}
49419 __Pyx_GOTREF(__pyx_tuple__13);
49420 __Pyx_GIVEREF(__pyx_tuple__13);
49421
49422 /* "xmmsapi.pyx":449
49423 * cpdef emit(self, value = None):
49424 * if not self.namespace:
49425 * raise RuntimeError("No namespace bound to broadcast") # <<<<<<<<<<<<<<
49426 * path = self.namespace.path + (self.name,)
49427 * return self.namespace.xmms.sc_broadcast_emit(path, value)
49428 */
49429 __pyx_tuple__16 = PyTuple_Pack(1, __pyx_kp_s_No_namespace_bound_to_broadcast); if (unlikely(!__pyx_tuple__16)__builtin_expect(!!(!__pyx_tuple__16), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__49429; goto __pyx_L1_error;}
49430 __Pyx_GOTREF(__pyx_tuple__16);
49431 __Pyx_GIVEREF(__pyx_tuple__16);
49432
49433 /* "xmmsapi.pyx":536
49434 * continue
49435 *
49436 * entity_type = entity.get('entity', '') # <<<<<<<<<<<<<<
49437 *
49438 * if entity_type not in callbacks:
49439 */
49440 __pyx_tuple__19 = PyTuple_Pack(2, __pyx_n_s_entity, __pyx_kp_s__15); if (unlikely(!__pyx_tuple__19)__builtin_expect(!!(!__pyx_tuple__19), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__49440; goto __pyx_L1_error;}
49441 __Pyx_GOTREF(__pyx_tuple__19);
49442 __Pyx_GIVEREF(__pyx_tuple__19);
49443
49444 /* "xmmsapi.pyx":550
49445 * cpdef register_namespace(self, path, instance, infos):
49446 * cdef xmmsc_sc_namespace_t *ns
49447 * name = from_unicode(infos.get('name', "")) # <<<<<<<<<<<<<<
49448 * if not name: #root namespace already exists
49449 * return
49450 */
49451 __pyx_tuple__20 = PyTuple_Pack(2, __pyx_n_s_name_2, __pyx_kp_s__15); if (unlikely(!__pyx_tuple__20)__builtin_expect(!!(!__pyx_tuple__20), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__49451; goto __pyx_L1_error;}
49452 __Pyx_GOTREF(__pyx_tuple__20);
49453 __Pyx_GIVEREF(__pyx_tuple__20);
49454
49455 /* "xmmsapi.pyx":553
49456 * if not name: #root namespace already exists
49457 * return
49458 * doc = from_unicode(infos.get('doc', "")) # <<<<<<<<<<<<<<
49459 * ns = _namespace_get(self.xmms.conn, path, True)
49460 * xmmsc_sc_namespace_new(ns, <char *>name, <char *>doc)
49461 */
49462 __pyx_tuple__21 = PyTuple_Pack(2, __pyx_n_s_doc_2, __pyx_kp_s__15); if (unlikely(!__pyx_tuple__21)__builtin_expect(!!(!__pyx_tuple__21), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__49462; goto __pyx_L1_error;}
49463 __Pyx_GOTREF(__pyx_tuple__21);
49464 __Pyx_GIVEREF(__pyx_tuple__21);
49465
49466 /* "xmmsapi.pyx":560
49467 * cdef xmmsc_sc_namespace_t *ns
49468 * cdef xmmsv_t *val
49469 * name = from_unicode(infos.get('name', "")) # <<<<<<<<<<<<<<
49470 * if not name:
49471 * return
49472 */
49473 __pyx_tuple__22 = PyTuple_Pack(2, __pyx_n_s_name_2, __pyx_kp_s__15); if (unlikely(!__pyx_tuple__22)__builtin_expect(!!(!__pyx_tuple__22), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__49473; goto __pyx_L1_error;}
49474 __Pyx_GOTREF(__pyx_tuple__22);
49475 __Pyx_GIVEREF(__pyx_tuple__22);
49476
49477 /* "xmmsapi.pyx":581
49478 * named = xmmsv_new_list()
49479 *
49480 * name = from_unicode(infos.get('name') or "") # <<<<<<<<<<<<<<
49481 * if not name:
49482 * return
49483 */
49484 __pyx_tuple__23 = PyTuple_Pack(1, __pyx_n_s_name_2); if (unlikely(!__pyx_tuple__23)__builtin_expect(!!(!__pyx_tuple__23), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__49484; goto __pyx_L1_error;}
49485 __Pyx_GOTREF(__pyx_tuple__23);
49486 __Pyx_GIVEREF(__pyx_tuple__23);
49487
49488 /* "xmmsapi.pyx":584
49489 * if not name:
49490 * return
49491 * doc = from_unicode(infos.get('doc') or "") # <<<<<<<<<<<<<<
49492 * for arg in infos.get('positional', ()):
49493 * if isinstance(arg, method_varg):
49494 */
49495 __pyx_tuple__24 = PyTuple_Pack(1, __pyx_n_s_doc_2); if (unlikely(!__pyx_tuple__24)__builtin_expect(!!(!__pyx_tuple__24), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __pyx_clineno = __LINE__49495; goto __pyx_L1_error;}
49496 __Pyx_GOTREF(__pyx_tuple__24);
49497 __Pyx_GIVEREF(__pyx_tuple__24);
49498
49499 /* "xmmsapi.pyx":585
49500 * return
49501 * doc = from_unicode(infos.get('doc') or "")
49502 * for arg in infos.get('positional', ()): # <<<<<<<<<<<<<<
49503 * if isinstance(arg, method_varg):
49504 * va_pos = True
49505 */
49506 __pyx_tuple__25 = PyTuple_Pack(2, __pyx_n_s_positional, __pyx_empty_tuple); if (unlikely(!__pyx_tuple__25)__builtin_expect(!!(!__pyx_tuple__25), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__49506; goto __pyx_L1_error;}
49507 __Pyx_GOTREF(__pyx_tuple__25);
49508 __Pyx_GIVEREF(__pyx_tuple__25);
49509
49510 /* "xmmsapi.pyx":600
49511 * xmmsv_unref(x_arg)
49512 *
49513 * for arg in infos.get('named', ()): # <<<<<<<<<<<<<<
49514 * if isinstance(arg, method_varg):
49515 * va_named = True
49516 */
49517 __pyx_tuple__26 = PyTuple_Pack(2, __pyx_n_s_named, __pyx_empty_tuple); if (unlikely(!__pyx_tuple__26)__builtin_expect(!!(!__pyx_tuple__26), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__49517; goto __pyx_L1_error;}
49518 __Pyx_GOTREF(__pyx_tuple__26);
49519 __Pyx_GIVEREF(__pyx_tuple__26);
49520
49521 /* "xmmsapi.pyx":627
49522 * cpdef register_broadcast(self, path, bc, infos):
49523 * cdef xmmsc_sc_namespace_t *ns
49524 * name = from_unicode(infos.get('name') or "") # <<<<<<<<<<<<<<
49525 * if not name:
49526 * return
49527 */
49528 __pyx_tuple__27 = PyTuple_Pack(1, __pyx_n_s_name_2); if (unlikely(!__pyx_tuple__27)__builtin_expect(!!(!__pyx_tuple__27), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__49528; goto __pyx_L1_error;}
49529 __Pyx_GOTREF(__pyx_tuple__27);
49530 __Pyx_GIVEREF(__pyx_tuple__27);
49531
49532 /* "xmmsapi.pyx":630
49533 * if not name:
49534 * return
49535 * doc = from_unicode(infos.get('doc') or "") # <<<<<<<<<<<<<<
49536 * ns = _namespace_get(self.xmms.conn, path, True)
49537 * xmmsc_sc_namespace_add_broadcast(ns, <char *>name, <char *>doc)
49538 */
49539 __pyx_tuple__28 = PyTuple_Pack(1, __pyx_n_s_doc_2); if (unlikely(!__pyx_tuple__28)__builtin_expect(!!(!__pyx_tuple__28), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__49539; goto __pyx_L1_error;}
49540 __Pyx_GOTREF(__pyx_tuple__28);
49541 __Pyx_GIVEREF(__pyx_tuple__28);
49542
49543 /* "xmmsapi.pyx":641
49544 *
49545 * _path = self.path
49546 * self.register_namespace(_path[:-1], self, dict( # <<<<<<<<<<<<<<
49547 * name = _path and _path[-1] or "",
49548 * doc = self.__doc__ or ""
49549 */
49550 __pyx_slice__29 = PySlice_New(Py_None(&_Py_NoneStruct), __pyx_int_neg_1, Py_None(&_Py_NoneStruct)); if (unlikely(!__pyx_slice__29)__builtin_expect(!!(!__pyx_slice__29), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__49550; goto __pyx_L1_error;}
49551 __Pyx_GOTREF(__pyx_slice__29);
49552 __Pyx_GIVEREF(__pyx_slice__29);
49553
49554 /* "xmmsapi.pyx":701
49555 * def __cinit__(self, _XmmsServiceClient parent, name, docstring):
49556 * if not parent._async:
49557 * raise RuntimeError("Broadcast is available only on asynchronous connections") # <<<<<<<<<<<<<<
49558 * self._xmms = parent._xmms
49559 * self._clientid = parent._clientid
49560 */
49561 __pyx_tuple__30 = PyTuple_Pack(1, __pyx_kp_s_Broadcast_is_available_only_on_a); if (unlikely(!__pyx_tuple__30)__builtin_expect(!!(!__pyx_tuple__30), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__49561; goto __pyx_L1_error;}
49562 __Pyx_GOTREF(__pyx_tuple__30);
49563 __Pyx_GIVEREF(__pyx_tuple__30);
49564
49565 /* "xmmsapi.pyx":770
49566 * self._async = False
49567 * else:
49568 * raise TypeError("Not a valid Xmms client instance") # <<<<<<<<<<<<<<
49569 *
49570 * self._path = tuple(ka.get('path', ()))
49571 */
49572 __pyx_tuple__32 = PyTuple_Pack(1, __pyx_kp_s_Not_a_valid_Xmms_client_instance); if (unlikely(!__pyx_tuple__32)__builtin_expect(!!(!__pyx_tuple__32), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__49572; goto __pyx_L1_error;}
49573 __Pyx_GOTREF(__pyx_tuple__32);
49574 __Pyx_GIVEREF(__pyx_tuple__32);
49575
49576 /* "xmmsapi.pyx":793
49577 * return
49578 *
49579 * self.__doc__ = payload.get('docstring', '') # <<<<<<<<<<<<<<
49580 *
49581 * try:
49582 */
49583 __pyx_tuple__33 = PyTuple_Pack(2, __pyx_n_s_docstring, __pyx_kp_s__15); if (unlikely(!__pyx_tuple__33)__builtin_expect(!!(!__pyx_tuple__33), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 793; __pyx_clineno = __LINE__49583; goto __pyx_L1_error;}
49584 __Pyx_GOTREF(__pyx_tuple__33);
49585 __Pyx_GIVEREF(__pyx_tuple__33);
49586
49587 /* "xmmsapi.pyx":808
49588 * try:
49589 * name = bc['name']
49590 * doc = bc.get('docstring') # <<<<<<<<<<<<<<
49591 * except (TypeError, AttributeError, KeyError):
49592 * continue
49593 */
49594 __pyx_tuple__34 = PyTuple_Pack(1, __pyx_n_s_docstring); if (unlikely(!__pyx_tuple__34)__builtin_expect(!!(!__pyx_tuple__34), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__49594; goto __pyx_L1_error;}
49595 __Pyx_GOTREF(__pyx_tuple__34);
49596 __Pyx_GIVEREF(__pyx_tuple__34);
49597
49598 /* "xmmsapi.pyx":818
49599 * try:
49600 * name = m['name']
49601 * doc = m.get('docstring') # <<<<<<<<<<<<<<
49602 * except (TypeError, AttributeError, KeyError):
49603 * continue
49604 */
49605 __pyx_tuple__35 = PyTuple_Pack(1, __pyx_n_s_docstring); if (unlikely(!__pyx_tuple__35)__builtin_expect(!!(!__pyx_tuple__35), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__49605; goto __pyx_L1_error;}
49606 __Pyx_GOTREF(__pyx_tuple__35);
49607 __Pyx_GIVEREF(__pyx_tuple__35);
49608
49609 /* "xmmsapi.pyx":836
49610 *
49611 * def _update_api_callback(self, cb = None, recursive = False):
49612 * def _update_api(xvalue): # <<<<<<<<<<<<<<
49613 * self._update_api(xvalue, recursive, cb)
49614 * if cb:
49615 */
49616 __pyx_tuple__36 = PyTuple_Pack(1, __pyx_n_s_xvalue); if (unlikely(!__pyx_tuple__36)__builtin_expect(!!(!__pyx_tuple__36), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; __pyx_clineno = __LINE__49616; goto __pyx_L1_error;}
49617 __Pyx_GOTREF(__pyx_tuple__36);
49618 __Pyx_GIVEREF(__pyx_tuple__36);
49619 __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_n_s_update_api, 836, __pyx_empty_bytes)PyCode_New(1 +0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple
, __pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_n_s_update_api
, 836, __pyx_empty_bytes)
; if (unlikely(!__pyx_codeobj__37)__builtin_expect(!!(!__pyx_codeobj__37), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 836; __pyx_clineno = __LINE__49619; goto __pyx_L1_error;}
49620
49621 /* "xmmsapi.pyx":948
49622 * self.conn = xmmsc_init(<char *>cn)
49623 * if self.conn == NULL:
49624 * raise ValueError("Failed to initialize xmmsclient library! Probably due to broken name.") # <<<<<<<<<<<<<<
49625 *
49626 * cpdef get_source_preference(self):
49627 */
49628 __pyx_tuple__38 = PyTuple_Pack(1, __pyx_kp_s_Failed_to_initialize_xmmsclient); if (unlikely(!__pyx_tuple__38)__builtin_expect(!!(!__pyx_tuple__38), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 948; __pyx_clineno = __LINE__49628; goto __pyx_L1_error;}
49629 __Pyx_GOTREF(__pyx_tuple__38);
49630 __Pyx_GIVEREF(__pyx_tuple__38);
49631
49632 /* "xmmsapi.pyx":1037
49633 *
49634 * if not ret:
49635 * raise IOError("Couldn't connect to the server") # <<<<<<<<<<<<<<
49636 * self.isconnected = 1
49637 *
49638 */
49639 __pyx_tuple__39 = PyTuple_Pack(1, __pyx_kp_s_Couldn_t_connect_to_the_server); if (unlikely(!__pyx_tuple__39)__builtin_expect(!!(!__pyx_tuple__39), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__49639; goto __pyx_L1_error;}
49640 __Pyx_GOTREF(__pyx_tuple__39);
49641 __Pyx_GIVEREF(__pyx_tuple__39);
49642
49643 /* "xmmsapi.pyx":1050
49644 * cdef XmmsResult ret
49645 * if res == NULL:
49646 * raise RuntimeError("xmmsc_result_t couldn't be allocated") # <<<<<<<<<<<<<<
49647 * ret = Cls()
49648 * ret.set_sourcepref(self.source_preference)
49649 */
49650 __pyx_tuple__40 = PyTuple_Pack(1, __pyx_kp_s_xmmsc_result_t_couldn_t_be_alloc); if (unlikely(!__pyx_tuple__40)__builtin_expect(!!(!__pyx_tuple__40), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__49650; goto __pyx_L1_error;}
49651 __Pyx_GOTREF(__pyx_tuple__40);
49652 __Pyx_GIVEREF(__pyx_tuple__40);
49653
49654 /* "xmmsapi.pyx":1141
49655 * return self.create_result(cb, xmmsc_playback_seek_ms(self.conn, ms, whence))
49656 * else:
49657 * raise ValueError("Bad whence parameter") # <<<<<<<<<<<<<<
49658 *
49659 * cpdef XmmsResult playback_seek_samples(self, int samples, xmms_playback_seek_mode_t whence = PLAYBACK_SEEK_SET, cb = None):
49660 */
49661 __pyx_tuple__42 = PyTuple_Pack(1, __pyx_kp_s_Bad_whence_parameter); if (unlikely(!__pyx_tuple__42)__builtin_expect(!!(!__pyx_tuple__42), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1141; __pyx_clineno = __LINE__49661; goto __pyx_L1_error;}
49662 __Pyx_GOTREF(__pyx_tuple__42);
49663 __Pyx_GIVEREF(__pyx_tuple__42);
49664
49665 /* "xmmsapi.pyx":1152
49666 * return self.create_result(cb, xmmsc_playback_seek_samples(self.conn, samples, whence))
49667 * else:
49668 * raise ValueError("Bad whence parameter") # <<<<<<<<<<<<<<
49669 *
49670 * cpdef XmmsResult playback_status(self, cb = None):
49671 */
49672 __pyx_tuple__44 = PyTuple_Pack(1, __pyx_kp_s_Bad_whence_parameter); if (unlikely(!__pyx_tuple__44)__builtin_expect(!!(!__pyx_tuple__44), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1152; __pyx_clineno = __LINE__49672; goto __pyx_L1_error;}
49673 __Pyx_GOTREF(__pyx_tuple__44);
49674 __Pyx_GIVEREF(__pyx_tuple__44);
49675
49676 /* "xmmsapi.pyx":2118
49677 * cdef xmmsv_t *i_path
49678 * cdef xmmsc_result_t *res
49679 * ns = path[:-1] # <<<<<<<<<<<<<<
49680 * key = from_unicode(path[-1])
49681 * i_path = create_native_value(ns)
49682 */
49683 __pyx_slice__46 = PySlice_New(Py_None(&_Py_NoneStruct), __pyx_int_neg_1, Py_None(&_Py_NoneStruct)); if (unlikely(!__pyx_slice__46)__builtin_expect(!!(!__pyx_slice__46), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2118; __pyx_clineno = __LINE__49683; goto __pyx_L1_error;}
49684 __Pyx_GOTREF(__pyx_slice__46);
49685 __Pyx_GIVEREF(__pyx_slice__46);
49686
49687 /* "xmmsapi.pyx":2261
49688 * if size < 0:
49689 * PyMem_Free(buf)
49690 * raise VisualizationError("Unrecoverable error in visualization") # <<<<<<<<<<<<<<
49691 * chunk = XmmsVisChunk()
49692 * chunk.set_data(buf, size)
49693 */
49694 __pyx_tuple__48 = PyTuple_Pack(1, __pyx_kp_s_Unrecoverable_error_in_visualiza); if (unlikely(!__pyx_tuple__48)__builtin_expect(!!(!__pyx_tuple__48), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2261; __pyx_clineno = __LINE__49694; goto __pyx_L1_error;}
49695 __Pyx_GOTREF(__pyx_tuple__48);
49696 __Pyx_GIVEREF(__pyx_tuple__48);
49697
49698 /* "xmmsapi.pyx":2317
49699 * w = self._loop_get_wakeup()
49700 * if w is not None:
49701 * write(w, "1".encode('ascii')) # <<<<<<<<<<<<<<
49702 *
49703 * def loop_iter(self, infd = None, outfd = None, errfd = None, timeout = -1):
49704 */
49705 __pyx_tuple__49 = PyTuple_Pack(1, __pyx_n_s_ascii); if (unlikely(!__pyx_tuple__49)__builtin_expect(!!(!__pyx_tuple__49), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2317; __pyx_clineno = __LINE__49705; goto __pyx_L1_error;}
49706 __Pyx_GOTREF(__pyx_tuple__49);
49707 __Pyx_GIVEREF(__pyx_tuple__49);
49708
49709 /* "xmmsapi.pyx":2376
49710 * self.do_loop = False
49711 *
49712 * self._loop_set_wakeup(None) # <<<<<<<<<<<<<<
49713 *
49714 * Xmms = XmmsApi
49715 */
49716 __pyx_tuple__50 = PyTuple_Pack(1, Py_None(&_Py_NoneStruct)); if (unlikely(!__pyx_tuple__50)__builtin_expect(!!(!__pyx_tuple__50), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2376; __pyx_clineno = __LINE__49716; goto __pyx_L1_error;}
49717 __Pyx_GOTREF(__pyx_tuple__50);
49718 __Pyx_GIVEREF(__pyx_tuple__50);
49719
49720 /* "xmmsapi.pyx":55
49721 * #####################################################################
49722 *
49723 * def deprecated(f): # <<<<<<<<<<<<<<
49724 * def deprecated_decorator(*a, **kw):
49725 * from os import getenv
49726 */
49727 __pyx_tuple__51 = PyTuple_Pack(3, __pyx_n_s_f, __pyx_n_s_deprecated_decorator, __pyx_n_s_deprecated_decorator); if (unlikely(!__pyx_tuple__51)__builtin_expect(!!(!__pyx_tuple__51), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; __pyx_clineno = __LINE__49727; goto __pyx_L1_error;}
49728 __Pyx_GOTREF(__pyx_tuple__51);
49729 __Pyx_GIVEREF(__pyx_tuple__51);
49730 __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_n_s_deprecated, 55, __pyx_empty_bytes)PyCode_New(1 +0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple
, __pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_n_s_deprecated
, 55, __pyx_empty_bytes)
; if (unlikely(!__pyx_codeobj__52)__builtin_expect(!!(!__pyx_codeobj__52), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; __pyx_clineno = __LINE__49730; goto __pyx_L1_error;}
49731
49732 /* "xmmsapi.pyx":383
49733 *
49734 *
49735 * def _noop(*a, **kw): # <<<<<<<<<<<<<<
49736 * pass
49737 * def _setcb(f, fb=_noop):
49738 */
49739 __pyx_tuple__53 = PyTuple_Pack(2, __pyx_n_s_a, __pyx_n_s_kw); if (unlikely(!__pyx_tuple__53)__builtin_expect(!!(!__pyx_tuple__53), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__49739; goto __pyx_L1_error;}
49740 __Pyx_GOTREF(__pyx_tuple__53);
49741 __Pyx_GIVEREF(__pyx_tuple__53);
49742 __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_n_s_noop, 383, __pyx_empty_bytes)PyCode_New(0 +0, 2, 0, 0x0004|0x0008, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple
, __pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_n_s_noop,
383, __pyx_empty_bytes)
; if (unlikely(!__pyx_codeobj__54)__builtin_expect(!!(!__pyx_codeobj__54), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__49742; goto __pyx_L1_error;}
49743
49744 /* "xmmsapi.pyx":385
49745 * def _noop(*a, **kw):
49746 * pass
49747 * def _setcb(f, fb=_noop): # <<<<<<<<<<<<<<
49748 * return hasattr(f, '__call__') and f or fb
49749 *
49750 */
49751 __pyx_tuple__55 = PyTuple_Pack(2, __pyx_n_s_f, __pyx_n_s_fb); if (unlikely(!__pyx_tuple__55)__builtin_expect(!!(!__pyx_tuple__55), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__49751; goto __pyx_L1_error;}
49752 __Pyx_GOTREF(__pyx_tuple__55);
49753 __Pyx_GIVEREF(__pyx_tuple__55);
49754 __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_n_s_setcb, 385, __pyx_empty_bytes)PyCode_New(2 +0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple
, __pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_n_s_setcb
, 385, __pyx_empty_bytes)
; if (unlikely(!__pyx_codeobj__56)__builtin_expect(!!(!__pyx_codeobj__56), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__49754; goto __pyx_L1_error;}
49755
49756 /* "xmmsapi.pyx":403
49757 * 'd': XMMSV_TYPE_DICT,
49758 * }
49759 * def __init__(self, name, type = '', doc = '', **kw): # <<<<<<<<<<<<<<
49760 * for key, value in kw.items():
49761 * setattr(self, key, value)
49762 */
49763 __pyx_tuple__57 = PyTuple_Pack(7, __pyx_n_s_self, __pyx_n_s_name_2, __pyx_n_s_type, __pyx_n_s_doc_2, __pyx_n_s_kw, __pyx_n_s_key, __pyx_n_s_value); if (unlikely(!__pyx_tuple__57)__builtin_expect(!!(!__pyx_tuple__57), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__49763; goto __pyx_L1_error;}
49764 __Pyx_GOTREF(__pyx_tuple__57);
49765 __Pyx_GIVEREF(__pyx_tuple__57);
49766 __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(4, 0, 7, 0, CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_n_s_init, 403, __pyx_empty_bytes)PyCode_New(4 +0, 7, 0, 0x0008, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple
, __pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_n_s_init,
403, __pyx_empty_bytes)
; if (unlikely(!__pyx_codeobj__58)__builtin_expect(!!(!__pyx_codeobj__58), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__49766; goto __pyx_L1_error;}
49767 __pyx_tuple__59 = PyTuple_Pack(2, ((PyObject*)__pyx_kp_s__15), ((PyObject*)__pyx_kp_s__15)); if (unlikely(!__pyx_tuple__59)__builtin_expect(!!(!__pyx_tuple__59), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__49767; goto __pyx_L1_error;}
49768 __Pyx_GOTREF(__pyx_tuple__59);
49769 __Pyx_GIVEREF(__pyx_tuple__59);
49770
49771 /* "xmmsapi.pyx":414
49772 *
49773 * class method_varg:
49774 * def __init__(self, doc = '', **kw): # <<<<<<<<<<<<<<
49775 * self.doc = doc
49776 * for key, value in kw.items():
49777 */
49778 __pyx_tuple__60 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_doc_2, __pyx_n_s_kw, __pyx_n_s_key, __pyx_n_s_value); if (unlikely(!__pyx_tuple__60)__builtin_expect(!!(!__pyx_tuple__60), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__49778; goto __pyx_L1_error;}
49779 __Pyx_GOTREF(__pyx_tuple__60);
49780 __Pyx_GIVEREF(__pyx_tuple__60);
49781 __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_n_s_init, 414, __pyx_empty_bytes)PyCode_New(2 +0, 5, 0, 0x0008, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple
, __pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_n_s_init,
414, __pyx_empty_bytes)
; if (unlikely(!__pyx_codeobj__61)__builtin_expect(!!(!__pyx_codeobj__61), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__49781; goto __pyx_L1_error;}
49782 __pyx_tuple__62 = PyTuple_Pack(1, ((PyObject*)__pyx_kp_s__15)); if (unlikely(!__pyx_tuple__62)__builtin_expect(!!(!__pyx_tuple__62), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__49782; goto __pyx_L1_error;}
49783 __Pyx_GOTREF(__pyx_tuple__62);
49784 __Pyx_GIVEREF(__pyx_tuple__62);
49785
49786 /* "xmmsapi.pyx":420
49787 *
49788 * class service_method:
49789 * def __init__(self, positional = None, named = None, name = None, doc = None): # <<<<<<<<<<<<<<
49790 * self.positional = positional or ()
49791 * self.named = named or ()
49792 */
49793 __pyx_tuple__63 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_positional, __pyx_n_s_named, __pyx_n_s_name_2, __pyx_n_s_doc_2); if (unlikely(!__pyx_tuple__63)__builtin_expect(!!(!__pyx_tuple__63), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__49793; goto __pyx_L1_error;}
49794 __Pyx_GOTREF(__pyx_tuple__63);
49795 __Pyx_GIVEREF(__pyx_tuple__63);
49796 __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(5, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_n_s_init, 420, __pyx_empty_bytes)PyCode_New(5 +0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple
, __pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_n_s_init,
420, __pyx_empty_bytes)
; if (unlikely(!__pyx_codeobj__64)__builtin_expect(!!(!__pyx_codeobj__64), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__49796; goto __pyx_L1_error;}
49797 __pyx_tuple__65 = PyTuple_Pack(4, ((PyObject *)Py_None(&_Py_NoneStruct)), ((PyObject *)Py_None(&_Py_NoneStruct)), ((PyObject *)Py_None(&_Py_NoneStruct)), ((PyObject *)Py_None(&_Py_NoneStruct))); if (unlikely(!__pyx_tuple__65)__builtin_expect(!!(!__pyx_tuple__65), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__49797; goto __pyx_L1_error;}
49798 __Pyx_GOTREF(__pyx_tuple__65);
49799 __Pyx_GIVEREF(__pyx_tuple__65);
49800
49801 /* "xmmsapi.pyx":426
49802 * self.doc = doc
49803 *
49804 * def __call__(self, f): # <<<<<<<<<<<<<<
49805 * f._xmms_service_entity = dict(
49806 * entity = 'method',
49807 */
49808 __pyx_tuple__66 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_f); if (unlikely(!__pyx_tuple__66)__builtin_expect(!!(!__pyx_tuple__66), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__49808; goto __pyx_L1_error;}
49809 __Pyx_GOTREF(__pyx_tuple__66);
49810 __Pyx_GIVEREF(__pyx_tuple__66);
49811 __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_n_s_call, 426, __pyx_empty_bytes)PyCode_New(2 +0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple
, __pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_n_s_call,
426, __pyx_empty_bytes)
; if (unlikely(!__pyx_codeobj__67)__builtin_expect(!!(!__pyx_codeobj__67), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__49811; goto __pyx_L1_error;}
49812
49813 /* "xmmsapi.pyx":457
49814 *
49815 * class service_constant:
49816 * def __init__(self, value): # <<<<<<<<<<<<<<
49817 * self.value = value
49818 *
49819 */
49820 __pyx_tuple__68 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_value); if (unlikely(!__pyx_tuple__68)__builtin_expect(!!(!__pyx_tuple__68), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__49820; goto __pyx_L1_error;}
49821 __Pyx_GOTREF(__pyx_tuple__68);
49822 __Pyx_GIVEREF(__pyx_tuple__68);
49823 __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_n_s_init, 457, __pyx_empty_bytes)PyCode_New(2 +0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple
, __pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_n_s_init,
457, __pyx_empty_bytes)
; if (unlikely(!__pyx_codeobj__69)__builtin_expect(!!(!__pyx_codeobj__69), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__49823; goto __pyx_L1_error;}
49824
49825 /* "xmmsapi.pyx":779
49826 *
49827 * class XmmsServiceClient(_XmmsServiceClient):
49828 * def _update_api(self, xvalue, recursive = False, cb = None): # <<<<<<<<<<<<<<
49829 * cdef XmmsValueC2C cxvalue
49830 * cxvalue = XmmsValueC2C(pyval = xvalue)
49831 */
49832 __pyx_tuple__70 = PyTuple_Pack(14, __pyx_n_s_self, __pyx_n_s_xvalue, __pyx_n_s_recursive, __pyx_n_s_cb, __pyx_n_s_cxvalue, __pyx_n_s_payload, __pyx_n_s_c, __pyx_n_s_v, __pyx_n_s_bc, __pyx_n_s_name_2, __pyx_n_s_doc_2, __pyx_n_s_m, __pyx_n_s_ns, __pyx_n_s_sc); if (unlikely(!__pyx_tuple__70)__builtin_expect(!!(!__pyx_tuple__70), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__49832; goto __pyx_L1_error;}
49833 __Pyx_GOTREF(__pyx_tuple__70);
49834 __Pyx_GIVEREF(__pyx_tuple__70);
49835 __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(4, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_n_s_update_api, 779, __pyx_empty_bytes)PyCode_New(4 +0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple
, __pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_n_s_update_api
, 779, __pyx_empty_bytes)
; if (unlikely(!__pyx_codeobj__71)__builtin_expect(!!(!__pyx_codeobj__71), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__49835; goto __pyx_L1_error;}
49836 __pyx_tuple__72 = PyTuple_Pack(2, ((PyObject *)Py_False((PyObject *) &_Py_ZeroStruct)), ((PyObject *)Py_None(&_Py_NoneStruct))); if (unlikely(!__pyx_tuple__72)__builtin_expect(!!(!__pyx_tuple__72), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__49836; goto __pyx_L1_error;}
49837 __Pyx_GOTREF(__pyx_tuple__72);
49838 __Pyx_GIVEREF(__pyx_tuple__72);
49839
49840 /* "xmmsapi.pyx":835
49841 * sc(recursive, cb)
49842 *
49843 * def _update_api_callback(self, cb = None, recursive = False): # <<<<<<<<<<<<<<
49844 * def _update_api(xvalue):
49845 * self._update_api(xvalue, recursive, cb)
49846 */
49847 __pyx_tuple__73 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_cb, __pyx_n_s_recursive, __pyx_n_s_update_api, __pyx_n_s_update_api); if (unlikely(!__pyx_tuple__73)__builtin_expect(!!(!__pyx_tuple__73), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__49847; goto __pyx_L1_error;}
49848 __Pyx_GOTREF(__pyx_tuple__73);
49849 __Pyx_GIVEREF(__pyx_tuple__73);
49850 __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_n_s_update_api_callback, 835, __pyx_empty_bytes)PyCode_New(3 +0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple
, __pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_n_s_update_api_callback
, 835, __pyx_empty_bytes)
; if (unlikely(!__pyx_codeobj__74)__builtin_expect(!!(!__pyx_codeobj__74), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__49850; goto __pyx_L1_error;}
49851 __pyx_tuple__75 = PyTuple_Pack(2, ((PyObject *)Py_None(&_Py_NoneStruct)), ((PyObject *)Py_False((PyObject *) &_Py_ZeroStruct))); if (unlikely(!__pyx_tuple__75)__builtin_expect(!!(!__pyx_tuple__75), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__49851; goto __pyx_L1_error;}
49852 __Pyx_GOTREF(__pyx_tuple__75);
49853 __Pyx_GIVEREF(__pyx_tuple__75);
49854
49855 /* "xmmsapi.pyx":842
49856 * return _update_api
49857 *
49858 * def __call__(self, recursive = False, cb = None): # <<<<<<<<<<<<<<
49859 * cdef XmmsResult res
49860 * cb = self._update_api_callback(cb, recursive)
49861 */
49862 __pyx_tuple__76 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_recursive, __pyx_n_s_cb, __pyx_n_s_res, __pyx_n_s_xvalue); if (unlikely(!__pyx_tuple__76)__builtin_expect(!!(!__pyx_tuple__76), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__49862; goto __pyx_L1_error;}
49863 __Pyx_GOTREF(__pyx_tuple__76);
49864 __Pyx_GIVEREF(__pyx_tuple__76);
49865 __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_n_s_call, 842, __pyx_empty_bytes)PyCode_New(3 +0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple
, __pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_n_s_call,
842, __pyx_empty_bytes)
; if (unlikely(!__pyx_codeobj__77)__builtin_expect(!!(!__pyx_codeobj__77), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__49865; goto __pyx_L1_error;}
49866 __pyx_tuple__78 = PyTuple_Pack(2, ((PyObject *)Py_False((PyObject *) &_Py_ZeroStruct)), ((PyObject *)Py_None(&_Py_NoneStruct))); if (unlikely(!__pyx_tuple__78)__builtin_expect(!!(!__pyx_tuple__78), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__49866; goto __pyx_L1_error;}
49867 __Pyx_GOTREF(__pyx_tuple__78);
49868 __Pyx_GIVEREF(__pyx_tuple__78);
49869
49870 /* "xmmsapi.pyx":879
49871 * return path
49872 *
49873 * def enforce_unicode(object o): # <<<<<<<<<<<<<<
49874 * if isinstance(o, unicode):
49875 * return o
49876 */
49877 __pyx_tuple__79 = PyTuple_Pack(1, __pyx_n_s_o); if (unlikely(!__pyx_tuple__79)__builtin_expect(!!(!__pyx_tuple__79), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__49877; goto __pyx_L1_error;}
49878 __Pyx_GOTREF(__pyx_tuple__79);
49879 __Pyx_GIVEREF(__pyx_tuple__79);
49880 __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_n_s_enforce_unicode, 879, __pyx_empty_bytes)PyCode_New(1 +0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple
, __pyx_kp_s_home_travis_build_dsvensson_xmm, __pyx_n_s_enforce_unicode
, 879, __pyx_empty_bytes)
; if (unlikely(!__pyx_codeobj__80)__builtin_expect(!!(!__pyx_codeobj__80), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__49880; goto __pyx_L1_error;}
49881 __Pyx_RefNannyFinishContext();
49882 return 0;
49883 __pyx_L1_error:;
49884 __Pyx_RefNannyFinishContext();
49885 return -1;
49886}
49887
49888static int __Pyx_InitGlobals(void) {
49889 if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__49889; goto __pyx_L1_error;};
49890 __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)__builtin_expect(!!(!__pyx_int_0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__49890; goto __pyx_L1_error;}
49891 __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)__builtin_expect(!!(!__pyx_int_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__49891; goto __pyx_L1_error;}
49892 __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)__builtin_expect(!!(!__pyx_int_neg_1), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__49892; goto __pyx_L1_error;}
49893 return 0;
49894 __pyx_L1_error:;
49895 return -1;
49896}
49897
49898#if PY_MAJOR_VERSION2 < 3
49899PyMODINIT_FUNCvoid initxmmsapi(void); /*proto*/
49900PyMODINIT_FUNCvoid initxmmsapi(void)
49901#else
49902PyMODINIT_FUNCvoid PyInit_xmmsapi(void); /*proto*/
49903PyMODINIT_FUNCvoid PyInit_xmmsapi(void)
49904#endif
49905{
49906 PyObject *__pyx_t_1 = NULL((void*)0);
49907 PyObject *__pyx_t_2 = NULL((void*)0);
49908 PyObject *__pyx_t_3 = NULL((void*)0);
49909 PyObject *__pyx_t_4 = NULL((void*)0);
49910 PyObject *__pyx_t_5 = NULL((void*)0);
49911 xmms_playback_seek_mode_t __pyx_t_6;
49912 int __pyx_lineno = 0;
49913 const char *__pyx_filename = NULL((void*)0);
49914 int __pyx_clineno = 0;
49915 __Pyx_RefNannyDeclarations
49916 #if CYTHON_REFNANNY0
49917 __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
49918 if (!__Pyx_RefNanny) {
49919 PyErr_Clear();
49920 __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
49921 if (!__Pyx_RefNanny)
49922 Py_FatalError("failed to import 'refnanny' module");
49923 }
49924 #endif
49925 __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_xmmsapi(void)", 0);
49926 if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__49926; goto __pyx_L1_error;}
49927 __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)__builtin_expect(!!(!__pyx_empty_tuple), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__49927; goto __pyx_L1_error;}
49928 __pyx_empty_bytes = PyBytes_FromStringAndSizePyString_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)__builtin_expect(!!(!__pyx_empty_bytes), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__49928; goto __pyx_L1_error;}
49929 #ifdef __Pyx_CyFunction_USED1
49930 if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__49930; goto __pyx_L1_error;}
49931 #endif
49932 #ifdef __Pyx_FusedFunction_USED
49933 if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__49933; goto __pyx_L1_error;}
49934 #endif
49935 #ifdef __Pyx_Generator_USED
49936 if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__49936; goto __pyx_L1_error;}
49937 #endif
49938 /*--- Library function declarations ---*/
49939 /*--- Threads initialization code ---*/
49940 #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
49941 #ifdef WITH_THREAD1 /* Python build with threading support? */
49942 PyEval_InitThreads();
49943 #endif
49944 #endif
49945 /*--- Module creation code ---*/
49946 #if PY_MAJOR_VERSION2 < 3
49947 __pyx_m = Py_InitModule4Py_InitModule4_64(__Pyx_NAMESTR("xmmsapi")("xmmsapi"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_Python_bindings_for_XMMS2)(__pyx_k_Python_bindings_for_XMMS2), 0, PYTHON_API_VERSION1013); Py_XINCREF(__pyx_m)do { if ((__pyx_m) == ((void*)0)) ; else ( ((PyObject*)(__pyx_m
))->ob_refcnt++); } while (0)
;
49948 #else
49949 __pyx_m = PyModule_Create(&__pyx_moduledef);
49950 #endif
49951 if (unlikely(!__pyx_m)__builtin_expect(!!(!__pyx_m), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__49951; goto __pyx_L1_error;}
49952 __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)__builtin_expect(!!(!__pyx_d), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__49952; goto __pyx_L1_error;}
49953 Py_INCREF(__pyx_d)( ((PyObject*)(__pyx_d))->ob_refcnt++);
49954 __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)("__builtin__")); if (unlikely(!__pyx_b)__builtin_expect(!!(!__pyx_b), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__49954; goto __pyx_L1_error;}
49955 #if CYTHON_COMPILING_IN_PYPY0
49956 Py_INCREF(__pyx_b)( ((PyObject*)(__pyx_b))->ob_refcnt++);
49957 #endif
49958 if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b)PyObject_SetAttrString((__pyx_m),("__builtins__"),(__pyx_b)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__49958; goto __pyx_L1_error;};
49959 /*--- Initialize various global constants etc. ---*/
49960 if (unlikely(__Pyx_InitGlobals() < 0)__builtin_expect(!!(__Pyx_InitGlobals() < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__49960; goto __pyx_L1_error;}
49961 #if PY_MAJOR_VERSION2 < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII0 || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT0)
49962 if (__Pyx_init_sys_getdefaultencoding_params() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__49962; goto __pyx_L1_error;}
49963 #endif
49964 if (__pyx_module_is_main_xmmsapi) {
49965 if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s_main)PyObject_SetAttrString((__pyx_m),("__name__"),(__pyx_n_s_main
))
< 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__49965; goto __pyx_L1_error;};
49966 }
49967 #if PY_MAJOR_VERSION2 >= 3
49968 {
49969 PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)__builtin_expect(!!(!modules), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__49969; goto __pyx_L1_error;}
49970 if (!PyDict_GetItemString(modules, "xmmsapi")) {
49971 if (unlikely(PyDict_SetItemString(modules, "xmmsapi", __pyx_m) < 0)__builtin_expect(!!(PyDict_SetItemString(modules, "xmmsapi", __pyx_m
) < 0), 0)
) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__49971; goto __pyx_L1_error;}
49972 }
49973 }
49974 #endif
49975 /*--- Builtin init code ---*/
49976 if (unlikely(__Pyx_InitCachedBuiltins() < 0)__builtin_expect(!!(__Pyx_InitCachedBuiltins() < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__49976; goto __pyx_L1_error;}
49977 /*--- Constants init code ---*/
49978 if (unlikely(__Pyx_InitCachedConstants() < 0)__builtin_expect(!!(__Pyx_InitCachedConstants() < 0), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__49978; goto __pyx_L1_error;}
49979 /*--- Global init code ---*/
49980 __pyx_v_7xmmsapi_select = Py_None(&_Py_NoneStruct); Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
49981 /*--- Variable export code ---*/
49982 /*--- Function export code ---*/
49983 if (__Pyx_ExportFunction("ResultNotifier", (void (*)(void))__pyx_f_7xmmsapi_ResultNotifier, "int (xmmsv_t *, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__49983; goto __pyx_L1_error;}
49984 if (__Pyx_ExportFunction("ResultDestroyNotifier", (void (*)(void))__pyx_f_7xmmsapi_ResultDestroyNotifier, "void (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__49984; goto __pyx_L1_error;}
49985 if (__Pyx_ExportFunction("service_method_proxy", (void (*)(void))__pyx_f_7xmmsapi_service_method_proxy, "xmmsv_t *(xmmsv_t *, xmmsv_t *, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__49985; goto __pyx_L1_error;}
49986 if (__Pyx_ExportFunction("_namespace_get", (void (*)(void))__pyx_f_7xmmsapi__namespace_get, "xmmsc_sc_namespace_t *(xmmsc_connection_t *, PyObject *, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__49986; goto __pyx_L1_error;}
49987 if (__Pyx_ExportFunction("python_need_out_fun", (void (*)(void))__pyx_f_7xmmsapi_python_need_out_fun, "void (int, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__49987; goto __pyx_L1_error;}
49988 if (__Pyx_ExportFunction("python_disconnect_fun", (void (*)(void))__pyx_f_7xmmsapi_python_disconnect_fun, "void (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__49988; goto __pyx_L1_error;}
49989 if (__Pyx_ExportFunction("userconfdir_get", (void (*)(void))__pyx_f_7xmmsapi_userconfdir_get, "PyObject *(int __pyx_skip_dispatch)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__49989; goto __pyx_L1_error;}
49990 /*--- Type init code ---*/
49991 if (PyType_Ready(&__pyx_type_7xmmsapi_XmmsSourcePreference) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__49991; goto __pyx_L1_error;}
49992 __pyx_type_7xmmsapi_XmmsSourcePreference.tp_print = 0;
49993 if (__Pyx_SetAttrString(__pyx_m, "XmmsSourcePreference", (PyObject *)&__pyx_type_7xmmsapi_XmmsSourcePreference)PyObject_SetAttrString((__pyx_m),("XmmsSourcePreference"),((PyObject
*)&__pyx_type_7xmmsapi_XmmsSourcePreference))
< 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__49993; goto __pyx_L1_error;}
49994 __pyx_ptype_7xmmsapi_XmmsSourcePreference = &__pyx_type_7xmmsapi_XmmsSourcePreference;
49995 __pyx_vtabptr_7xmmsapi_XmmsResult = &__pyx_vtable_7xmmsapi_XmmsResult;
49996 __pyx_vtable_7xmmsapi_XmmsResult.set_sourcepref = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsResult *, struct __pyx_obj_7xmmsapi_XmmsSourcePreference *))__pyx_f_7xmmsapi_10XmmsResult_set_sourcepref;
49997 __pyx_vtable_7xmmsapi_XmmsResult.set_result = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsResult *, xmmsc_result_t *))__pyx_f_7xmmsapi_10XmmsResult_set_result;
49998 __pyx_vtable_7xmmsapi_XmmsResult.set_callback = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsResult *, struct __pyx_obj_7xmmsapi_XmmsResultTracker *, PyObject *))__pyx_f_7xmmsapi_10XmmsResult_set_callback;
49999 __pyx_vtable_7xmmsapi_XmmsResult.disconnect = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsResult *, int __pyx_skip_dispatch))__pyx_f_7xmmsapi_10XmmsResult_disconnect;
50000 __pyx_vtable_7xmmsapi_XmmsResult.wait = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsResult *, int __pyx_skip_dispatch))__pyx_f_7xmmsapi_10XmmsResult_wait;
50001 __pyx_vtable_7xmmsapi_XmmsResult.is_error = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsResult *, int __pyx_skip_dispatch))__pyx_f_7xmmsapi_10XmmsResult_is_error;
50002 __pyx_vtable_7xmmsapi_XmmsResult.xmmsvalue = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsResult *, int __pyx_skip_dispatch))__pyx_f_7xmmsapi_10XmmsResult_xmmsvalue;
50003 __pyx_vtable_7xmmsapi_XmmsResult.value = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsResult *, int __pyx_skip_dispatch))__pyx_f_7xmmsapi_10XmmsResult_value;
50004 if (PyType_Ready(&__pyx_type_7xmmsapi_XmmsResult) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__50004; goto __pyx_L1_error;}
50005 __pyx_type_7xmmsapi_XmmsResult.tp_print = 0;
50006 if (__Pyx_SetVtable(__pyx_type_7xmmsapi_XmmsResult.tp_dict, __pyx_vtabptr_7xmmsapi_XmmsResult) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__50006; goto __pyx_L1_error;}
50007 if (__Pyx_SetAttrString(__pyx_m, "XmmsResult", (PyObject *)&__pyx_type_7xmmsapi_XmmsResult)PyObject_SetAttrString((__pyx_m),("XmmsResult"),((PyObject *)
&__pyx_type_7xmmsapi_XmmsResult))
< 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__50007; goto __pyx_L1_error;}
50008 __pyx_ptype_7xmmsapi_XmmsResult = &__pyx_type_7xmmsapi_XmmsResult;
50009 __pyx_vtabptr_7xmmsapi_XmmsResultTracker = &__pyx_vtable_7xmmsapi_XmmsResultTracker;
50010 __pyx_vtable_7xmmsapi_XmmsResultTracker.track_result = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsResultTracker *, struct __pyx_obj_7xmmsapi_XmmsResult *))__pyx_f_7xmmsapi_17XmmsResultTracker_track_result;
50011 __pyx_vtable_7xmmsapi_XmmsResultTracker.release_result = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsResultTracker *, struct __pyx_obj_7xmmsapi_XmmsResult *))__pyx_f_7xmmsapi_17XmmsResultTracker_release_result;
50012 __pyx_vtable_7xmmsapi_XmmsResultTracker.disconnect_all = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsResultTracker *, int))__pyx_f_7xmmsapi_17XmmsResultTracker_disconnect_all;
50013 if (PyType_Ready(&__pyx_type_7xmmsapi_XmmsResultTracker) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__50013; goto __pyx_L1_error;}
50014 __pyx_type_7xmmsapi_XmmsResultTracker.tp_print = 0;
50015 if (__Pyx_SetVtable(__pyx_type_7xmmsapi_XmmsResultTracker.tp_dict, __pyx_vtabptr_7xmmsapi_XmmsResultTracker) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__50015; goto __pyx_L1_error;}
50016 if (__Pyx_SetAttrString(__pyx_m, "XmmsResultTracker", (PyObject *)&__pyx_type_7xmmsapi_XmmsResultTracker)PyObject_SetAttrString((__pyx_m),("XmmsResultTracker"),((PyObject
*)&__pyx_type_7xmmsapi_XmmsResultTracker))
< 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__50016; goto __pyx_L1_error;}
50017 __pyx_ptype_7xmmsapi_XmmsResultTracker = &__pyx_type_7xmmsapi_XmmsResultTracker;
50018 __pyx_vtabptr_7xmmsapi_XmmsVisResult = &__pyx_vtable_7xmmsapi_XmmsVisResult;
50019 __pyx_vtable_7xmmsapi_XmmsVisResult.__pyx_base = *__pyx_vtabptr_7xmmsapi_XmmsResult;
50020 __pyx_vtable_7xmmsapi_XmmsVisResult.__pyx_base.xmmsvalue = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsResult *, int __pyx_skip_dispatch))__pyx_f_7xmmsapi_13XmmsVisResult_xmmsvalue;
50021 __pyx_vtable_7xmmsapi_XmmsVisResult.set_command = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsVisResult *, __pyx_t_7xmmsapi_VisResultCommand, xmmsc_connection_t *))__pyx_f_7xmmsapi_13XmmsVisResult_set_command;
50022 __pyx_vtable_7xmmsapi_XmmsVisResult.retrieve_error = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsVisResult *))__pyx_f_7xmmsapi_13XmmsVisResult_retrieve_error;
50023 __pyx_vtable_7xmmsapi_XmmsVisResult._init_xmmsvalue = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsVisResult *))__pyx_f_7xmmsapi_13XmmsVisResult__init_xmmsvalue;
50024 __pyx_vtable_7xmmsapi_XmmsVisResult._start_xmmsvalue = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsVisResult *))__pyx_f_7xmmsapi_13XmmsVisResult__start_xmmsvalue;
50025 __pyx_type_7xmmsapi_XmmsVisResult.tp_base = __pyx_ptype_7xmmsapi_XmmsResult;
50026 if (PyType_Ready(&__pyx_type_7xmmsapi_XmmsVisResult) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__50026; goto __pyx_L1_error;}
50027 __pyx_type_7xmmsapi_XmmsVisResult.tp_print = 0;
50028 if (__Pyx_SetVtable(__pyx_type_7xmmsapi_XmmsVisResult.tp_dict, __pyx_vtabptr_7xmmsapi_XmmsVisResult) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__50028; goto __pyx_L1_error;}
50029 if (__Pyx_SetAttrString(__pyx_m, "XmmsVisResult", (PyObject *)&__pyx_type_7xmmsapi_XmmsVisResult)PyObject_SetAttrString((__pyx_m),("XmmsVisResult"),((PyObject
*)&__pyx_type_7xmmsapi_XmmsVisResult))
< 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__50029; goto __pyx_L1_error;}
50030 __pyx_ptype_7xmmsapi_XmmsVisResult = &__pyx_type_7xmmsapi_XmmsVisResult;
50031 __pyx_vtabptr_7xmmsapi_XmmsVisChunk = &__pyx_vtable_7xmmsapi_XmmsVisChunk;
50032 __pyx_vtable_7xmmsapi_XmmsVisChunk.set_data = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsVisChunk *, short *, int))__pyx_f_7xmmsapi_12XmmsVisChunk_set_data;
50033 __pyx_vtable_7xmmsapi_XmmsVisChunk.get_buffer = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsVisChunk *, int __pyx_skip_dispatch))__pyx_f_7xmmsapi_12XmmsVisChunk_get_buffer;
50034 __pyx_vtable_7xmmsapi_XmmsVisChunk.get_data = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsVisChunk *, int __pyx_skip_dispatch))__pyx_f_7xmmsapi_12XmmsVisChunk_get_data;
50035 if (PyType_Ready(&__pyx_type_7xmmsapi_XmmsVisChunk) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__50035; goto __pyx_L1_error;}
50036 __pyx_type_7xmmsapi_XmmsVisChunk.tp_print = 0;
50037 if (__Pyx_SetVtable(__pyx_type_7xmmsapi_XmmsVisChunk.tp_dict, __pyx_vtabptr_7xmmsapi_XmmsVisChunk) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__50037; goto __pyx_L1_error;}
50038 if (__Pyx_SetAttrString(__pyx_m, "XmmsVisChunk", (PyObject *)&__pyx_type_7xmmsapi_XmmsVisChunk)PyObject_SetAttrString((__pyx_m),("XmmsVisChunk"),((PyObject *
)&__pyx_type_7xmmsapi_XmmsVisChunk))
< 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__50038; goto __pyx_L1_error;}
50039 __pyx_ptype_7xmmsapi_XmmsVisChunk = &__pyx_type_7xmmsapi_XmmsVisChunk;
50040 __pyx_vtabptr_7xmmsapi_XmmsCore = &__pyx_vtable_7xmmsapi_XmmsCore;
50041 __pyx_vtable_7xmmsapi_XmmsCore.new_connection = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsCore *))__pyx_f_7xmmsapi_8XmmsCore_new_connection;
50042 __pyx_vtable_7xmmsapi_XmmsCore.get_source_preference = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsCore *, int __pyx_skip_dispatch))__pyx_f_7xmmsapi_8XmmsCore_get_source_preference;
50043 __pyx_vtable_7xmmsapi_XmmsCore.set_source_preference = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsCore *, PyObject *, int __pyx_skip_dispatch))__pyx_f_7xmmsapi_8XmmsCore_set_source_preference;
50044 __pyx_vtable_7xmmsapi_XmmsCore._needout_cb = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsCore *, int, int __pyx_skip_dispatch))__pyx_f_7xmmsapi_8XmmsCore__needout_cb;
50045 __pyx_vtable_7xmmsapi_XmmsCore._disconnect_cb = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsCore *, int __pyx_skip_dispatch))__pyx_f_7xmmsapi_8XmmsCore__disconnect_cb;
50046 __pyx_vtable_7xmmsapi_XmmsCore.disconnect = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsCore *, int __pyx_skip_dispatch))__pyx_f_7xmmsapi_8XmmsCore_disconnect;
50047 __pyx_vtable_7xmmsapi_XmmsCore.ioin = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsCore *, int __pyx_skip_dispatch))__pyx_f_7xmmsapi_8XmmsCore_ioin;
50048 __pyx_vtable_7xmmsapi_XmmsCore.ioout = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsCore *, int __pyx_skip_dispatch))__pyx_f_7xmmsapi_8XmmsCore_ioout;
50049 __pyx_vtable_7xmmsapi_XmmsCore.want_ioout = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsCore *, int __pyx_skip_dispatch))__pyx_f_7xmmsapi_8XmmsCore_want_ioout;
50050 __pyx_vtable_7xmmsapi_XmmsCore.set_need_out_fun = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsCore *, PyObject *, int __pyx_skip_dispatch))__pyx_f_7xmmsapi_8XmmsCore_set_need_out_fun;
50051 __pyx_vtable_7xmmsapi_XmmsCore.get_fd = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsCore *, int __pyx_skip_dispatch))__pyx_f_7xmmsapi_8XmmsCore_get_fd;
50052 __pyx_vtable_7xmmsapi_XmmsCore.connect = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsCore *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_8XmmsCore_connect *__pyx_optional_args))__pyx_f_7xmmsapi_8XmmsCore_connect;
50053 __pyx_vtable_7xmmsapi_XmmsCore._create_result = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsCore *, PyObject *, xmmsc_result_t *, PyObject *))__pyx_f_7xmmsapi_8XmmsCore__create_result;
50054 __pyx_vtable_7xmmsapi_XmmsCore.create_result = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsCore *, PyObject *, xmmsc_result_t *))__pyx_f_7xmmsapi_8XmmsCore_create_result;
50055 __pyx_vtable_7xmmsapi_XmmsCore.create_vis_result = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsCore *, PyObject *, xmmsc_result_t *, __pyx_t_7xmmsapi_VisResultCommand))__pyx_f_7xmmsapi_8XmmsCore_create_vis_result;
50056 if (PyType_Ready(&__pyx_type_7xmmsapi_XmmsCore) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__50056; goto __pyx_L1_error;}
50057 __pyx_type_7xmmsapi_XmmsCore.tp_print = 0;
50058 if (__Pyx_SetVtable(__pyx_type_7xmmsapi_XmmsCore.tp_dict, __pyx_vtabptr_7xmmsapi_XmmsCore) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__50058; goto __pyx_L1_error;}
50059 if (__Pyx_SetAttrString(__pyx_m, "XmmsCore", (PyObject *)&__pyx_type_7xmmsapi_XmmsCore)PyObject_SetAttrString((__pyx_m),("XmmsCore"),((PyObject *)&
__pyx_type_7xmmsapi_XmmsCore))
< 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__50059; goto __pyx_L1_error;}
50060 __pyx_ptype_7xmmsapi_XmmsCore = &__pyx_type_7xmmsapi_XmmsCore;
50061 __pyx_vtabptr_7xmmsapi_XmmsServiceNamespace = &__pyx_vtable_7xmmsapi_XmmsServiceNamespace;
50062 __pyx_vtable_7xmmsapi_XmmsServiceNamespace._walk = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_20XmmsServiceNamespace__walk *__pyx_optional_args))__pyx_f_7xmmsapi_20XmmsServiceNamespace__walk;
50063 __pyx_vtable_7xmmsapi_XmmsServiceNamespace.register_namespace = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_7xmmsapi_20XmmsServiceNamespace_register_namespace;
50064 __pyx_vtable_7xmmsapi_XmmsServiceNamespace.register_constant = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_7xmmsapi_20XmmsServiceNamespace_register_constant;
50065 __pyx_vtable_7xmmsapi_XmmsServiceNamespace.register_method = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_7xmmsapi_20XmmsServiceNamespace_register_method;
50066 __pyx_vtable_7xmmsapi_XmmsServiceNamespace.register_broadcast = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_7xmmsapi_20XmmsServiceNamespace_register_broadcast;
50067 __pyx_vtable_7xmmsapi_XmmsServiceNamespace.__pyx_register = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *, int __pyx_skip_dispatch))__pyx_f_7xmmsapi_20XmmsServiceNamespace_register;
50068 if (PyType_Ready(&__pyx_type_7xmmsapi_XmmsServiceNamespace) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__50068; goto __pyx_L1_error;}
50069 __pyx_type_7xmmsapi_XmmsServiceNamespace.tp_print = 0;
50070 if (__Pyx_SetVtable(__pyx_type_7xmmsapi_XmmsServiceNamespace.tp_dict, __pyx_vtabptr_7xmmsapi_XmmsServiceNamespace) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__50070; goto __pyx_L1_error;}
50071 if (__Pyx_SetAttrString(__pyx_m, "XmmsServiceNamespace", (PyObject *)&__pyx_type_7xmmsapi_XmmsServiceNamespace)PyObject_SetAttrString((__pyx_m),("XmmsServiceNamespace"),((PyObject
*)&__pyx_type_7xmmsapi_XmmsServiceNamespace))
< 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__50071; goto __pyx_L1_error;}
50072 __pyx_ptype_7xmmsapi_XmmsServiceNamespace = &__pyx_type_7xmmsapi_XmmsServiceNamespace;
50073 __pyx_vtabptr_7xmmsapi_service_broadcast = &__pyx_vtable_7xmmsapi_service_broadcast;
50074 __pyx_vtable_7xmmsapi_service_broadcast.bind = (PyObject *(*)(struct __pyx_obj_7xmmsapi_service_broadcast *, struct __pyx_obj_7xmmsapi_XmmsServiceNamespace *, struct __pyx_opt_args_7xmmsapi_17service_broadcast_bind *__pyx_optional_args))__pyx_f_7xmmsapi_17service_broadcast_bind;
50075 __pyx_vtable_7xmmsapi_service_broadcast.emit = (PyObject *(*)(struct __pyx_obj_7xmmsapi_service_broadcast *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_17service_broadcast_emit *__pyx_optional_args))__pyx_f_7xmmsapi_17service_broadcast_emit;
50076 if (PyType_Ready(&__pyx_type_7xmmsapi_service_broadcast) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__50076; goto __pyx_L1_error;}
50077 __pyx_type_7xmmsapi_service_broadcast.tp_print = 0;
50078 if (__Pyx_SetVtable(__pyx_type_7xmmsapi_service_broadcast.tp_dict, __pyx_vtabptr_7xmmsapi_service_broadcast) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__50078; goto __pyx_L1_error;}
50079 if (__Pyx_SetAttrString(__pyx_m, "service_broadcast", (PyObject *)&__pyx_type_7xmmsapi_service_broadcast)PyObject_SetAttrString((__pyx_m),("service_broadcast"),((PyObject
*)&__pyx_type_7xmmsapi_service_broadcast))
< 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__50079; goto __pyx_L1_error;}
50080 __pyx_ptype_7xmmsapi_service_broadcast = &__pyx_type_7xmmsapi_service_broadcast;
50081 if (PyType_Ready(&__pyx_type_7xmmsapi__XmmsServiceClient) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__50081; goto __pyx_L1_error;}
50082 __pyx_type_7xmmsapi__XmmsServiceClient.tp_print = 0;
50083 if (__Pyx_SetAttrString(__pyx_m, "_XmmsServiceClient", (PyObject *)&__pyx_type_7xmmsapi__XmmsServiceClient)PyObject_SetAttrString((__pyx_m),("_XmmsServiceClient"),((PyObject
*)&__pyx_type_7xmmsapi__XmmsServiceClient))
< 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__50083; goto __pyx_L1_error;}
50084 __pyx_ptype_7xmmsapi__XmmsServiceClient = &__pyx_type_7xmmsapi__XmmsServiceClient;
50085 if (PyType_Ready(&__pyx_type_7xmmsapi_client_broadcast) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__50085; goto __pyx_L1_error;}
50086 __pyx_type_7xmmsapi_client_broadcast.tp_print = 0;
50087 if (__Pyx_SetAttrString(__pyx_m, "client_broadcast", (PyObject *)&__pyx_type_7xmmsapi_client_broadcast)PyObject_SetAttrString((__pyx_m),("client_broadcast"),((PyObject
*)&__pyx_type_7xmmsapi_client_broadcast))
< 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__50087; goto __pyx_L1_error;}
50088 __pyx_ptype_7xmmsapi_client_broadcast = &__pyx_type_7xmmsapi_client_broadcast;
50089 if (PyType_Ready(&__pyx_type_7xmmsapi_client_method) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__50089; goto __pyx_L1_error;}
50090 __pyx_type_7xmmsapi_client_method.tp_print = 0;
50091 if (__Pyx_SetAttrString(__pyx_m, "client_method", (PyObject *)&__pyx_type_7xmmsapi_client_method)PyObject_SetAttrString((__pyx_m),("client_method"),((PyObject
*)&__pyx_type_7xmmsapi_client_method))
< 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__50091; goto __pyx_L1_error;}
50092 __pyx_ptype_7xmmsapi_client_method = &__pyx_type_7xmmsapi_client_method;
50093 __pyx_vtabptr_7xmmsapi_XmmsProxy = &__pyx_vtable_7xmmsapi_XmmsProxy;
50094 __pyx_vtable_7xmmsapi_XmmsProxy._get_xmms = (struct __pyx_obj_7xmmsapi_XmmsCore *(*)(struct __pyx_obj_7xmmsapi_XmmsProxy *))__pyx_f_7xmmsapi_9XmmsProxy__get_xmms;
50095 if (PyType_Ready(&__pyx_type_7xmmsapi_XmmsProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__50095; goto __pyx_L1_error;}
50096 __pyx_type_7xmmsapi_XmmsProxy.tp_print = 0;
50097 if (__Pyx_SetVtable(__pyx_type_7xmmsapi_XmmsProxy.tp_dict, __pyx_vtabptr_7xmmsapi_XmmsProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__50097; goto __pyx_L1_error;}
50098 if (__Pyx_SetAttrString(__pyx_m, "XmmsProxy", (PyObject *)&__pyx_type_7xmmsapi_XmmsProxy)PyObject_SetAttrString((__pyx_m),("XmmsProxy"),((PyObject *)&
__pyx_type_7xmmsapi_XmmsProxy))
< 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__50098; goto __pyx_L1_error;}
50099 __pyx_ptype_7xmmsapi_XmmsProxy = &__pyx_type_7xmmsapi_XmmsProxy;
50100 __pyx_vtabptr_7xmmsapi_XmmsApi = &__pyx_vtable_7xmmsapi_XmmsApi;
50101 __pyx_vtable_7xmmsapi_XmmsApi.__pyx_base = *__pyx_vtabptr_7xmmsapi_XmmsCore;
50102 __pyx_vtable_7xmmsapi_XmmsApi.c2c_get_own_id = (int (*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch))__pyx_f_7xmmsapi_7XmmsApi_c2c_get_own_id;
50103 __pyx_vtable_7xmmsapi_XmmsApi.quit = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_quit *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_quit;
50104 __pyx_vtable_7xmmsapi_XmmsApi.plugin_list = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_plugin_list *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_plugin_list;
50105 __pyx_vtable_7xmmsapi_XmmsApi.playback_start = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_start *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playback_start;
50106 __pyx_vtable_7xmmsapi_XmmsApi.playback_stop = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_stop *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playback_stop;
50107 __pyx_vtable_7xmmsapi_XmmsApi.playback_tickle = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_tickle *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playback_tickle;
50108 __pyx_vtable_7xmmsapi_XmmsApi.playback_pause = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_pause *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playback_pause;
50109 __pyx_vtable_7xmmsapi_XmmsApi.playback_current_id = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_current_id *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playback_current_id;
50110 __pyx_vtable_7xmmsapi_XmmsApi.playback_seek_ms = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_seek_ms *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playback_seek_ms;
50111 __pyx_vtable_7xmmsapi_XmmsApi.playback_seek_samples = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_seek_samples *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playback_seek_samples;
50112 __pyx_vtable_7xmmsapi_XmmsApi.playback_status = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_status *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playback_status;
50113 __pyx_vtable_7xmmsapi_XmmsApi.broadcast_playback_status = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playback_status *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_broadcast_playback_status;
50114 __pyx_vtable_7xmmsapi_XmmsApi.broadcast_playback_current_id = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playback_current_id *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_broadcast_playback_current_id;
50115 __pyx_vtable_7xmmsapi_XmmsApi.playback_playtime = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_playtime *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playback_playtime;
50116 __pyx_vtable_7xmmsapi_XmmsApi.signal_playback_playtime = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_signal_playback_playtime *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_signal_playback_playtime;
50117 __pyx_vtable_7xmmsapi_XmmsApi.playback_volume_set = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_volume_set *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playback_volume_set;
50118 __pyx_vtable_7xmmsapi_XmmsApi.playback_volume_get = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playback_volume_get *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playback_volume_get;
50119 __pyx_vtable_7xmmsapi_XmmsApi.broadcast_playback_volume_changed = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playback_volume_changed *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_broadcast_playback_volume_changed;
50120 __pyx_vtable_7xmmsapi_XmmsApi.broadcast_playlist_loaded = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playlist_loaded *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_broadcast_playlist_loaded;
50121 __pyx_vtable_7xmmsapi_XmmsApi.playlist_load = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_load *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playlist_load;
50122 __pyx_vtable_7xmmsapi_XmmsApi.playlist_list = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_list *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playlist_list;
50123 __pyx_vtable_7xmmsapi_XmmsApi.playlist_remove = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_remove *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playlist_remove;
50124 __pyx_vtable_7xmmsapi_XmmsApi.playlist_shuffle = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_shuffle *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playlist_shuffle;
50125 __pyx_vtable_7xmmsapi_XmmsApi.playlist_rinsert = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_rinsert *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playlist_rinsert;
50126 __pyx_vtable_7xmmsapi_XmmsApi.playlist_insert_url = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_insert_url *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playlist_insert_url;
50127 __pyx_vtable_7xmmsapi_XmmsApi.playlist_insert_id = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_insert_id *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playlist_insert_id;
50128 __pyx_vtable_7xmmsapi_XmmsApi.playlist_insert_collection = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, struct __pyx_obj_9xmmsvalue_Collection *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_insert_collection *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playlist_insert_collection;
50129 __pyx_vtable_7xmmsapi_XmmsApi.playlist_radd = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_radd *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playlist_radd;
50130 __pyx_vtable_7xmmsapi_XmmsApi.playlist_add_url = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_add_url *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playlist_add_url;
50131 __pyx_vtable_7xmmsapi_XmmsApi.playlist_add_id = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_add_id *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playlist_add_id;
50132 __pyx_vtable_7xmmsapi_XmmsApi.playlist_add_collection = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, struct __pyx_obj_9xmmsvalue_Collection *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_add_collection *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playlist_add_collection;
50133 __pyx_vtable_7xmmsapi_XmmsApi.playlist_remove_entry = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_remove_entry *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playlist_remove_entry;
50134 __pyx_vtable_7xmmsapi_XmmsApi.playlist_clear = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_clear *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playlist_clear;
50135 __pyx_vtable_7xmmsapi_XmmsApi.playlist_list_entries = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_list_entries *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playlist_list_entries;
50136 __pyx_vtable_7xmmsapi_XmmsApi.playlist_sort = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_sort *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playlist_sort;
50137 __pyx_vtable_7xmmsapi_XmmsApi.playlist_set_next_rel = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_set_next_rel *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playlist_set_next_rel;
50138 __pyx_vtable_7xmmsapi_XmmsApi.playlist_set_next = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_set_next *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playlist_set_next;
50139 __pyx_vtable_7xmmsapi_XmmsApi.playlist_move = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_move *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playlist_move;
50140 __pyx_vtable_7xmmsapi_XmmsApi.playlist_create = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_create *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playlist_create;
50141 __pyx_vtable_7xmmsapi_XmmsApi.playlist_current_pos = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_current_pos *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playlist_current_pos;
50142 __pyx_vtable_7xmmsapi_XmmsApi.playlist_current_active = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_playlist_current_active *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_playlist_current_active;
50143 __pyx_vtable_7xmmsapi_XmmsApi.broadcast_playlist_current_pos = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playlist_current_pos *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_broadcast_playlist_current_pos;
50144 __pyx_vtable_7xmmsapi_XmmsApi.broadcast_playlist_changed = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_playlist_changed *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_broadcast_playlist_changed;
50145 __pyx_vtable_7xmmsapi_XmmsApi.broadcast_config_value_changed = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_config_value_changed *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_broadcast_config_value_changed;
50146 __pyx_vtable_7xmmsapi_XmmsApi.config_set_value = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_config_set_value *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_config_set_value;
50147 __pyx_vtable_7xmmsapi_XmmsApi.config_get_value = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_config_get_value *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_config_get_value;
50148 __pyx_vtable_7xmmsapi_XmmsApi.config_list_values = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_config_list_values *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_config_list_values;
50149 __pyx_vtable_7xmmsapi_XmmsApi.config_register_value = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_config_register_value *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_config_register_value;
50150 __pyx_vtable_7xmmsapi_XmmsApi.medialib_add_entry = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_add_entry *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_medialib_add_entry;
50151 __pyx_vtable_7xmmsapi_XmmsApi.medialib_remove_entry = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_remove_entry *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_medialib_remove_entry;
50152 __pyx_vtable_7xmmsapi_XmmsApi.medialib_move_entry = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_move_entry *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_medialib_move_entry;
50153 __pyx_vtable_7xmmsapi_XmmsApi.medialib_get_info = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_get_info *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_medialib_get_info;
50154 __pyx_vtable_7xmmsapi_XmmsApi.medialib_rehash = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_rehash *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_medialib_rehash;
50155 __pyx_vtable_7xmmsapi_XmmsApi.medialib_get_id = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_get_id *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_medialib_get_id;
50156 __pyx_vtable_7xmmsapi_XmmsApi.medialib_import_path = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_import_path *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_medialib_import_path;
50157 __pyx_vtable_7xmmsapi_XmmsApi.medialib_property_set = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, PyObject *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_property_set *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_medialib_property_set;
50158 __pyx_vtable_7xmmsapi_XmmsApi.medialib_property_remove = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_medialib_property_remove *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_medialib_property_remove;
50159 __pyx_vtable_7xmmsapi_XmmsApi.broadcast_medialib_entry_added = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_medialib_entry_added *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_broadcast_medialib_entry_added;
50160 __pyx_vtable_7xmmsapi_XmmsApi.broadcast_medialib_entry_updated = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_medialib_entry_updated *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_broadcast_medialib_entry_updated;
50161 __pyx_vtable_7xmmsapi_XmmsApi.broadcast_medialib_entry_removed = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_medialib_entry_removed *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_broadcast_medialib_entry_removed;
50162 __pyx_vtable_7xmmsapi_XmmsApi.broadcast_collection_changed = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_collection_changed *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_broadcast_collection_changed;
50163 __pyx_vtable_7xmmsapi_XmmsApi.signal_mediainfo_reader_unindexed = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_signal_mediainfo_reader_unindexed *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_signal_mediainfo_reader_unindexed;
50164 __pyx_vtable_7xmmsapi_XmmsApi.broadcast_mediainfo_reader_status = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_mediainfo_reader_status *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_broadcast_mediainfo_reader_status;
50165 __pyx_vtable_7xmmsapi_XmmsApi.xform_media_browse = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_xform_media_browse *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_xform_media_browse;
50166 __pyx_vtable_7xmmsapi_XmmsApi.coll_get = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_get *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_coll_get;
50167 __pyx_vtable_7xmmsapi_XmmsApi.coll_list = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_list *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_coll_list;
50168 __pyx_vtable_7xmmsapi_XmmsApi.coll_save = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, struct __pyx_obj_9xmmsvalue_Collection *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_save *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_coll_save;
50169 __pyx_vtable_7xmmsapi_XmmsApi.coll_remove = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_remove *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_coll_remove;
50170 __pyx_vtable_7xmmsapi_XmmsApi.coll_rename = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_rename *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_coll_rename;
50171 __pyx_vtable_7xmmsapi_XmmsApi.coll_idlist_from_playlist_file = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_idlist_from_playlist_file *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_coll_idlist_from_playlist_file;
50172 __pyx_vtable_7xmmsapi_XmmsApi.coll_query = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, struct __pyx_obj_9xmmsvalue_Collection *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_query *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_coll_query;
50173 __pyx_vtable_7xmmsapi_XmmsApi.coll_query_ids = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, struct __pyx_obj_9xmmsvalue_Collection *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_query_ids *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_coll_query_ids;
50174 __pyx_vtable_7xmmsapi_XmmsApi.coll_query_infos = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, struct __pyx_obj_9xmmsvalue_Collection *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_coll_query_infos *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_coll_query_infos;
50175 __pyx_vtable_7xmmsapi_XmmsApi.c2c_ready = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_c2c_ready *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_c2c_ready;
50176 __pyx_vtable_7xmmsapi_XmmsApi.c2c_get_connected_clients = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_c2c_get_connected_clients *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_c2c_get_connected_clients;
50177 __pyx_vtable_7xmmsapi_XmmsApi.c2c_get_ready_clients = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_c2c_get_ready_clients *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_c2c_get_ready_clients;
50178 __pyx_vtable_7xmmsapi_XmmsApi.broadcast_c2c_ready = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_c2c_ready *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_broadcast_c2c_ready;
50179 __pyx_vtable_7xmmsapi_XmmsApi.broadcast_c2c_client_connected = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_c2c_client_connected *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_broadcast_c2c_client_connected;
50180 __pyx_vtable_7xmmsapi_XmmsApi.broadcast_c2c_client_disconnected = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_broadcast_c2c_client_disconnected *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_broadcast_c2c_client_disconnected;
50181 __pyx_vtable_7xmmsapi_XmmsApi.sc_init = (int (*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch))__pyx_f_7xmmsapi_7XmmsApi_sc_init;
50182 __pyx_vtable_7xmmsapi_XmmsApi.sc_broadcast_emit = (int (*)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_broadcast_emit *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_sc_broadcast_emit;
50183 __pyx_vtable_7xmmsapi_XmmsApi.sc_broadcast_subscribe = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_broadcast_subscribe *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_sc_broadcast_subscribe;
50184 __pyx_vtable_7xmmsapi_XmmsApi.sc_call = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_call *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_sc_call;
50185 __pyx_vtable_7xmmsapi_XmmsApi.sc_introspect_namespace = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_namespace *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_sc_introspect_namespace;
50186 __pyx_vtable_7xmmsapi_XmmsApi.sc_introspect_method = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_method *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_sc_introspect_method;
50187 __pyx_vtable_7xmmsapi_XmmsApi.sc_introspect_broadcast = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_broadcast *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_sc_introspect_broadcast;
50188 __pyx_vtable_7xmmsapi_XmmsApi.sc_introspect_constant = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_constant *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_sc_introspect_constant;
50189 __pyx_vtable_7xmmsapi_XmmsApi.sc_introspect_docstring = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_sc_introspect_docstring *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_sc_introspect_docstring;
50190 __pyx_vtable_7xmmsapi_XmmsApi.bindata_add = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_bindata_add *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_bindata_add;
50191 __pyx_vtable_7xmmsapi_XmmsApi.bindata_retrieve = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_bindata_retrieve *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_bindata_retrieve;
50192 __pyx_vtable_7xmmsapi_XmmsApi.bindata_remove = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_bindata_remove *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_bindata_remove;
50193 __pyx_vtable_7xmmsapi_XmmsApi.bindata_list = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_bindata_list *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_bindata_list;
50194 __pyx_vtable_7xmmsapi_XmmsApi.stats = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_stats *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_stats;
50195 __pyx_vtable_7xmmsapi_XmmsApi.visualization_version = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_version *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_visualization_version;
50196 __pyx_vtable_7xmmsapi_XmmsApi.visualization_init = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_init *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_visualization_init;
50197 __pyx_vtable_7xmmsapi_XmmsApi.visualization_start = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_start *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_visualization_start;
50198 __pyx_vtable_7xmmsapi_XmmsApi.visualization_started = (int (*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch))__pyx_f_7xmmsapi_7XmmsApi_visualization_started;
50199 __pyx_vtable_7xmmsapi_XmmsApi.visualization_errored = (int (*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch))__pyx_f_7xmmsapi_7XmmsApi_visualization_errored;
50200 __pyx_vtable_7xmmsapi_XmmsApi.visualization_property_set = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, PyObject *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_property_set *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_visualization_property_set;
50201 __pyx_vtable_7xmmsapi_XmmsApi.visualization_properties_set = (struct __pyx_obj_7xmmsapi_XmmsResult *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_properties_set *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_visualization_properties_set;
50202 __pyx_vtable_7xmmsapi_XmmsApi.visualization_chunk_get = (struct __pyx_obj_7xmmsapi_XmmsVisChunk *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch, struct __pyx_opt_args_7xmmsapi_7XmmsApi_visualization_chunk_get *__pyx_optional_args))__pyx_f_7xmmsapi_7XmmsApi_visualization_chunk_get;
50203 __pyx_vtable_7xmmsapi_XmmsApi.visualization_shutdown = (PyObject *(*)(struct __pyx_obj_7xmmsapi_XmmsApi *, int, int __pyx_skip_dispatch))__pyx_f_7xmmsapi_7XmmsApi_visualization_shutdown;
50204 __pyx_type_7xmmsapi_XmmsApi.tp_base = __pyx_ptype_7xmmsapi_XmmsCore;
50205 if (PyType_Ready(&__pyx_type_7xmmsapi_XmmsApi) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__50205; goto __pyx_L1_error;}
50206 __pyx_type_7xmmsapi_XmmsApi.tp_print = 0;
50207 if (__Pyx_SetVtable(__pyx_type_7xmmsapi_XmmsApi.tp_dict, __pyx_vtabptr_7xmmsapi_XmmsApi) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__50207; goto __pyx_L1_error;}
50208 if (__Pyx_SetAttrString(__pyx_m, "XmmsApi", (PyObject *)&__pyx_type_7xmmsapi_XmmsApi)PyObject_SetAttrString((__pyx_m),("XmmsApi"),((PyObject *)&
__pyx_type_7xmmsapi_XmmsApi))
< 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__50208; goto __pyx_L1_error;}
50209 __pyx_ptype_7xmmsapi_XmmsApi = &__pyx_type_7xmmsapi_XmmsApi;
50210 __pyx_vtabptr_7xmmsapi_XmmsLoop = &__pyx_vtable_7xmmsapi_XmmsLoop;
50211 __pyx_vtable_7xmmsapi_XmmsLoop.__pyx_base = *__pyx_vtabptr_7xmmsapi_XmmsApi;
50212 __pyx_type_7xmmsapi_XmmsLoop.tp_base = __pyx_ptype_7xmmsapi_XmmsApi;
50213 if (PyType_Ready(&__pyx_type_7xmmsapi_XmmsLoop) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2278; __pyx_clineno = __LINE__50213; goto __pyx_L1_error;}
50214 __pyx_type_7xmmsapi_XmmsLoop.tp_print = 0;
50215 if (__Pyx_SetVtable(__pyx_type_7xmmsapi_XmmsLoop.tp_dict, __pyx_vtabptr_7xmmsapi_XmmsLoop) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2278; __pyx_clineno = __LINE__50215; goto __pyx_L1_error;}
50216 if (__Pyx_SetAttrString(__pyx_m, "XmmsLoop", (PyObject *)&__pyx_type_7xmmsapi_XmmsLoop)PyObject_SetAttrString((__pyx_m),("XmmsLoop"),((PyObject *)&
__pyx_type_7xmmsapi_XmmsLoop))
< 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2278; __pyx_clineno = __LINE__50216; goto __pyx_L1_error;}
50217 __pyx_ptype_7xmmsapi_XmmsLoop = &__pyx_type_7xmmsapi_XmmsLoop;
50218 if (PyType_Ready(&__pyx_type_7xmmsapi___pyx_scope_struct__deprecated) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; __pyx_clineno = __LINE__50218; goto __pyx_L1_error;}
50219 __pyx_type_7xmmsapi___pyx_scope_struct__deprecated.tp_print = 0;
50220 __pyx_ptype_7xmmsapi___pyx_scope_struct__deprecated = &__pyx_type_7xmmsapi___pyx_scope_struct__deprecated;
50221 if (PyType_Ready(&__pyx_type_7xmmsapi___pyx_scope_struct_1__update_api_callback) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__50221; goto __pyx_L1_error;}
50222 __pyx_type_7xmmsapi___pyx_scope_struct_1__update_api_callback.tp_print = 0;
50223 __pyx_ptype_7xmmsapi___pyx_scope_struct_1__update_api_callback = &__pyx_type_7xmmsapi___pyx_scope_struct_1__update_api_callback;
50224 /*--- Type import code ---*/
50225 __pyx_ptype_9xmmsvalue_XmmsValue = __Pyx_ImportType("xmmsvalue", "XmmsValue", sizeof(struct __pyx_obj_9xmmsvalue_XmmsValue), 1); if (unlikely(!__pyx_ptype_9xmmsvalue_XmmsValue)__builtin_expect(!!(!__pyx_ptype_9xmmsvalue_XmmsValue), 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 8; __pyx_clineno = __LINE__50225; goto __pyx_L1_error;}
50226 __pyx_vtabptr_9xmmsvalue_XmmsValue = (struct __pyx_vtabstruct_9xmmsvalue_XmmsValue*)__Pyx_GetVtable(__pyx_ptype_9xmmsvalue_XmmsValue->tp_dict); if (unlikely(!__pyx_vtabptr_9xmmsvalue_XmmsValue)__builtin_expect(!!(!__pyx_vtabptr_9xmmsvalue_XmmsValue), 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 8; __pyx_clineno = __LINE__50226; goto __pyx_L1_error;}
50227 __pyx_ptype_9xmmsvalue_XmmsValueC2C = __Pyx_ImportType("xmmsvalue", "XmmsValueC2C", sizeof(struct __pyx_obj_9xmmsvalue_XmmsValueC2C), 1); if (unlikely(!__pyx_ptype_9xmmsvalue_XmmsValueC2C)__builtin_expect(!!(!__pyx_ptype_9xmmsvalue_XmmsValueC2C), 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 32; __pyx_clineno = __LINE__50227; goto __pyx_L1_error;}
50228 __pyx_vtabptr_9xmmsvalue_XmmsValueC2C = (struct __pyx_vtabstruct_9xmmsvalue_XmmsValueC2C*)__Pyx_GetVtable(__pyx_ptype_9xmmsvalue_XmmsValueC2C->tp_dict); if (unlikely(!__pyx_vtabptr_9xmmsvalue_XmmsValueC2C)__builtin_expect(!!(!__pyx_vtabptr_9xmmsvalue_XmmsValueC2C), 0
)
) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 32; __pyx_clineno = __LINE__50228; goto __pyx_L1_error;}
50229 __pyx_ptype_9xmmsvalue_XmmsListIter = __Pyx_ImportType("xmmsvalue", "XmmsListIter", sizeof(struct __pyx_obj_9xmmsvalue_XmmsListIter), 1); if (unlikely(!__pyx_ptype_9xmmsvalue_XmmsListIter)__builtin_expect(!!(!__pyx_ptype_9xmmsvalue_XmmsListIter), 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 35; __pyx_clineno = __LINE__50229; goto __pyx_L1_error;}
50230 __pyx_ptype_9xmmsvalue_XmmsDictIter = __Pyx_ImportType("xmmsvalue", "XmmsDictIter", sizeof(struct __pyx_obj_9xmmsvalue_XmmsDictIter), 1); if (unlikely(!__pyx_ptype_9xmmsvalue_XmmsDictIter)__builtin_expect(!!(!__pyx_ptype_9xmmsvalue_XmmsDictIter), 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 40; __pyx_clineno = __LINE__50230; goto __pyx_L1_error;}
50231 __pyx_ptype_9xmmsvalue_CollectionRef = __Pyx_ImportType("xmmsvalue", "CollectionRef", sizeof(struct __pyx_obj_9xmmsvalue_CollectionRef), 1); if (unlikely(!__pyx_ptype_9xmmsvalue_CollectionRef)__builtin_expect(!!(!__pyx_ptype_9xmmsvalue_CollectionRef), 0
)
) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 45; __pyx_clineno = __LINE__50231; goto __pyx_L1_error;}
50232 __pyx_vtabptr_9xmmsvalue_CollectionRef = (struct __pyx_vtabstruct_9xmmsvalue_CollectionRef*)__Pyx_GetVtable(__pyx_ptype_9xmmsvalue_CollectionRef->tp_dict); if (unlikely(!__pyx_vtabptr_9xmmsvalue_CollectionRef)__builtin_expect(!!(!__pyx_vtabptr_9xmmsvalue_CollectionRef),
0)
) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 45; __pyx_clineno = __LINE__50232; goto __pyx_L1_error;}
50233 __pyx_ptype_9xmmsvalue_Collection = __Pyx_ImportType("xmmsvalue", "Collection", sizeof(struct __pyx_obj_9xmmsvalue_Collection), 1); if (unlikely(!__pyx_ptype_9xmmsvalue_Collection)__builtin_expect(!!(!__pyx_ptype_9xmmsvalue_Collection), 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 50; __pyx_clineno = __LINE__50233; goto __pyx_L1_error;}
50234 __pyx_vtabptr_9xmmsvalue_Collection = (struct __pyx_vtabstruct_9xmmsvalue_Collection*)__Pyx_GetVtable(__pyx_ptype_9xmmsvalue_Collection->tp_dict); if (unlikely(!__pyx_vtabptr_9xmmsvalue_Collection)__builtin_expect(!!(!__pyx_vtabptr_9xmmsvalue_Collection), 0)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 50; __pyx_clineno = __LINE__50234; goto __pyx_L1_error;}
50235 __pyx_ptype_9xmmsvalue_CollectionAttributes = __Pyx_ImportType("xmmsvalue", "CollectionAttributes", sizeof(struct __pyx_obj_9xmmsvalue_CollectionAttributes), 1); if (unlikely(!__pyx_ptype_9xmmsvalue_CollectionAttributes)__builtin_expect(!!(!__pyx_ptype_9xmmsvalue_CollectionAttributes
), 0)
) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 61; __pyx_clineno = __LINE__50235; goto __pyx_L1_error;}
50236 __pyx_vtabptr_9xmmsvalue_CollectionAttributes = (struct __pyx_vtabstruct_9xmmsvalue_CollectionAttributes*)__Pyx_GetVtable(__pyx_ptype_9xmmsvalue_CollectionAttributes->tp_dict); if (unlikely(!__pyx_vtabptr_9xmmsvalue_CollectionAttributes)__builtin_expect(!!(!__pyx_vtabptr_9xmmsvalue_CollectionAttributes
), 0)
) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 61; __pyx_clineno = __LINE__50236; goto __pyx_L1_error;}
50237 __pyx_ptype_9xmmsvalue_AttributesIterator = __Pyx_ImportType("xmmsvalue", "AttributesIterator", sizeof(struct __pyx_obj_9xmmsvalue_AttributesIterator), 1); if (unlikely(!__pyx_ptype_9xmmsvalue_AttributesIterator)__builtin_expect(!!(!__pyx_ptype_9xmmsvalue_AttributesIterator
), 0)
) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 81; __pyx_clineno = __LINE__50237; goto __pyx_L1_error;}
50238 __pyx_vtabptr_9xmmsvalue_AttributesIterator = (struct __pyx_vtabstruct_9xmmsvalue_AttributesIterator*)__Pyx_GetVtable(__pyx_ptype_9xmmsvalue_AttributesIterator->tp_dict); if (unlikely(!__pyx_vtabptr_9xmmsvalue_AttributesIterator)__builtin_expect(!!(!__pyx_vtabptr_9xmmsvalue_AttributesIterator
), 0)
) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 81; __pyx_clineno = __LINE__50238; goto __pyx_L1_error;}
50239 __pyx_ptype_9xmmsvalue_CollectionOperands = __Pyx_ImportType("xmmsvalue", "CollectionOperands", sizeof(struct __pyx_obj_9xmmsvalue_CollectionOperands), 1); if (unlikely(!__pyx_ptype_9xmmsvalue_CollectionOperands)__builtin_expect(!!(!__pyx_ptype_9xmmsvalue_CollectionOperands
), 0)
) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 89; __pyx_clineno = __LINE__50239; goto __pyx_L1_error;}
50240 __pyx_vtabptr_9xmmsvalue_CollectionOperands = (struct __pyx_vtabstruct_9xmmsvalue_CollectionOperands*)__Pyx_GetVtable(__pyx_ptype_9xmmsvalue_CollectionOperands->tp_dict); if (unlikely(!__pyx_vtabptr_9xmmsvalue_CollectionOperands)__builtin_expect(!!(!__pyx_vtabptr_9xmmsvalue_CollectionOperands
), 0)
) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 89; __pyx_clineno = __LINE__50240; goto __pyx_L1_error;}
50241 __pyx_ptype_9xmmsvalue_CollectionIDList = __Pyx_ImportType("xmmsvalue", "CollectionIDList", sizeof(struct __pyx_obj_9xmmsvalue_CollectionIDList), 1); if (unlikely(!__pyx_ptype_9xmmsvalue_CollectionIDList)__builtin_expect(!!(!__pyx_ptype_9xmmsvalue_CollectionIDList)
, 0)
) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 100; __pyx_clineno = __LINE__50241; goto __pyx_L1_error;}
50242 __pyx_vtabptr_9xmmsvalue_CollectionIDList = (struct __pyx_vtabstruct_9xmmsvalue_CollectionIDList*)__Pyx_GetVtable(__pyx_ptype_9xmmsvalue_CollectionIDList->tp_dict); if (unlikely(!__pyx_vtabptr_9xmmsvalue_CollectionIDList)__builtin_expect(!!(!__pyx_vtabptr_9xmmsvalue_CollectionIDList
), 0)
) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 100; __pyx_clineno = __LINE__50242; goto __pyx_L1_error;}
50243 /*--- Variable import code ---*/
50244 /*--- Function import code ---*/
50245 __pyx_t_1 = __Pyx_ImportModule("xmmsvalue"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__50245; goto __pyx_L1_error;}
50246 if (__Pyx_ImportFunction(__pyx_t_1, "create_native_value", (void (**)(void))&__pyx_f_9xmmsvalue_create_native_value, "xmmsv_t *(PyObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__50246; goto __pyx_L1_error;}
50247 if (__Pyx_ImportFunction(__pyx_t_1, "get_default_source_pref", (void (**)(void))&__pyx_f_9xmmsvalue_get_default_source_pref, "PyObject *(void)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__50247; goto __pyx_L1_error;}
50248 Py_DECREF(__pyx_t_1)do { if ( --((PyObject*)(__pyx_t_1))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_1)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_1)))); } while (
0)
; __pyx_t_1 = 0;
50249 /*--- Execution code ---*/
50250
50251 /* "xmmsapi.pyx":16
50252 * # The following constants are meant for interpreting the return value of
50253 * # XMMS.playback_status ()
50254 * PLAYBACK_STATUS_STOP = XMMS_PLAYBACK_STATUS_STOP # <<<<<<<<<<<<<<
50255 * PLAYBACK_STATUS_PLAY = XMMS_PLAYBACK_STATUS_PLAY
50256 * PLAYBACK_STATUS_PAUSE = XMMS_PLAYBACK_STATUS_PAUSE
50257 */
50258 __pyx_t_2 = PyInt_FromLong(XMMS_PLAYBACK_STATUS_STOP); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__50258; goto __pyx_L1_error;}
50259 __Pyx_GOTREF(__pyx_t_2);
50260 if (PyDict_SetItem(__pyx_d, __pyx_n_s_PLAYBACK_STATUS_STOP, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__50260; goto __pyx_L1_error;}
50261 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50262
50263 /* "xmmsapi.pyx":17
50264 * # XMMS.playback_status ()
50265 * PLAYBACK_STATUS_STOP = XMMS_PLAYBACK_STATUS_STOP
50266 * PLAYBACK_STATUS_PLAY = XMMS_PLAYBACK_STATUS_PLAY # <<<<<<<<<<<<<<
50267 * PLAYBACK_STATUS_PAUSE = XMMS_PLAYBACK_STATUS_PAUSE
50268 *
50269 */
50270 __pyx_t_2 = PyInt_FromLong(XMMS_PLAYBACK_STATUS_PLAY); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__50270; goto __pyx_L1_error;}
50271 __Pyx_GOTREF(__pyx_t_2);
50272 if (PyDict_SetItem(__pyx_d, __pyx_n_s_PLAYBACK_STATUS_PLAY, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__50272; goto __pyx_L1_error;}
50273 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50274
50275 /* "xmmsapi.pyx":18
50276 * PLAYBACK_STATUS_STOP = XMMS_PLAYBACK_STATUS_STOP
50277 * PLAYBACK_STATUS_PLAY = XMMS_PLAYBACK_STATUS_PLAY
50278 * PLAYBACK_STATUS_PAUSE = XMMS_PLAYBACK_STATUS_PAUSE # <<<<<<<<<<<<<<
50279 *
50280 * PLAYLIST_CHANGED_ADD = XMMS_PLAYLIST_CHANGED_ADD
50281 */
50282 __pyx_t_2 = PyInt_FromLong(XMMS_PLAYBACK_STATUS_PAUSE); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__50282; goto __pyx_L1_error;}
50283 __Pyx_GOTREF(__pyx_t_2);
50284 if (PyDict_SetItem(__pyx_d, __pyx_n_s_PLAYBACK_STATUS_PAUSE, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__50284; goto __pyx_L1_error;}
50285 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50286
50287 /* "xmmsapi.pyx":20
50288 * PLAYBACK_STATUS_PAUSE = XMMS_PLAYBACK_STATUS_PAUSE
50289 *
50290 * PLAYLIST_CHANGED_ADD = XMMS_PLAYLIST_CHANGED_ADD # <<<<<<<<<<<<<<
50291 * PLAYLIST_CHANGED_INSERT = XMMS_PLAYLIST_CHANGED_INSERT
50292 * PLAYLIST_CHANGED_SHUFFLE = XMMS_PLAYLIST_CHANGED_SHUFFLE
50293 */
50294 __pyx_t_2 = PyInt_FromLong(XMMS_PLAYLIST_CHANGED_ADD); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__50294; goto __pyx_L1_error;}
50295 __Pyx_GOTREF(__pyx_t_2);
50296 if (PyDict_SetItem(__pyx_d, __pyx_n_s_PLAYLIST_CHANGED_ADD, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__50296; goto __pyx_L1_error;}
50297 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50298
50299 /* "xmmsapi.pyx":21
50300 *
50301 * PLAYLIST_CHANGED_ADD = XMMS_PLAYLIST_CHANGED_ADD
50302 * PLAYLIST_CHANGED_INSERT = XMMS_PLAYLIST_CHANGED_INSERT # <<<<<<<<<<<<<<
50303 * PLAYLIST_CHANGED_SHUFFLE = XMMS_PLAYLIST_CHANGED_SHUFFLE
50304 * PLAYLIST_CHANGED_REMOVE = XMMS_PLAYLIST_CHANGED_REMOVE
50305 */
50306 __pyx_t_2 = PyInt_FromLong(XMMS_PLAYLIST_CHANGED_INSERT); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__50306; goto __pyx_L1_error;}
50307 __Pyx_GOTREF(__pyx_t_2);
50308 if (PyDict_SetItem(__pyx_d, __pyx_n_s_PLAYLIST_CHANGED_INSERT, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__50308; goto __pyx_L1_error;}
50309 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50310
50311 /* "xmmsapi.pyx":22
50312 * PLAYLIST_CHANGED_ADD = XMMS_PLAYLIST_CHANGED_ADD
50313 * PLAYLIST_CHANGED_INSERT = XMMS_PLAYLIST_CHANGED_INSERT
50314 * PLAYLIST_CHANGED_SHUFFLE = XMMS_PLAYLIST_CHANGED_SHUFFLE # <<<<<<<<<<<<<<
50315 * PLAYLIST_CHANGED_REMOVE = XMMS_PLAYLIST_CHANGED_REMOVE
50316 * PLAYLIST_CHANGED_CLEAR = XMMS_PLAYLIST_CHANGED_CLEAR
50317 */
50318 __pyx_t_2 = PyInt_FromLong(XMMS_PLAYLIST_CHANGED_SHUFFLE); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__50318; goto __pyx_L1_error;}
50319 __Pyx_GOTREF(__pyx_t_2);
50320 if (PyDict_SetItem(__pyx_d, __pyx_n_s_PLAYLIST_CHANGED_SHUFFLE, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__50320; goto __pyx_L1_error;}
50321 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50322
50323 /* "xmmsapi.pyx":23
50324 * PLAYLIST_CHANGED_INSERT = XMMS_PLAYLIST_CHANGED_INSERT
50325 * PLAYLIST_CHANGED_SHUFFLE = XMMS_PLAYLIST_CHANGED_SHUFFLE
50326 * PLAYLIST_CHANGED_REMOVE = XMMS_PLAYLIST_CHANGED_REMOVE # <<<<<<<<<<<<<<
50327 * PLAYLIST_CHANGED_CLEAR = XMMS_PLAYLIST_CHANGED_CLEAR
50328 * PLAYLIST_CHANGED_MOVE = XMMS_PLAYLIST_CHANGED_MOVE
50329 */
50330 __pyx_t_2 = PyInt_FromLong(XMMS_PLAYLIST_CHANGED_REMOVE); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__50330; goto __pyx_L1_error;}
50331 __Pyx_GOTREF(__pyx_t_2);
50332 if (PyDict_SetItem(__pyx_d, __pyx_n_s_PLAYLIST_CHANGED_REMOVE, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__50332; goto __pyx_L1_error;}
50333 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50334
50335 /* "xmmsapi.pyx":24
50336 * PLAYLIST_CHANGED_SHUFFLE = XMMS_PLAYLIST_CHANGED_SHUFFLE
50337 * PLAYLIST_CHANGED_REMOVE = XMMS_PLAYLIST_CHANGED_REMOVE
50338 * PLAYLIST_CHANGED_CLEAR = XMMS_PLAYLIST_CHANGED_CLEAR # <<<<<<<<<<<<<<
50339 * PLAYLIST_CHANGED_MOVE = XMMS_PLAYLIST_CHANGED_MOVE
50340 * PLAYLIST_CHANGED_SORT = XMMS_PLAYLIST_CHANGED_SORT
50341 */
50342 __pyx_t_2 = PyInt_FromLong(XMMS_PLAYLIST_CHANGED_CLEAR); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__50342; goto __pyx_L1_error;}
50343 __Pyx_GOTREF(__pyx_t_2);
50344 if (PyDict_SetItem(__pyx_d, __pyx_n_s_PLAYLIST_CHANGED_CLEAR, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__50344; goto __pyx_L1_error;}
50345 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50346
50347 /* "xmmsapi.pyx":25
50348 * PLAYLIST_CHANGED_REMOVE = XMMS_PLAYLIST_CHANGED_REMOVE
50349 * PLAYLIST_CHANGED_CLEAR = XMMS_PLAYLIST_CHANGED_CLEAR
50350 * PLAYLIST_CHANGED_MOVE = XMMS_PLAYLIST_CHANGED_MOVE # <<<<<<<<<<<<<<
50351 * PLAYLIST_CHANGED_SORT = XMMS_PLAYLIST_CHANGED_SORT
50352 * PLAYLIST_CHANGED_UPDATE = XMMS_PLAYLIST_CHANGED_UPDATE
50353 */
50354 __pyx_t_2 = PyInt_FromLong(XMMS_PLAYLIST_CHANGED_MOVE); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__50354; goto __pyx_L1_error;}
50355 __Pyx_GOTREF(__pyx_t_2);
50356 if (PyDict_SetItem(__pyx_d, __pyx_n_s_PLAYLIST_CHANGED_MOVE, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__50356; goto __pyx_L1_error;}
50357 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50358
50359 /* "xmmsapi.pyx":26
50360 * PLAYLIST_CHANGED_CLEAR = XMMS_PLAYLIST_CHANGED_CLEAR
50361 * PLAYLIST_CHANGED_MOVE = XMMS_PLAYLIST_CHANGED_MOVE
50362 * PLAYLIST_CHANGED_SORT = XMMS_PLAYLIST_CHANGED_SORT # <<<<<<<<<<<<<<
50363 * PLAYLIST_CHANGED_UPDATE = XMMS_PLAYLIST_CHANGED_UPDATE
50364 *
50365 */
50366 __pyx_t_2 = PyInt_FromLong(XMMS_PLAYLIST_CHANGED_SORT); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__50366; goto __pyx_L1_error;}
50367 __Pyx_GOTREF(__pyx_t_2);
50368 if (PyDict_SetItem(__pyx_d, __pyx_n_s_PLAYLIST_CHANGED_SORT, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__50368; goto __pyx_L1_error;}
50369 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50370
50371 /* "xmmsapi.pyx":27
50372 * PLAYLIST_CHANGED_MOVE = XMMS_PLAYLIST_CHANGED_MOVE
50373 * PLAYLIST_CHANGED_SORT = XMMS_PLAYLIST_CHANGED_SORT
50374 * PLAYLIST_CHANGED_UPDATE = XMMS_PLAYLIST_CHANGED_UPDATE # <<<<<<<<<<<<<<
50375 *
50376 * PLUGIN_TYPE_ALL = XMMS_PLUGIN_TYPE_ALL
50377 */
50378 __pyx_t_2 = PyInt_FromLong(XMMS_PLAYLIST_CHANGED_UPDATE); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__50378; goto __pyx_L1_error;}
50379 __Pyx_GOTREF(__pyx_t_2);
50380 if (PyDict_SetItem(__pyx_d, __pyx_n_s_PLAYLIST_CHANGED_UPDATE, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__50380; goto __pyx_L1_error;}
50381 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50382
50383 /* "xmmsapi.pyx":29
50384 * PLAYLIST_CHANGED_UPDATE = XMMS_PLAYLIST_CHANGED_UPDATE
50385 *
50386 * PLUGIN_TYPE_ALL = XMMS_PLUGIN_TYPE_ALL # <<<<<<<<<<<<<<
50387 * PLUGIN_TYPE_XFORM = XMMS_PLUGIN_TYPE_XFORM
50388 * PLUGIN_TYPE_OUTPUT = XMMS_PLUGIN_TYPE_OUTPUT
50389 */
50390 __pyx_t_2 = PyInt_FromLong(XMMS_PLUGIN_TYPE_ALL); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__50390; goto __pyx_L1_error;}
50391 __Pyx_GOTREF(__pyx_t_2);
50392 if (PyDict_SetItem(__pyx_d, __pyx_n_s_PLUGIN_TYPE_ALL, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__50392; goto __pyx_L1_error;}
50393 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50394
50395 /* "xmmsapi.pyx":30
50396 *
50397 * PLUGIN_TYPE_ALL = XMMS_PLUGIN_TYPE_ALL
50398 * PLUGIN_TYPE_XFORM = XMMS_PLUGIN_TYPE_XFORM # <<<<<<<<<<<<<<
50399 * PLUGIN_TYPE_OUTPUT = XMMS_PLUGIN_TYPE_OUTPUT
50400 *
50401 */
50402 __pyx_t_2 = PyInt_FromLong(XMMS_PLUGIN_TYPE_XFORM); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__50402; goto __pyx_L1_error;}
50403 __Pyx_GOTREF(__pyx_t_2);
50404 if (PyDict_SetItem(__pyx_d, __pyx_n_s_PLUGIN_TYPE_XFORM, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__50404; goto __pyx_L1_error;}
50405 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50406
50407 /* "xmmsapi.pyx":31
50408 * PLUGIN_TYPE_ALL = XMMS_PLUGIN_TYPE_ALL
50409 * PLUGIN_TYPE_XFORM = XMMS_PLUGIN_TYPE_XFORM
50410 * PLUGIN_TYPE_OUTPUT = XMMS_PLUGIN_TYPE_OUTPUT # <<<<<<<<<<<<<<
50411 *
50412 * MEDIALIB_ENTRY_STATUS_NEW = XMMS_MEDIALIB_ENTRY_STATUS_NEW
50413 */
50414 __pyx_t_2 = PyInt_FromLong(XMMS_PLUGIN_TYPE_OUTPUT); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__50414; goto __pyx_L1_error;}
50415 __Pyx_GOTREF(__pyx_t_2);
50416 if (PyDict_SetItem(__pyx_d, __pyx_n_s_PLUGIN_TYPE_OUTPUT, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__50416; goto __pyx_L1_error;}
50417 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50418
50419 /* "xmmsapi.pyx":33
50420 * PLUGIN_TYPE_OUTPUT = XMMS_PLUGIN_TYPE_OUTPUT
50421 *
50422 * MEDIALIB_ENTRY_STATUS_NEW = XMMS_MEDIALIB_ENTRY_STATUS_NEW # <<<<<<<<<<<<<<
50423 * MEDIALIB_ENTRY_STATUS_OK = XMMS_MEDIALIB_ENTRY_STATUS_OK
50424 * MEDIALIB_ENTRY_STATUS_RESOLVING = XMMS_MEDIALIB_ENTRY_STATUS_RESOLVING
50425 */
50426 __pyx_t_2 = PyInt_FromLong(XMMS_MEDIALIB_ENTRY_STATUS_NEW); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__50426; goto __pyx_L1_error;}
50427 __Pyx_GOTREF(__pyx_t_2);
50428 if (PyDict_SetItem(__pyx_d, __pyx_n_s_MEDIALIB_ENTRY_STATUS_NEW, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__50428; goto __pyx_L1_error;}
50429 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50430
50431 /* "xmmsapi.pyx":34
50432 *
50433 * MEDIALIB_ENTRY_STATUS_NEW = XMMS_MEDIALIB_ENTRY_STATUS_NEW
50434 * MEDIALIB_ENTRY_STATUS_OK = XMMS_MEDIALIB_ENTRY_STATUS_OK # <<<<<<<<<<<<<<
50435 * MEDIALIB_ENTRY_STATUS_RESOLVING = XMMS_MEDIALIB_ENTRY_STATUS_RESOLVING
50436 * MEDIALIB_ENTRY_STATUS_NOT_AVAILABLE = XMMS_MEDIALIB_ENTRY_STATUS_NOT_AVAILABLE
50437 */
50438 __pyx_t_2 = PyInt_FromLong(XMMS_MEDIALIB_ENTRY_STATUS_OK); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__50438; goto __pyx_L1_error;}
50439 __Pyx_GOTREF(__pyx_t_2);
50440 if (PyDict_SetItem(__pyx_d, __pyx_n_s_MEDIALIB_ENTRY_STATUS_OK, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__50440; goto __pyx_L1_error;}
50441 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50442
50443 /* "xmmsapi.pyx":35
50444 * MEDIALIB_ENTRY_STATUS_NEW = XMMS_MEDIALIB_ENTRY_STATUS_NEW
50445 * MEDIALIB_ENTRY_STATUS_OK = XMMS_MEDIALIB_ENTRY_STATUS_OK
50446 * MEDIALIB_ENTRY_STATUS_RESOLVING = XMMS_MEDIALIB_ENTRY_STATUS_RESOLVING # <<<<<<<<<<<<<<
50447 * MEDIALIB_ENTRY_STATUS_NOT_AVAILABLE = XMMS_MEDIALIB_ENTRY_STATUS_NOT_AVAILABLE
50448 * MEDIALIB_ENTRY_STATUS_REHASH = XMMS_MEDIALIB_ENTRY_STATUS_REHASH
50449 */
50450 __pyx_t_2 = PyInt_FromLong(XMMS_MEDIALIB_ENTRY_STATUS_RESOLVING); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__50450; goto __pyx_L1_error;}
50451 __Pyx_GOTREF(__pyx_t_2);
50452 if (PyDict_SetItem(__pyx_d, __pyx_n_s_MEDIALIB_ENTRY_STATUS_RESOLVING, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__50452; goto __pyx_L1_error;}
50453 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50454
50455 /* "xmmsapi.pyx":36
50456 * MEDIALIB_ENTRY_STATUS_OK = XMMS_MEDIALIB_ENTRY_STATUS_OK
50457 * MEDIALIB_ENTRY_STATUS_RESOLVING = XMMS_MEDIALIB_ENTRY_STATUS_RESOLVING
50458 * MEDIALIB_ENTRY_STATUS_NOT_AVAILABLE = XMMS_MEDIALIB_ENTRY_STATUS_NOT_AVAILABLE # <<<<<<<<<<<<<<
50459 * MEDIALIB_ENTRY_STATUS_REHASH = XMMS_MEDIALIB_ENTRY_STATUS_REHASH
50460 *
50461 */
50462 __pyx_t_2 = PyInt_FromLong(XMMS_MEDIALIB_ENTRY_STATUS_NOT_AVAILABLE); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__50462; goto __pyx_L1_error;}
50463 __Pyx_GOTREF(__pyx_t_2);
50464 if (PyDict_SetItem(__pyx_d, __pyx_n_s_MEDIALIB_ENTRY_STATUS_NOT_AVAILA, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__50464; goto __pyx_L1_error;}
50465 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50466
50467 /* "xmmsapi.pyx":37
50468 * MEDIALIB_ENTRY_STATUS_RESOLVING = XMMS_MEDIALIB_ENTRY_STATUS_RESOLVING
50469 * MEDIALIB_ENTRY_STATUS_NOT_AVAILABLE = XMMS_MEDIALIB_ENTRY_STATUS_NOT_AVAILABLE
50470 * MEDIALIB_ENTRY_STATUS_REHASH = XMMS_MEDIALIB_ENTRY_STATUS_REHASH # <<<<<<<<<<<<<<
50471 *
50472 * COLLECTION_CHANGED_ADD = XMMS_COLLECTION_CHANGED_ADD
50473 */
50474 __pyx_t_2 = PyInt_FromLong(XMMS_MEDIALIB_ENTRY_STATUS_REHASH); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__50474; goto __pyx_L1_error;}
50475 __Pyx_GOTREF(__pyx_t_2);
50476 if (PyDict_SetItem(__pyx_d, __pyx_n_s_MEDIALIB_ENTRY_STATUS_REHASH, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__50476; goto __pyx_L1_error;}
50477 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50478
50479 /* "xmmsapi.pyx":39
50480 * MEDIALIB_ENTRY_STATUS_REHASH = XMMS_MEDIALIB_ENTRY_STATUS_REHASH
50481 *
50482 * COLLECTION_CHANGED_ADD = XMMS_COLLECTION_CHANGED_ADD # <<<<<<<<<<<<<<
50483 * COLLECTION_CHANGED_UPDATE = XMMS_COLLECTION_CHANGED_UPDATE
50484 * COLLECTION_CHANGED_RENAME = XMMS_COLLECTION_CHANGED_RENAME
50485 */
50486 __pyx_t_2 = PyInt_FromLong(XMMS_COLLECTION_CHANGED_ADD); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__50486; goto __pyx_L1_error;}
50487 __Pyx_GOTREF(__pyx_t_2);
50488 if (PyDict_SetItem(__pyx_d, __pyx_n_s_COLLECTION_CHANGED_ADD, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__50488; goto __pyx_L1_error;}
50489 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50490
50491 /* "xmmsapi.pyx":40
50492 *
50493 * COLLECTION_CHANGED_ADD = XMMS_COLLECTION_CHANGED_ADD
50494 * COLLECTION_CHANGED_UPDATE = XMMS_COLLECTION_CHANGED_UPDATE # <<<<<<<<<<<<<<
50495 * COLLECTION_CHANGED_RENAME = XMMS_COLLECTION_CHANGED_RENAME
50496 * COLLECTION_CHANGED_REMOVE = XMMS_COLLECTION_CHANGED_REMOVE
50497 */
50498 __pyx_t_2 = PyInt_FromLong(XMMS_COLLECTION_CHANGED_UPDATE); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__50498; goto __pyx_L1_error;}
50499 __Pyx_GOTREF(__pyx_t_2);
50500 if (PyDict_SetItem(__pyx_d, __pyx_n_s_COLLECTION_CHANGED_UPDATE, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__50500; goto __pyx_L1_error;}
50501 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50502
50503 /* "xmmsapi.pyx":41
50504 * COLLECTION_CHANGED_ADD = XMMS_COLLECTION_CHANGED_ADD
50505 * COLLECTION_CHANGED_UPDATE = XMMS_COLLECTION_CHANGED_UPDATE
50506 * COLLECTION_CHANGED_RENAME = XMMS_COLLECTION_CHANGED_RENAME # <<<<<<<<<<<<<<
50507 * COLLECTION_CHANGED_REMOVE = XMMS_COLLECTION_CHANGED_REMOVE
50508 *
50509 */
50510 __pyx_t_2 = PyInt_FromLong(XMMS_COLLECTION_CHANGED_RENAME); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__50510; goto __pyx_L1_error;}
50511 __Pyx_GOTREF(__pyx_t_2);
50512 if (PyDict_SetItem(__pyx_d, __pyx_n_s_COLLECTION_CHANGED_RENAME, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__50512; goto __pyx_L1_error;}
50513 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50514
50515 /* "xmmsapi.pyx":42
50516 * COLLECTION_CHANGED_UPDATE = XMMS_COLLECTION_CHANGED_UPDATE
50517 * COLLECTION_CHANGED_RENAME = XMMS_COLLECTION_CHANGED_RENAME
50518 * COLLECTION_CHANGED_REMOVE = XMMS_COLLECTION_CHANGED_REMOVE # <<<<<<<<<<<<<<
50519 *
50520 * PLAYBACK_SEEK_CUR = XMMS_PLAYBACK_SEEK_CUR
50521 */
50522 __pyx_t_2 = PyInt_FromLong(XMMS_COLLECTION_CHANGED_REMOVE); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; __pyx_clineno = __LINE__50522; goto __pyx_L1_error;}
50523 __Pyx_GOTREF(__pyx_t_2);
50524 if (PyDict_SetItem(__pyx_d, __pyx_n_s_COLLECTION_CHANGED_REMOVE, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; __pyx_clineno = __LINE__50524; goto __pyx_L1_error;}
50525 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50526
50527 /* "xmmsapi.pyx":44
50528 * COLLECTION_CHANGED_REMOVE = XMMS_COLLECTION_CHANGED_REMOVE
50529 *
50530 * PLAYBACK_SEEK_CUR = XMMS_PLAYBACK_SEEK_CUR # <<<<<<<<<<<<<<
50531 * PLAYBACK_SEEK_SET = XMMS_PLAYBACK_SEEK_SET
50532 *
50533 */
50534 __pyx_t_2 = PyInt_FromLong(XMMS_PLAYBACK_SEEK_CUR); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__50534; goto __pyx_L1_error;}
50535 __Pyx_GOTREF(__pyx_t_2);
50536 if (PyDict_SetItem(__pyx_d, __pyx_n_s_PLAYBACK_SEEK_CUR, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__50536; goto __pyx_L1_error;}
50537 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50538
50539 /* "xmmsapi.pyx":45
50540 *
50541 * PLAYBACK_SEEK_CUR = XMMS_PLAYBACK_SEEK_CUR
50542 * PLAYBACK_SEEK_SET = XMMS_PLAYBACK_SEEK_SET # <<<<<<<<<<<<<<
50543 *
50544 * COLLECTION_NS_COLLECTIONS = to_unicode(<char *>XMMS_COLLECTION_NS_COLLECTIONS)
50545 */
50546 __pyx_t_2 = PyInt_FromLong(XMMS_PLAYBACK_SEEK_SET); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__50546; goto __pyx_L1_error;}
50547 __Pyx_GOTREF(__pyx_t_2);
50548 if (PyDict_SetItem(__pyx_d, __pyx_n_s_PLAYBACK_SEEK_SET, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__50548; goto __pyx_L1_error;}
50549 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50550
50551 /* "xmmsapi.pyx":47
50552 * PLAYBACK_SEEK_SET = XMMS_PLAYBACK_SEEK_SET
50553 *
50554 * COLLECTION_NS_COLLECTIONS = to_unicode(<char *>XMMS_COLLECTION_NS_COLLECTIONS) # <<<<<<<<<<<<<<
50555 * COLLECTION_NS_PLAYLISTS = to_unicode(<char *>XMMS_COLLECTION_NS_PLAYLISTS)
50556 * COLLECTION_NS_ALL = to_unicode(<char *>XMMS_COLLECTION_NS_ALL)
50557 */
50558 __pyx_t_2 = __pyx_f_9xmmsutils_to_unicode(((char *)XMMS_COLLECTION_NS_COLLECTIONS"Collections")); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__50558; goto __pyx_L1_error;}
50559 __Pyx_GOTREF(__pyx_t_2);
50560 if (PyDict_SetItem(__pyx_d, __pyx_n_s_COLLECTION_NS_COLLECTIONS, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__50560; goto __pyx_L1_error;}
50561 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50562
50563 /* "xmmsapi.pyx":48
50564 *
50565 * COLLECTION_NS_COLLECTIONS = to_unicode(<char *>XMMS_COLLECTION_NS_COLLECTIONS)
50566 * COLLECTION_NS_PLAYLISTS = to_unicode(<char *>XMMS_COLLECTION_NS_PLAYLISTS) # <<<<<<<<<<<<<<
50567 * COLLECTION_NS_ALL = to_unicode(<char *>XMMS_COLLECTION_NS_ALL)
50568 *
50569 */
50570 __pyx_t_2 = __pyx_f_9xmmsutils_to_unicode(((char *)XMMS_COLLECTION_NS_PLAYLISTS"Playlists")); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__50570; goto __pyx_L1_error;}
50571 __Pyx_GOTREF(__pyx_t_2);
50572 if (PyDict_SetItem(__pyx_d, __pyx_n_s_COLLECTION_NS_PLAYLISTS, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__50572; goto __pyx_L1_error;}
50573 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50574
50575 /* "xmmsapi.pyx":49
50576 * COLLECTION_NS_COLLECTIONS = to_unicode(<char *>XMMS_COLLECTION_NS_COLLECTIONS)
50577 * COLLECTION_NS_PLAYLISTS = to_unicode(<char *>XMMS_COLLECTION_NS_PLAYLISTS)
50578 * COLLECTION_NS_ALL = to_unicode(<char *>XMMS_COLLECTION_NS_ALL) # <<<<<<<<<<<<<<
50579 *
50580 * ACTIVE_PLAYLIST = to_unicode(<char *>XMMS_ACTIVE_PLAYLIST)
50581 */
50582 __pyx_t_2 = __pyx_f_9xmmsutils_to_unicode(((char *)XMMS_COLLECTION_NS_ALL"*")); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__50582; goto __pyx_L1_error;}
50583 __Pyx_GOTREF(__pyx_t_2);
50584 if (PyDict_SetItem(__pyx_d, __pyx_n_s_COLLECTION_NS_ALL, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__50584; goto __pyx_L1_error;}
50585 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50586
50587 /* "xmmsapi.pyx":51
50588 * COLLECTION_NS_ALL = to_unicode(<char *>XMMS_COLLECTION_NS_ALL)
50589 *
50590 * ACTIVE_PLAYLIST = to_unicode(<char *>XMMS_ACTIVE_PLAYLIST) # <<<<<<<<<<<<<<
50591 *
50592 * #####################################################################
50593 */
50594 __pyx_t_2 = __pyx_f_9xmmsutils_to_unicode(((char *)XMMS_ACTIVE_PLAYLIST"_active")); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__50594; goto __pyx_L1_error;}
50595 __Pyx_GOTREF(__pyx_t_2);
50596 if (PyDict_SetItem(__pyx_d, __pyx_n_s_ACTIVE_PLAYLIST, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__50596; goto __pyx_L1_error;}
50597 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50598
50599 /* "xmmsapi.pyx":55
50600 * #####################################################################
50601 *
50602 * def deprecated(f): # <<<<<<<<<<<<<<
50603 * def deprecated_decorator(*a, **kw):
50604 * from os import getenv
50605 */
50606 __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7xmmsapi_1deprecated, NULL((void*)0), __pyx_n_s_xmmsapi); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; __pyx_clineno = __LINE__50606; goto __pyx_L1_error;}
50607 __Pyx_GOTREF(__pyx_t_2);
50608 if (PyDict_SetItem(__pyx_d, __pyx_n_s_deprecated, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; __pyx_clineno = __LINE__50608; goto __pyx_L1_error;}
50609 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50610
50611 /* "xmmsapi.pyx":73
50612 * from select import select as _sel
50613 * select = _sel
50614 * _install_select() # <<<<<<<<<<<<<<
50615 *
50616 * cdef char *check_namespace(object ns, bint can_be_all) except NULL:
50617 */
50618 __pyx_t_2 = __pyx_f_7xmmsapi__install_select(); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__50618; goto __pyx_L1_error;}
50619 __Pyx_GOTREF(__pyx_t_2);
50620 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50621
50622 /* "xmmsapi.pyx":195
50623 *
50624 * # XXX Kept for compatibility.
50625 * @deprecated # <<<<<<<<<<<<<<
50626 * def _callback(self):
50627 * """
50628 */
50629 __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_deprecated); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__50629; goto __pyx_L1_error;}
50630 __Pyx_GOTREF(__pyx_t_2);
50631
50632 /* "xmmsapi.pyx":196
50633 * # XXX Kept for compatibility.
50634 * @deprecated
50635 * def _callback(self): # <<<<<<<<<<<<<<
50636 * """
50637 * @deprecated
50638 */
50639 __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_7xmmsapi_XmmsResult, __pyx_n_s_callback_2); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__50639; goto __pyx_L1_error;}
50640 __Pyx_GOTREF(__pyx_t_3);
50641
50642 /* "xmmsapi.pyx":195
50643 *
50644 * # XXX Kept for compatibility.
50645 * @deprecated # <<<<<<<<<<<<<<
50646 * def _callback(self):
50647 * """
50648 */
50649 __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__50649; goto __pyx_L1_error;}
50650 __Pyx_GOTREF(__pyx_t_4);
50651 PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3)(((PyTupleObject *)(__pyx_t_4))->ob_item[0] = __pyx_t_3);
50652 __Pyx_GIVEREF(__pyx_t_3);
50653 __pyx_t_3 = 0;
50654 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__50654; goto __pyx_L1_error;}
50655 __Pyx_GOTREF(__pyx_t_3);
50656 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50657 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
50658 if (PyDict_SetItem((PyObject *)__pyx_ptype_7xmmsapi_XmmsResult->tp_dict, __pyx_n_s_callback_2, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__50658; goto __pyx_L1_error;}
50659 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
50660 PyType_Modified(__pyx_ptype_7xmmsapi_XmmsResult);
50661
50662 /* "xmmsapi.pyx":232
50663 * return self.xmmsvalue().is_error()
50664 *
50665 * @deprecated # <<<<<<<<<<<<<<
50666 * def iserror(self):
50667 * """
50668 */
50669 __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_deprecated); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__50669; goto __pyx_L1_error;}
50670 __Pyx_GOTREF(__pyx_t_3);
50671
50672 /* "xmmsapi.pyx":233
50673 *
50674 * @deprecated
50675 * def iserror(self): # <<<<<<<<<<<<<<
50676 * """
50677 * @deprecated
50678 */
50679 __pyx_t_4 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_7xmmsapi_XmmsResult, __pyx_n_s_iserror); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__50679; goto __pyx_L1_error;}
50680 __Pyx_GOTREF(__pyx_t_4);
50681
50682 /* "xmmsapi.pyx":232
50683 * return self.xmmsvalue().is_error()
50684 *
50685 * @deprecated # <<<<<<<<<<<<<<
50686 * def iserror(self):
50687 * """
50688 */
50689 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__50689; goto __pyx_L1_error;}
50690 __Pyx_GOTREF(__pyx_t_2);
50691 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_t_4);
50692 __Pyx_GIVEREF(__pyx_t_4);
50693 __pyx_t_4 = 0;
50694 __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__50694; goto __pyx_L1_error;}
50695 __Pyx_GOTREF(__pyx_t_4);
50696 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
50697 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50698 if (PyDict_SetItem((PyObject *)__pyx_ptype_7xmmsapi_XmmsResult->tp_dict, __pyx_n_s_iserror, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__50698; goto __pyx_L1_error;}
50699 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
50700 PyType_Modified(__pyx_ptype_7xmmsapi_XmmsResult);
50701
50702 /* "xmmsapi.pyx":254
50703 * return self.xmmsvalue()
50704 *
50705 * @deprecated # <<<<<<<<<<<<<<
50706 * def _value(self):
50707 * """
50708 */
50709 __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_deprecated); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__50709; goto __pyx_L1_error;}
50710 __Pyx_GOTREF(__pyx_t_4);
50711
50712 /* "xmmsapi.pyx":255
50713 *
50714 * @deprecated
50715 * def _value(self): # <<<<<<<<<<<<<<
50716 * """
50717 * @deprecated
50718 */
50719 __pyx_t_2 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_7xmmsapi_XmmsResult, __pyx_n_s_value_2); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__50719; goto __pyx_L1_error;}
50720 __Pyx_GOTREF(__pyx_t_2);
50721
50722 /* "xmmsapi.pyx":254
50723 * return self.xmmsvalue()
50724 *
50725 * @deprecated # <<<<<<<<<<<<<<
50726 * def _value(self):
50727 * """
50728 */
50729 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__50729; goto __pyx_L1_error;}
50730 __Pyx_GOTREF(__pyx_t_3);
50731 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
50732 __Pyx_GIVEREF(__pyx_t_2);
50733 __pyx_t_2 = 0;
50734 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__50734; goto __pyx_L1_error;}
50735 __Pyx_GOTREF(__pyx_t_2);
50736 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
50737 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
50738 if (PyDict_SetItem((PyObject *)__pyx_ptype_7xmmsapi_XmmsResult->tp_dict, __pyx_n_s_value_2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__50738; goto __pyx_L1_error;}
50739 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50740 PyType_Modified(__pyx_ptype_7xmmsapi_XmmsResult);
50741
50742 /* "xmmsapi.pyx":379
50743 * return [<int>self.data[i] for i in range(self.sample_count)]
50744 *
50745 * class VisualizationError(Exception): # <<<<<<<<<<<<<<
50746 * pass
50747 *
50748 */
50749 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__50749; goto __pyx_L1_error;}
50750 __Pyx_GOTREF(__pyx_t_2);
50751 __Pyx_INCREF(__pyx_builtin_Exception)( ((PyObject*)(__pyx_builtin_Exception))->ob_refcnt++);
50752 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_builtin_Exception)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_builtin_Exception
)
;
50753 __Pyx_GIVEREF(__pyx_builtin_Exception);
50754 __pyx_t_3 = __Pyx_CalculateMetaclass(NULL((void*)0), __pyx_t_2); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__50754; goto __pyx_L1_error;}
50755 __Pyx_GOTREF(__pyx_t_3);
50756 __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_VisualizationError, __pyx_n_s_VisualizationError, (PyObject *) NULL((void*)0), __pyx_n_s_xmmsapi, (PyObject *) NULL((void*)0)); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__50756; goto __pyx_L1_error;}
50757 __Pyx_GOTREF(__pyx_t_4);
50758 __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_VisualizationError, __pyx_t_2, __pyx_t_4, NULL((void*)0), 0, 1); if (unlikely(!__pyx_t_5)__builtin_expect(!!(!__pyx_t_5), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__50758; goto __pyx_L1_error;}
50759 __Pyx_GOTREF(__pyx_t_5);
50760 if (PyDict_SetItem(__pyx_d, __pyx_n_s_VisualizationError, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__50760; goto __pyx_L1_error;}
50761 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
50762 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
50763 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
50764 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50765
50766 /* "xmmsapi.pyx":383
50767 *
50768 *
50769 * def _noop(*a, **kw): # <<<<<<<<<<<<<<
50770 * pass
50771 * def _setcb(f, fb=_noop):
50772 */
50773 __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7xmmsapi_3_noop, NULL((void*)0), __pyx_n_s_xmmsapi); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__50773; goto __pyx_L1_error;}
50774 __Pyx_GOTREF(__pyx_t_2);
50775 if (PyDict_SetItem(__pyx_d, __pyx_n_s_noop, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__50775; goto __pyx_L1_error;}
50776 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50777
50778 /* "xmmsapi.pyx":385
50779 * def _noop(*a, **kw):
50780 * pass
50781 * def _setcb(f, fb=_noop): # <<<<<<<<<<<<<<
50782 * return hasattr(f, '__call__') and f or fb
50783 *
50784 */
50785 __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_noop); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__50785; goto __pyx_L1_error;}
50786 __Pyx_GOTREF(__pyx_t_2);
50787 __pyx_k__14 = __pyx_t_2;
50788 __Pyx_GIVEREF(__pyx_t_2);
50789 __pyx_t_2 = 0;
50790 __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7xmmsapi_5_setcb, NULL((void*)0), __pyx_n_s_xmmsapi); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__50790; goto __pyx_L1_error;}
50791 __Pyx_GOTREF(__pyx_t_2);
50792 if (PyDict_SetItem(__pyx_d, __pyx_n_s_setcb, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__50792; goto __pyx_L1_error;}
50793 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50794
50795 /* "xmmsapi.pyx":388
50796 * return hasattr(f, '__call__') and f or fb
50797 *
50798 * class method_arg: # <<<<<<<<<<<<<<
50799 * TYPES = {
50800 * 'integer': XMMSV_TYPE_INT64,
50801 */
50802 __pyx_t_2 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL((void*)0), __pyx_empty_tuple, __pyx_n_s_method_arg, __pyx_n_s_method_arg, (PyObject *) NULL((void*)0), __pyx_n_s_xmmsapi, (PyObject *) NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__50802; goto __pyx_L1_error;}
50803 __Pyx_GOTREF(__pyx_t_2);
50804
50805 /* "xmmsapi.pyx":389
50806 *
50807 * class method_arg:
50808 * TYPES = { # <<<<<<<<<<<<<<
50809 * 'integer': XMMSV_TYPE_INT64,
50810 * 'i': XMMSV_TYPE_INT64,
50811 */
50812 __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__50812; goto __pyx_L1_error;}
50813 __Pyx_GOTREF(__pyx_t_3);
50814
50815 /* "xmmsapi.pyx":390
50816 * class method_arg:
50817 * TYPES = {
50818 * 'integer': XMMSV_TYPE_INT64, # <<<<<<<<<<<<<<
50819 * 'i': XMMSV_TYPE_INT64,
50820 * 'float': XMMSV_TYPE_FLOAT,
50821 */
50822 __pyx_t_4 = PyInt_FromLong(XMMSV_TYPE_INT64); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__50822; goto __pyx_L1_error;}
50823 __Pyx_GOTREF(__pyx_t_4);
50824 if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_integer, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__50824; goto __pyx_L1_error;}
50825 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
50826
50827 /* "xmmsapi.pyx":391
50828 * TYPES = {
50829 * 'integer': XMMSV_TYPE_INT64,
50830 * 'i': XMMSV_TYPE_INT64, # <<<<<<<<<<<<<<
50831 * 'float': XMMSV_TYPE_FLOAT,
50832 * 'f': XMMSV_TYPE_FLOAT,
50833 */
50834 __pyx_t_4 = PyInt_FromLong(XMMSV_TYPE_INT64); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__50834; goto __pyx_L1_error;}
50835 __Pyx_GOTREF(__pyx_t_4);
50836 if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_i, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__50836; goto __pyx_L1_error;}
50837 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
50838
50839 /* "xmmsapi.pyx":392
50840 * 'integer': XMMSV_TYPE_INT64,
50841 * 'i': XMMSV_TYPE_INT64,
50842 * 'float': XMMSV_TYPE_FLOAT, # <<<<<<<<<<<<<<
50843 * 'f': XMMSV_TYPE_FLOAT,
50844 * 'string': XMMSV_TYPE_STRING,
50845 */
50846 __pyx_t_4 = PyInt_FromLong(XMMSV_TYPE_FLOAT); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__50846; goto __pyx_L1_error;}
50847 __Pyx_GOTREF(__pyx_t_4);
50848 if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_float, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__50848; goto __pyx_L1_error;}
50849 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
50850
50851 /* "xmmsapi.pyx":393
50852 * 'i': XMMSV_TYPE_INT64,
50853 * 'float': XMMSV_TYPE_FLOAT,
50854 * 'f': XMMSV_TYPE_FLOAT, # <<<<<<<<<<<<<<
50855 * 'string': XMMSV_TYPE_STRING,
50856 * 's': XMMSV_TYPE_STRING,
50857 */
50858 __pyx_t_4 = PyInt_FromLong(XMMSV_TYPE_FLOAT); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__50858; goto __pyx_L1_error;}
50859 __Pyx_GOTREF(__pyx_t_4);
50860 if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_f, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__50860; goto __pyx_L1_error;}
50861 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
50862
50863 /* "xmmsapi.pyx":394
50864 * 'float': XMMSV_TYPE_FLOAT,
50865 * 'f': XMMSV_TYPE_FLOAT,
50866 * 'string': XMMSV_TYPE_STRING, # <<<<<<<<<<<<<<
50867 * 's': XMMSV_TYPE_STRING,
50868 * 'coll': XMMSV_TYPE_COLL,
50869 */
50870 __pyx_t_4 = PyInt_FromLong(XMMSV_TYPE_STRING); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__50870; goto __pyx_L1_error;}
50871 __Pyx_GOTREF(__pyx_t_4);
50872 if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_string, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__50872; goto __pyx_L1_error;}
50873 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
50874
50875 /* "xmmsapi.pyx":395
50876 * 'f': XMMSV_TYPE_FLOAT,
50877 * 'string': XMMSV_TYPE_STRING,
50878 * 's': XMMSV_TYPE_STRING, # <<<<<<<<<<<<<<
50879 * 'coll': XMMSV_TYPE_COLL,
50880 * 'c': XMMSV_TYPE_COLL,
50881 */
50882 __pyx_t_4 = PyInt_FromLong(XMMSV_TYPE_STRING); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__50882; goto __pyx_L1_error;}
50883 __Pyx_GOTREF(__pyx_t_4);
50884 if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_s_2, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__50884; goto __pyx_L1_error;}
50885 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
50886
50887 /* "xmmsapi.pyx":396
50888 * 'string': XMMSV_TYPE_STRING,
50889 * 's': XMMSV_TYPE_STRING,
50890 * 'coll': XMMSV_TYPE_COLL, # <<<<<<<<<<<<<<
50891 * 'c': XMMSV_TYPE_COLL,
50892 * 'list': XMMSV_TYPE_LIST,
50893 */
50894 __pyx_t_4 = PyInt_FromLong(XMMSV_TYPE_COLL); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__50894; goto __pyx_L1_error;}
50895 __Pyx_GOTREF(__pyx_t_4);
50896 if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_coll, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__50896; goto __pyx_L1_error;}
50897 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
50898
50899 /* "xmmsapi.pyx":397
50900 * 's': XMMSV_TYPE_STRING,
50901 * 'coll': XMMSV_TYPE_COLL,
50902 * 'c': XMMSV_TYPE_COLL, # <<<<<<<<<<<<<<
50903 * 'list': XMMSV_TYPE_LIST,
50904 * 'l': XMMSV_TYPE_LIST,
50905 */
50906 __pyx_t_4 = PyInt_FromLong(XMMSV_TYPE_COLL); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__50906; goto __pyx_L1_error;}
50907 __Pyx_GOTREF(__pyx_t_4);
50908 if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_c, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__50908; goto __pyx_L1_error;}
50909 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
50910
50911 /* "xmmsapi.pyx":398
50912 * 'coll': XMMSV_TYPE_COLL,
50913 * 'c': XMMSV_TYPE_COLL,
50914 * 'list': XMMSV_TYPE_LIST, # <<<<<<<<<<<<<<
50915 * 'l': XMMSV_TYPE_LIST,
50916 * 'dict': XMMSV_TYPE_DICT,
50917 */
50918 __pyx_t_4 = PyInt_FromLong(XMMSV_TYPE_LIST); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 398; __pyx_clineno = __LINE__50918; goto __pyx_L1_error;}
50919 __Pyx_GOTREF(__pyx_t_4);
50920 if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_list, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__50920; goto __pyx_L1_error;}
50921 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
50922
50923 /* "xmmsapi.pyx":399
50924 * 'c': XMMSV_TYPE_COLL,
50925 * 'list': XMMSV_TYPE_LIST,
50926 * 'l': XMMSV_TYPE_LIST, # <<<<<<<<<<<<<<
50927 * 'dict': XMMSV_TYPE_DICT,
50928 * 'd': XMMSV_TYPE_DICT,
50929 */
50930 __pyx_t_4 = PyInt_FromLong(XMMSV_TYPE_LIST); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__50930; goto __pyx_L1_error;}
50931 __Pyx_GOTREF(__pyx_t_4);
50932 if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_l, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__50932; goto __pyx_L1_error;}
50933 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
50934
50935 /* "xmmsapi.pyx":400
50936 * 'list': XMMSV_TYPE_LIST,
50937 * 'l': XMMSV_TYPE_LIST,
50938 * 'dict': XMMSV_TYPE_DICT, # <<<<<<<<<<<<<<
50939 * 'd': XMMSV_TYPE_DICT,
50940 * }
50941 */
50942 __pyx_t_4 = PyInt_FromLong(XMMSV_TYPE_DICT); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__50942; goto __pyx_L1_error;}
50943 __Pyx_GOTREF(__pyx_t_4);
50944 if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dict, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__50944; goto __pyx_L1_error;}
50945 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
50946
50947 /* "xmmsapi.pyx":401
50948 * 'l': XMMSV_TYPE_LIST,
50949 * 'dict': XMMSV_TYPE_DICT,
50950 * 'd': XMMSV_TYPE_DICT, # <<<<<<<<<<<<<<
50951 * }
50952 * def __init__(self, name, type = '', doc = '', **kw):
50953 */
50954 __pyx_t_4 = PyInt_FromLong(XMMSV_TYPE_DICT); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__50954; goto __pyx_L1_error;}
50955 __Pyx_GOTREF(__pyx_t_4);
50956 if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_d, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__50956; goto __pyx_L1_error;}
50957 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
50958 if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_TYPES, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__50958; goto __pyx_L1_error;}
50959 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
50960
50961 /* "xmmsapi.pyx":403
50962 * 'd': XMMSV_TYPE_DICT,
50963 * }
50964 * def __init__(self, name, type = '', doc = '', **kw): # <<<<<<<<<<<<<<
50965 * for key, value in kw.items():
50966 * setattr(self, key, value)
50967 */
50968 __pyx_t_3 = __Pyx_CyFunction_NewEx(&__pyx_mdef_7xmmsapi_10method_arg_1__init__, 0, __pyx_n_s_method_arg___init, NULL, __pyx_n_s_xmmsapi, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__58))__Pyx_CyFunction_New(__pyx_CyFunctionType, &__pyx_mdef_7xmmsapi_10method_arg_1__init__
, 0, __pyx_n_s_method_arg___init, ((void*)0), __pyx_n_s_xmmsapi
, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__58))
; if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__50968; goto __pyx_L1_error;}
50969 __Pyx_GOTREF(__pyx_t_3);
50970 __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_tuple__59);
50971 if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_init, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__50971; goto __pyx_L1_error;}
50972 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
50973
50974 /* "xmmsapi.pyx":388
50975 * return hasattr(f, '__call__') and f or fb
50976 *
50977 * class method_arg: # <<<<<<<<<<<<<<
50978 * TYPES = {
50979 * 'integer': XMMSV_TYPE_INT64,
50980 */
50981 __pyx_t_3 = __Pyx_Py3ClassCreate(((PyObject*)&__Pyx_DefaultClassTypePyClass_Type), __pyx_n_s_method_arg, __pyx_empty_tuple, __pyx_t_2, NULL((void*)0), 0, 1); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__50981; goto __pyx_L1_error;}
50982 __Pyx_GOTREF(__pyx_t_3);
50983 if (PyDict_SetItem(__pyx_d, __pyx_n_s_method_arg, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__50983; goto __pyx_L1_error;}
50984 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
50985 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
50986
50987 /* "xmmsapi.pyx":413
50988 * self.doc = doc
50989 *
50990 * class method_varg: # <<<<<<<<<<<<<<
50991 * def __init__(self, doc = '', **kw):
50992 * self.doc = doc
50993 */
50994 __pyx_t_2 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL((void*)0), __pyx_empty_tuple, __pyx_n_s_method_varg, __pyx_n_s_method_varg, (PyObject *) NULL((void*)0), __pyx_n_s_xmmsapi, (PyObject *) NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__50994; goto __pyx_L1_error;}
50995 __Pyx_GOTREF(__pyx_t_2);
50996
50997 /* "xmmsapi.pyx":414
50998 *
50999 * class method_varg:
51000 * def __init__(self, doc = '', **kw): # <<<<<<<<<<<<<<
51001 * self.doc = doc
51002 * for key, value in kw.items():
51003 */
51004 __pyx_t_3 = __Pyx_CyFunction_NewEx(&__pyx_mdef_7xmmsapi_11method_varg_1__init__, 0, __pyx_n_s_method_varg___init, NULL, __pyx_n_s_xmmsapi, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__61))__Pyx_CyFunction_New(__pyx_CyFunctionType, &__pyx_mdef_7xmmsapi_11method_varg_1__init__
, 0, __pyx_n_s_method_varg___init, ((void*)0), __pyx_n_s_xmmsapi
, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__61))
; if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__51004; goto __pyx_L1_error;}
51005 __Pyx_GOTREF(__pyx_t_3);
51006 __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_tuple__62);
51007 if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_init, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__51007; goto __pyx_L1_error;}
51008 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
51009
51010 /* "xmmsapi.pyx":413
51011 * self.doc = doc
51012 *
51013 * class method_varg: # <<<<<<<<<<<<<<
51014 * def __init__(self, doc = '', **kw):
51015 * self.doc = doc
51016 */
51017 __pyx_t_3 = __Pyx_Py3ClassCreate(((PyObject*)&__Pyx_DefaultClassTypePyClass_Type), __pyx_n_s_method_varg, __pyx_empty_tuple, __pyx_t_2, NULL((void*)0), 0, 1); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__51017; goto __pyx_L1_error;}
51018 __Pyx_GOTREF(__pyx_t_3);
51019 if (PyDict_SetItem(__pyx_d, __pyx_n_s_method_varg, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__51019; goto __pyx_L1_error;}
51020 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
51021 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
51022
51023 /* "xmmsapi.pyx":419
51024 * setattr(self, key, value)
51025 *
51026 * class service_method: # <<<<<<<<<<<<<<
51027 * def __init__(self, positional = None, named = None, name = None, doc = None):
51028 * self.positional = positional or ()
51029 */
51030 __pyx_t_2 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL((void*)0), __pyx_empty_tuple, __pyx_n_s_service_method, __pyx_n_s_service_method, (PyObject *) NULL((void*)0), __pyx_n_s_xmmsapi, (PyObject *) NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__51030; goto __pyx_L1_error;}
51031 __Pyx_GOTREF(__pyx_t_2);
51032
51033 /* "xmmsapi.pyx":420
51034 *
51035 * class service_method:
51036 * def __init__(self, positional = None, named = None, name = None, doc = None): # <<<<<<<<<<<<<<
51037 * self.positional = positional or ()
51038 * self.named = named or ()
51039 */
51040 __pyx_t_3 = __Pyx_CyFunction_NewEx(&__pyx_mdef_7xmmsapi_14service_method_1__init__, 0, __pyx_n_s_service_method___init, NULL, __pyx_n_s_xmmsapi, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__64))__Pyx_CyFunction_New(__pyx_CyFunctionType, &__pyx_mdef_7xmmsapi_14service_method_1__init__
, 0, __pyx_n_s_service_method___init, ((void*)0), __pyx_n_s_xmmsapi
, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__64))
; if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__51040; goto __pyx_L1_error;}
51041 __Pyx_GOTREF(__pyx_t_3);
51042 __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_tuple__65);
51043 if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_init, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__51043; goto __pyx_L1_error;}
51044 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
51045
51046 /* "xmmsapi.pyx":426
51047 * self.doc = doc
51048 *
51049 * def __call__(self, f): # <<<<<<<<<<<<<<
51050 * f._xmms_service_entity = dict(
51051 * entity = 'method',
51052 */
51053 __pyx_t_3 = __Pyx_CyFunction_NewEx(&__pyx_mdef_7xmmsapi_14service_method_3__call__, 0, __pyx_n_s_service_method___call, NULL, __pyx_n_s_xmmsapi, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__67))__Pyx_CyFunction_New(__pyx_CyFunctionType, &__pyx_mdef_7xmmsapi_14service_method_3__call__
, 0, __pyx_n_s_service_method___call, ((void*)0), __pyx_n_s_xmmsapi
, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__67))
; if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__51053; goto __pyx_L1_error;}
51054 __Pyx_GOTREF(__pyx_t_3);
51055 if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_call, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__51055; goto __pyx_L1_error;}
51056 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
51057
51058 /* "xmmsapi.pyx":419
51059 * setattr(self, key, value)
51060 *
51061 * class service_method: # <<<<<<<<<<<<<<
51062 * def __init__(self, positional = None, named = None, name = None, doc = None):
51063 * self.positional = positional or ()
51064 */
51065 __pyx_t_3 = __Pyx_Py3ClassCreate(((PyObject*)&__Pyx_DefaultClassTypePyClass_Type), __pyx_n_s_service_method, __pyx_empty_tuple, __pyx_t_2, NULL((void*)0), 0, 1); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__51065; goto __pyx_L1_error;}
51066 __Pyx_GOTREF(__pyx_t_3);
51067 if (PyDict_SetItem(__pyx_d, __pyx_n_s_service_method, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__51067; goto __pyx_L1_error;}
51068 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
51069 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
51070
51071 /* "xmmsapi.pyx":456
51072 * return self.emit(value)
51073 *
51074 * class service_constant: # <<<<<<<<<<<<<<
51075 * def __init__(self, value):
51076 * self.value = value
51077 */
51078 __pyx_t_2 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL((void*)0), __pyx_empty_tuple, __pyx_n_s_service_constant, __pyx_n_s_service_constant, (PyObject *) NULL((void*)0), __pyx_n_s_xmmsapi, (PyObject *) NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__51078; goto __pyx_L1_error;}
51079 __Pyx_GOTREF(__pyx_t_2);
51080
51081 /* "xmmsapi.pyx":457
51082 *
51083 * class service_constant:
51084 * def __init__(self, value): # <<<<<<<<<<<<<<
51085 * self.value = value
51086 *
51087 */
51088 __pyx_t_3 = __Pyx_CyFunction_NewEx(&__pyx_mdef_7xmmsapi_16service_constant_1__init__, 0, __pyx_n_s_service_constant___init, NULL, __pyx_n_s_xmmsapi, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__69))__Pyx_CyFunction_New(__pyx_CyFunctionType, &__pyx_mdef_7xmmsapi_16service_constant_1__init__
, 0, __pyx_n_s_service_constant___init, ((void*)0), __pyx_n_s_xmmsapi
, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__69))
; if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__51088; goto __pyx_L1_error;}
51089 __Pyx_GOTREF(__pyx_t_3);
51090 if (PyObject_SetItem(__pyx_t_2, __pyx_n_s_init, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__51090; goto __pyx_L1_error;}
51091 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
51092
51093 /* "xmmsapi.pyx":456
51094 * return self.emit(value)
51095 *
51096 * class service_constant: # <<<<<<<<<<<<<<
51097 * def __init__(self, value):
51098 * self.value = value
51099 */
51100 __pyx_t_3 = __Pyx_Py3ClassCreate(((PyObject*)&__Pyx_DefaultClassTypePyClass_Type), __pyx_n_s_service_constant, __pyx_empty_tuple, __pyx_t_2, NULL((void*)0), 0, 1); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__51100; goto __pyx_L1_error;}
51101 __Pyx_GOTREF(__pyx_t_3);
51102 if (PyDict_SetItem(__pyx_d, __pyx_n_s_service_constant, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__51102; goto __pyx_L1_error;}
51103 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
51104 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
51105
51106 /* "xmmsapi.pyx":461
51107 *
51108 * cdef class XmmsServiceNamespace:
51109 * namespace_path = () # <<<<<<<<<<<<<<
51110 *
51111 * property path:
51112 */
51113 if (PyDict_SetItem((PyObject *)__pyx_ptype_7xmmsapi_XmmsServiceNamespace->tp_dict, __pyx_n_s_namespace_path, __pyx_empty_tuple) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__51113; goto __pyx_L1_error;}
51114 PyType_Modified(__pyx_ptype_7xmmsapi_XmmsServiceNamespace);
51115
51116 /* "xmmsapi.pyx":507
51117 * pass
51118 *
51119 * cpdef _walk(self, namespace = None, constant = None, method = None, broadcast = None, path = (), other = _noop, depth = -1, deep = False): # <<<<<<<<<<<<<<
51120 * callbacks = dict(
51121 * namespace = _setcb(namespace, other),
51122 */
51123 __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_noop); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__51123; goto __pyx_L1_error;}
51124 __Pyx_GOTREF(__pyx_t_2);
51125 __pyx_k__18 = __pyx_t_2;
51126 __Pyx_GIVEREF(__pyx_t_2);
51127 __pyx_t_2 = 0;
51128
51129 /* "xmmsapi.pyx":778
51130 * return "<namespace '%s' on client #%d>" % (".".join(self._path), self._clientid)
51131 *
51132 * class XmmsServiceClient(_XmmsServiceClient): # <<<<<<<<<<<<<<
51133 * def _update_api(self, xvalue, recursive = False, cb = None):
51134 * cdef XmmsValueC2C cxvalue
51135 */
51136 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__51136; goto __pyx_L1_error;}
51137 __Pyx_GOTREF(__pyx_t_2);
51138 __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_7xmmsapi__XmmsServiceClient)))( ((PyObject*)(((PyObject *)((PyObject*)__pyx_ptype_7xmmsapi__XmmsServiceClient
))))->ob_refcnt++)
;
51139 PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)((PyObject*)__pyx_ptype_7xmmsapi__XmmsServiceClient)))(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = ((PyObject *
)((PyObject*)__pyx_ptype_7xmmsapi__XmmsServiceClient)))
;
51140 __Pyx_GIVEREF(((PyObject *)((PyObject*)__pyx_ptype_7xmmsapi__XmmsServiceClient)));
51141 __pyx_t_3 = __Pyx_CalculateMetaclass(NULL((void*)0), __pyx_t_2); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__51141; goto __pyx_L1_error;}
51142 __Pyx_GOTREF(__pyx_t_3);
51143 __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_XmmsServiceClient, __pyx_n_s_XmmsServiceClient, (PyObject *) NULL((void*)0), __pyx_n_s_xmmsapi, (PyObject *) NULL((void*)0)); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__51143; goto __pyx_L1_error;}
51144 __Pyx_GOTREF(__pyx_t_4);
51145
51146 /* "xmmsapi.pyx":779
51147 *
51148 * class XmmsServiceClient(_XmmsServiceClient):
51149 * def _update_api(self, xvalue, recursive = False, cb = None): # <<<<<<<<<<<<<<
51150 * cdef XmmsValueC2C cxvalue
51151 * cxvalue = XmmsValueC2C(pyval = xvalue)
51152 */
51153 __pyx_t_5 = __Pyx_CyFunction_NewEx(&__pyx_mdef_7xmmsapi_17XmmsServiceClient_1_update_api, 0, __pyx_n_s_XmmsServiceClient__update_api, NULL, __pyx_n_s_xmmsapi, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__71))__Pyx_CyFunction_New(__pyx_CyFunctionType, &__pyx_mdef_7xmmsapi_17XmmsServiceClient_1_update_api
, 0, __pyx_n_s_XmmsServiceClient__update_api, ((void*)0), __pyx_n_s_xmmsapi
, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__71))
; if (unlikely(!__pyx_t_5)__builtin_expect(!!(!__pyx_t_5), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__51153; goto __pyx_L1_error;}
51154 __Pyx_GOTREF(__pyx_t_5);
51155 __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_tuple__72);
51156 if (PyObject_SetItem(__pyx_t_4, __pyx_n_s_update_api, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 779; __pyx_clineno = __LINE__51156; goto __pyx_L1_error;}
51157 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
51158
51159 /* "xmmsapi.pyx":835
51160 * sc(recursive, cb)
51161 *
51162 * def _update_api_callback(self, cb = None, recursive = False): # <<<<<<<<<<<<<<
51163 * def _update_api(xvalue):
51164 * self._update_api(xvalue, recursive, cb)
51165 */
51166 __pyx_t_5 = __Pyx_CyFunction_NewEx(&__pyx_mdef_7xmmsapi_17XmmsServiceClient_3_update_api_callback, 0, __pyx_n_s_XmmsServiceClient__update_api_ca_2, NULL, __pyx_n_s_xmmsapi, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__74))__Pyx_CyFunction_New(__pyx_CyFunctionType, &__pyx_mdef_7xmmsapi_17XmmsServiceClient_3_update_api_callback
, 0, __pyx_n_s_XmmsServiceClient__update_api_ca_2, ((void*)0)
, __pyx_n_s_xmmsapi, PyModule_GetDict(__pyx_m), ((PyObject *)
__pyx_codeobj__74))
; if (unlikely(!__pyx_t_5)__builtin_expect(!!(!__pyx_t_5), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__51166; goto __pyx_L1_error;}
51167 __Pyx_GOTREF(__pyx_t_5);
51168 __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_tuple__75);
51169 if (PyObject_SetItem(__pyx_t_4, __pyx_n_s_update_api_callback, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__51169; goto __pyx_L1_error;}
51170 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
51171
51172 /* "xmmsapi.pyx":842
51173 * return _update_api
51174 *
51175 * def __call__(self, recursive = False, cb = None): # <<<<<<<<<<<<<<
51176 * cdef XmmsResult res
51177 * cb = self._update_api_callback(cb, recursive)
51178 */
51179 __pyx_t_5 = __Pyx_CyFunction_NewEx(&__pyx_mdef_7xmmsapi_17XmmsServiceClient_5__call__, 0, __pyx_n_s_XmmsServiceClient___call, NULL, __pyx_n_s_xmmsapi, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__77))__Pyx_CyFunction_New(__pyx_CyFunctionType, &__pyx_mdef_7xmmsapi_17XmmsServiceClient_5__call__
, 0, __pyx_n_s_XmmsServiceClient___call, ((void*)0), __pyx_n_s_xmmsapi
, PyModule_GetDict(__pyx_m), ((PyObject *)__pyx_codeobj__77))
; if (unlikely(!__pyx_t_5)__builtin_expect(!!(!__pyx_t_5), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__51179; goto __pyx_L1_error;}
51180 __Pyx_GOTREF(__pyx_t_5);
51181 __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_tuple__78);
51182 if (PyObject_SetItem(__pyx_t_4, __pyx_n_s_call, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 842; __pyx_clineno = __LINE__51182; goto __pyx_L1_error;}
51183 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
51184
51185 /* "xmmsapi.pyx":778
51186 * return "<namespace '%s' on client #%d>" % (".".join(self._path), self._clientid)
51187 *
51188 * class XmmsServiceClient(_XmmsServiceClient): # <<<<<<<<<<<<<<
51189 * def _update_api(self, xvalue, recursive = False, cb = None):
51190 * cdef XmmsValueC2C cxvalue
51191 */
51192 __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_XmmsServiceClient, __pyx_t_2, __pyx_t_4, NULL((void*)0), 0, 1); if (unlikely(!__pyx_t_5)__builtin_expect(!!(!__pyx_t_5), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__51192; goto __pyx_L1_error;}
51193 __Pyx_GOTREF(__pyx_t_5);
51194 if (PyDict_SetItem(__pyx_d, __pyx_n_s_XmmsServiceClient, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__51194; goto __pyx_L1_error;}
51195 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
51196 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
51197 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
51198 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
51199
51200 /* "xmmsapi.pyx":879
51201 * return path
51202 *
51203 * def enforce_unicode(object o): # <<<<<<<<<<<<<<
51204 * if isinstance(o, unicode):
51205 * return o
51206 */
51207 __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_7xmmsapi_9enforce_unicode, NULL((void*)0), __pyx_n_s_xmmsapi); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__51207; goto __pyx_L1_error;}
51208 __Pyx_GOTREF(__pyx_t_2);
51209 if (PyDict_SetItem(__pyx_d, __pyx_n_s_enforce_unicode, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__51209; goto __pyx_L1_error;}
51210 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
51211
51212 /* "xmmsapi.pyx":1132
51213 * return self.create_result(cb, xmmsc_playback_current_id(self.conn))
51214 *
51215 * cpdef XmmsResult playback_seek_ms(self, int ms, xmms_playback_seek_mode_t whence = PLAYBACK_SEEK_SET, cb = None): # <<<<<<<<<<<<<<
51216 * """
51217 * Seek to a time position in the current file or stream in playback.
51218 */
51219 __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_PLAYBACK_SEEK_SET); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__51219; goto __pyx_L1_error;}
51220 __Pyx_GOTREF(__pyx_t_2);
51221 __pyx_t_6 = ((xmms_playback_seek_mode_t)PyInt_AsLong(__pyx_t_2)); if (unlikely(PyErr_Occurred())__builtin_expect(!!(PyErr_Occurred()), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1132; __pyx_clineno = __LINE__51221; goto __pyx_L1_error;}
51222 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
51223 __pyx_k__41 = __pyx_t_6;
51224
51225 /* "xmmsapi.pyx":1143
51226 * raise ValueError("Bad whence parameter")
51227 *
51228 * cpdef XmmsResult playback_seek_samples(self, int samples, xmms_playback_seek_mode_t whence = PLAYBACK_SEEK_SET, cb = None): # <<<<<<<<<<<<<<
51229 * """
51230 * Seek to a number of samples in the current file or stream in playback.
51231 */
51232 __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_PLAYBACK_SEEK_SET); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__51232; goto __pyx_L1_error;}
51233 __Pyx_GOTREF(__pyx_t_2);
51234 __pyx_t_6 = ((xmms_playback_seek_mode_t)PyInt_AsLong(__pyx_t_2)); if (unlikely(PyErr_Occurred())__builtin_expect(!!(PyErr_Occurred()), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __pyx_clineno = __LINE__51234; goto __pyx_L1_error;}
51235 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
51236 __pyx_k__43 = __pyx_t_6;
51237
51238 /* "xmmsapi.pyx":1281
51239 * return self.create_result(cb, res)
51240 *
51241 * @deprecated # <<<<<<<<<<<<<<
51242 * def playlist_rinsert_encoded(self, int pos, url, playlist = None, cb = None):
51243 * """
51244 */
51245 __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_deprecated); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__51245; goto __pyx_L1_error;}
51246 __Pyx_GOTREF(__pyx_t_2);
51247
51248 /* "xmmsapi.pyx":1282
51249 *
51250 * @deprecated
51251 * def playlist_rinsert_encoded(self, int pos, url, playlist = None, cb = None): # <<<<<<<<<<<<<<
51252 * """
51253 * @deprecated
51254 */
51255 __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_7xmmsapi_XmmsApi, __pyx_n_s_playlist_rinsert_encoded); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__51255; goto __pyx_L1_error;}
51256 __Pyx_GOTREF(__pyx_t_3);
51257
51258 /* "xmmsapi.pyx":1281
51259 * return self.create_result(cb, res)
51260 *
51261 * @deprecated # <<<<<<<<<<<<<<
51262 * def playlist_rinsert_encoded(self, int pos, url, playlist = None, cb = None):
51263 * """
51264 */
51265 __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__51265; goto __pyx_L1_error;}
51266 __Pyx_GOTREF(__pyx_t_4);
51267 PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3)(((PyTupleObject *)(__pyx_t_4))->ob_item[0] = __pyx_t_3);
51268 __Pyx_GIVEREF(__pyx_t_3);
51269 __pyx_t_3 = 0;
51270 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1281; __pyx_clineno = __LINE__51270; goto __pyx_L1_error;}
51271 __Pyx_GOTREF(__pyx_t_3);
51272 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
51273 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
51274 if (PyDict_SetItem((PyObject *)__pyx_ptype_7xmmsapi_XmmsApi->tp_dict, __pyx_n_s_playlist_rinsert_encoded, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__51274; goto __pyx_L1_error;}
51275 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
51276 PyType_Modified(__pyx_ptype_7xmmsapi_XmmsApi);
51277
51278 /* "xmmsapi.pyx":1308
51279 * return self.create_result(cb, res)
51280 *
51281 * @deprecated # <<<<<<<<<<<<<<
51282 * def playlist_insert_encoded(self, int pos, url, playlist = None, cb = None):
51283 * """
51284 */
51285 __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_deprecated); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__51285; goto __pyx_L1_error;}
51286 __Pyx_GOTREF(__pyx_t_3);
51287
51288 /* "xmmsapi.pyx":1309
51289 *
51290 * @deprecated
51291 * def playlist_insert_encoded(self, int pos, url, playlist = None, cb = None): # <<<<<<<<<<<<<<
51292 * """
51293 * @deprecated
51294 */
51295 __pyx_t_4 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_7xmmsapi_XmmsApi, __pyx_n_s_playlist_insert_encoded); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__51295; goto __pyx_L1_error;}
51296 __Pyx_GOTREF(__pyx_t_4);
51297
51298 /* "xmmsapi.pyx":1308
51299 * return self.create_result(cb, res)
51300 *
51301 * @deprecated # <<<<<<<<<<<<<<
51302 * def playlist_insert_encoded(self, int pos, url, playlist = None, cb = None):
51303 * """
51304 */
51305 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__51305; goto __pyx_L1_error;}
51306 __Pyx_GOTREF(__pyx_t_2);
51307 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_t_4);
51308 __Pyx_GIVEREF(__pyx_t_4);
51309 __pyx_t_4 = 0;
51310 __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1308; __pyx_clineno = __LINE__51310; goto __pyx_L1_error;}
51311 __Pyx_GOTREF(__pyx_t_4);
51312 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
51313 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
51314 if (PyDict_SetItem((PyObject *)__pyx_ptype_7xmmsapi_XmmsApi->tp_dict, __pyx_n_s_playlist_insert_encoded, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__51314; goto __pyx_L1_error;}
51315 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
51316 PyType_Modified(__pyx_ptype_7xmmsapi_XmmsApi);
51317
51318 /* "xmmsapi.pyx":1363
51319 * return self.create_result(cb, res)
51320 *
51321 * @deprecated # <<<<<<<<<<<<<<
51322 * def playlist_radd_encoded(self, url, playlist = None, cb = None):
51323 * """
51324 */
51325 __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_deprecated); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__51325; goto __pyx_L1_error;}
51326 __Pyx_GOTREF(__pyx_t_4);
51327
51328 /* "xmmsapi.pyx":1364
51329 *
51330 * @deprecated
51331 * def playlist_radd_encoded(self, url, playlist = None, cb = None): # <<<<<<<<<<<<<<
51332 * """
51333 * @deprecated
51334 */
51335 __pyx_t_2 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_7xmmsapi_XmmsApi, __pyx_n_s_playlist_radd_encoded); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1364; __pyx_clineno = __LINE__51335; goto __pyx_L1_error;}
51336 __Pyx_GOTREF(__pyx_t_2);
51337
51338 /* "xmmsapi.pyx":1363
51339 * return self.create_result(cb, res)
51340 *
51341 * @deprecated # <<<<<<<<<<<<<<
51342 * def playlist_radd_encoded(self, url, playlist = None, cb = None):
51343 * """
51344 */
51345 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__51345; goto __pyx_L1_error;}
51346 __Pyx_GOTREF(__pyx_t_3);
51347 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
51348 __Pyx_GIVEREF(__pyx_t_2);
51349 __pyx_t_2 = 0;
51350 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__51350; goto __pyx_L1_error;}
51351 __Pyx_GOTREF(__pyx_t_2);
51352 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
51353 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
51354 if (PyDict_SetItem((PyObject *)__pyx_ptype_7xmmsapi_XmmsApi->tp_dict, __pyx_n_s_playlist_radd_encoded, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1364; __pyx_clineno = __LINE__51354; goto __pyx_L1_error;}
51355 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
51356 PyType_Modified(__pyx_ptype_7xmmsapi_XmmsApi);
51357
51358 /* "xmmsapi.pyx":1389
51359 * return self.create_result(cb, res)
51360 *
51361 * @deprecated # <<<<<<<<<<<<<<
51362 * def playlist_add_encoded(self, url, playlist = None, cb = None):
51363 * """
51364 */
51365 __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_deprecated); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1389; __pyx_clineno = __LINE__51365; goto __pyx_L1_error;}
51366 __Pyx_GOTREF(__pyx_t_2);
51367
51368 /* "xmmsapi.pyx":1390
51369 *
51370 * @deprecated
51371 * def playlist_add_encoded(self, url, playlist = None, cb = None): # <<<<<<<<<<<<<<
51372 * """
51373 * @deprecated
51374 */
51375 __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_7xmmsapi_XmmsApi, __pyx_n_s_playlist_add_encoded); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__51375; goto __pyx_L1_error;}
51376 __Pyx_GOTREF(__pyx_t_3);
51377
51378 /* "xmmsapi.pyx":1389
51379 * return self.create_result(cb, res)
51380 *
51381 * @deprecated # <<<<<<<<<<<<<<
51382 * def playlist_add_encoded(self, url, playlist = None, cb = None):
51383 * """
51384 */
51385 __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1389; __pyx_clineno = __LINE__51385; goto __pyx_L1_error;}
51386 __Pyx_GOTREF(__pyx_t_4);
51387 PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3)(((PyTupleObject *)(__pyx_t_4))->ob_item[0] = __pyx_t_3);
51388 __Pyx_GIVEREF(__pyx_t_3);
51389 __pyx_t_3 = 0;
51390 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1389; __pyx_clineno = __LINE__51390; goto __pyx_L1_error;}
51391 __Pyx_GOTREF(__pyx_t_3);
51392 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
51393 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
51394 if (PyDict_SetItem((PyObject *)__pyx_ptype_7xmmsapi_XmmsApi->tp_dict, __pyx_n_s_playlist_add_encoded, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1390; __pyx_clineno = __LINE__51394; goto __pyx_L1_error;}
51395 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
51396 PyType_Modified(__pyx_ptype_7xmmsapi_XmmsApi);
51397
51398 /* "xmmsapi.pyx":1604
51399 * return self.create_result(cb, res)
51400 *
51401 * @deprecated # <<<<<<<<<<<<<<
51402 * def medialib_add_entry_encoded(self, path, cb = None):
51403 * """
51404 */
51405 __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_deprecated); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1604; __pyx_clineno = __LINE__51405; goto __pyx_L1_error;}
51406 __Pyx_GOTREF(__pyx_t_3);
51407
51408 /* "xmmsapi.pyx":1605
51409 *
51410 * @deprecated
51411 * def medialib_add_entry_encoded(self, path, cb = None): # <<<<<<<<<<<<<<
51412 * """
51413 * @deprecated
51414 */
51415 __pyx_t_4 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_7xmmsapi_XmmsApi, __pyx_n_s_medialib_add_entry_encoded); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1605; __pyx_clineno = __LINE__51415; goto __pyx_L1_error;}
51416 __Pyx_GOTREF(__pyx_t_4);
51417
51418 /* "xmmsapi.pyx":1604
51419 * return self.create_result(cb, res)
51420 *
51421 * @deprecated # <<<<<<<<<<<<<<
51422 * def medialib_add_entry_encoded(self, path, cb = None):
51423 * """
51424 */
51425 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1604; __pyx_clineno = __LINE__51425; goto __pyx_L1_error;}
51426 __Pyx_GOTREF(__pyx_t_2);
51427 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_t_4);
51428 __Pyx_GIVEREF(__pyx_t_4);
51429 __pyx_t_4 = 0;
51430 __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1604; __pyx_clineno = __LINE__51430; goto __pyx_L1_error;}
51431 __Pyx_GOTREF(__pyx_t_4);
51432 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
51433 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
51434 if (PyDict_SetItem((PyObject *)__pyx_ptype_7xmmsapi_XmmsApi->tp_dict, __pyx_n_s_medialib_add_entry_encoded, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1605; __pyx_clineno = __LINE__51434; goto __pyx_L1_error;}
51435 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
51436 PyType_Modified(__pyx_ptype_7xmmsapi_XmmsApi);
51437
51438 /* "xmmsapi.pyx":1685
51439 * return self.create_result(cb, res)
51440 *
51441 * @deprecated # <<<<<<<<<<<<<<
51442 * def medialib_path_import(self, path, cb = None, encoded = False):
51443 * """
51444 */
51445 __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_deprecated); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1685; __pyx_clineno = __LINE__51445; goto __pyx_L1_error;}
51446 __Pyx_GOTREF(__pyx_t_4);
51447
51448 /* "xmmsapi.pyx":1686
51449 *
51450 * @deprecated
51451 * def medialib_path_import(self, path, cb = None, encoded = False): # <<<<<<<<<<<<<<
51452 * """
51453 * @deprecated
51454 */
51455 __pyx_t_2 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_7xmmsapi_XmmsApi, __pyx_n_s_medialib_path_import); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1686; __pyx_clineno = __LINE__51455; goto __pyx_L1_error;}
51456 __Pyx_GOTREF(__pyx_t_2);
51457
51458 /* "xmmsapi.pyx":1685
51459 * return self.create_result(cb, res)
51460 *
51461 * @deprecated # <<<<<<<<<<<<<<
51462 * def medialib_path_import(self, path, cb = None, encoded = False):
51463 * """
51464 */
51465 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1685; __pyx_clineno = __LINE__51465; goto __pyx_L1_error;}
51466 __Pyx_GOTREF(__pyx_t_3);
51467 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
51468 __Pyx_GIVEREF(__pyx_t_2);
51469 __pyx_t_2 = 0;
51470 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1685; __pyx_clineno = __LINE__51470; goto __pyx_L1_error;}
51471 __Pyx_GOTREF(__pyx_t_2);
51472 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
51473 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
51474 if (PyDict_SetItem((PyObject *)__pyx_ptype_7xmmsapi_XmmsApi->tp_dict, __pyx_n_s_medialib_path_import, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1686; __pyx_clineno = __LINE__51474; goto __pyx_L1_error;}
51475 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
51476 PyType_Modified(__pyx_ptype_7xmmsapi_XmmsApi);
51477
51478 /* "xmmsapi.pyx":1693
51479 * return self.medialib_import_path(path, cb = cb, encoded = encoded)
51480 *
51481 * @deprecated # <<<<<<<<<<<<<<
51482 * def medialib_path_import_encoded(self, path, cb = None):
51483 * """
51484 */
51485 __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_deprecated); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1693; __pyx_clineno = __LINE__51485; goto __pyx_L1_error;}
51486 __Pyx_GOTREF(__pyx_t_2);
51487
51488 /* "xmmsapi.pyx":1694
51489 *
51490 * @deprecated
51491 * def medialib_path_import_encoded(self, path, cb = None): # <<<<<<<<<<<<<<
51492 * """
51493 * @deprecated
51494 */
51495 __pyx_t_3 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_7xmmsapi_XmmsApi, __pyx_n_s_medialib_path_import_encoded); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1694; __pyx_clineno = __LINE__51495; goto __pyx_L1_error;}
51496 __Pyx_GOTREF(__pyx_t_3);
51497
51498 /* "xmmsapi.pyx":1693
51499 * return self.medialib_import_path(path, cb = cb, encoded = encoded)
51500 *
51501 * @deprecated # <<<<<<<<<<<<<<
51502 * def medialib_path_import_encoded(self, path, cb = None):
51503 * """
51504 */
51505 __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1693; __pyx_clineno = __LINE__51505; goto __pyx_L1_error;}
51506 __Pyx_GOTREF(__pyx_t_4);
51507 PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3)(((PyTupleObject *)(__pyx_t_4))->ob_item[0] = __pyx_t_3);
51508 __Pyx_GIVEREF(__pyx_t_3);
51509 __pyx_t_3 = 0;
51510 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL((void*)0)); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1693; __pyx_clineno = __LINE__51510; goto __pyx_L1_error;}
51511 __Pyx_GOTREF(__pyx_t_3);
51512 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
51513 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
51514 if (PyDict_SetItem((PyObject *)__pyx_ptype_7xmmsapi_XmmsApi->tp_dict, __pyx_n_s_medialib_path_import_encoded, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1694; __pyx_clineno = __LINE__51514; goto __pyx_L1_error;}
51515 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
51516 PyType_Modified(__pyx_ptype_7xmmsapi_XmmsApi);
51517
51518 /* "xmmsapi.pyx":1747
51519 * return self.create_result(cb, xmmsc_broadcast_medialib_entry_added(self.conn))
51520 *
51521 * @deprecated # <<<<<<<<<<<<<<
51522 * def broadcast_medialib_entry_changed(self, cb = None):
51523 * """
51524 */
51525 __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_deprecated); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1747; __pyx_clineno = __LINE__51525; goto __pyx_L1_error;}
51526 __Pyx_GOTREF(__pyx_t_3);
51527
51528 /* "xmmsapi.pyx":1748
51529 *
51530 * @deprecated
51531 * def broadcast_medialib_entry_changed(self, cb = None): # <<<<<<<<<<<<<<
51532 * """
51533 * @deprecated
51534 */
51535 __pyx_t_4 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_7xmmsapi_XmmsApi, __pyx_n_s_broadcast_medialib_entry_changed); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1748; __pyx_clineno = __LINE__51535; goto __pyx_L1_error;}
51536 __Pyx_GOTREF(__pyx_t_4);
51537
51538 /* "xmmsapi.pyx":1747
51539 * return self.create_result(cb, xmmsc_broadcast_medialib_entry_added(self.conn))
51540 *
51541 * @deprecated # <<<<<<<<<<<<<<
51542 * def broadcast_medialib_entry_changed(self, cb = None):
51543 * """
51544 */
51545 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1747; __pyx_clineno = __LINE__51545; goto __pyx_L1_error;}
51546 __Pyx_GOTREF(__pyx_t_2);
51547 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_t_4);
51548 __Pyx_GIVEREF(__pyx_t_4);
51549 __pyx_t_4 = 0;
51550 __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, NULL((void*)0)); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1747; __pyx_clineno = __LINE__51550; goto __pyx_L1_error;}
51551 __Pyx_GOTREF(__pyx_t_4);
51552 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
51553 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
51554 if (PyDict_SetItem((PyObject *)__pyx_ptype_7xmmsapi_XmmsApi->tp_dict, __pyx_n_s_broadcast_medialib_entry_changed, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1748; __pyx_clineno = __LINE__51554; goto __pyx_L1_error;}
51555 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
51556 PyType_Modified(__pyx_ptype_7xmmsapi_XmmsApi);
51557
51558 /* "xmmsapi.pyx":1811
51559 * return self.create_result(cb, res)
51560 *
51561 * @deprecated # <<<<<<<<<<<<<<
51562 * def xform_media_browse_encoded(self, url, cb = None):
51563 * """
51564 */
51565 __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_deprecated); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1811; __pyx_clineno = __LINE__51565; goto __pyx_L1_error;}
51566 __Pyx_GOTREF(__pyx_t_4);
51567
51568 /* "xmmsapi.pyx":1812
51569 *
51570 * @deprecated
51571 * def xform_media_browse_encoded(self, url, cb = None): # <<<<<<<<<<<<<<
51572 * """
51573 * @deprecated
51574 */
51575 __pyx_t_2 = __Pyx_GetNameInClass((PyObject *)__pyx_ptype_7xmmsapi_XmmsApi, __pyx_n_s_xform_media_browse_encoded); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1812; __pyx_clineno = __LINE__51575; goto __pyx_L1_error;}
51576 __Pyx_GOTREF(__pyx_t_2);
51577
51578 /* "xmmsapi.pyx":1811
51579 * return self.create_result(cb, res)
51580 *
51581 * @deprecated # <<<<<<<<<<<<<<
51582 * def xform_media_browse_encoded(self, url, cb = None):
51583 * """
51584 */
51585 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1811; __pyx_clineno = __LINE__51585; goto __pyx_L1_error;}
51586 __Pyx_GOTREF(__pyx_t_3);
51587 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)(((PyTupleObject *)(__pyx_t_3))->ob_item[0] = __pyx_t_2);
51588 __Pyx_GIVEREF(__pyx_t_2);
51589 __pyx_t_2 = 0;
51590 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, NULL((void*)0)); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1811; __pyx_clineno = __LINE__51590; goto __pyx_L1_error;}
51591 __Pyx_GOTREF(__pyx_t_2);
51592 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
51593 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
51594 if (PyDict_SetItem((PyObject *)__pyx_ptype_7xmmsapi_XmmsApi->tp_dict, __pyx_n_s_xform_media_browse_encoded, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1812; __pyx_clineno = __LINE__51594; goto __pyx_L1_error;}
51595 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
51596 PyType_Modified(__pyx_ptype_7xmmsapi_XmmsApi);
51597
51598 /* "xmmsapi.pyx":2048
51599 * return self.create_result(cb, res)
51600 *
51601 * cpdef XmmsResult sc_call(self, int dest, method, args = (), kargs = dict(), cb = None): # <<<<<<<<<<<<<<
51602 * """
51603 * Call a remote method
51604 */
51605 __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2048; __pyx_clineno = __LINE__51605; goto __pyx_L1_error;}
51606 __Pyx_GOTREF(__pyx_t_2);
51607 __pyx_k__45 = __pyx_t_2;
51608 __Pyx_GIVEREF(__pyx_t_2);
51609 __pyx_t_2 = 0;
51610
51611 /* "xmmsapi.pyx":2233
51612 * return self.create_result(cb, xmmsc_visualization_property_set(self.conn, handle, <char *>k, <char *>v))
51613 *
51614 * cpdef XmmsResult visualization_properties_set(self, int handle, props = {}, cb = None): # <<<<<<<<<<<<<<
51615 * """
51616 * Set visualization's properties.
51617 */
51618 __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2233; __pyx_clineno = __LINE__51618; goto __pyx_L1_error;}
51619 __Pyx_GOTREF(__pyx_t_2);
51620 __pyx_k__47 = __pyx_t_2;
51621 __Pyx_GIVEREF(__pyx_t_2);
51622 __pyx_t_2 = 0;
51623
51624 /* "xmmsapi.pyx":2275
51625 *
51626 *
51627 * class XmmsDisconnectException(Exception): # <<<<<<<<<<<<<<
51628 * pass
51629 *
51630 */
51631 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2275; __pyx_clineno = __LINE__51631; goto __pyx_L1_error;}
51632 __Pyx_GOTREF(__pyx_t_2);
51633 __Pyx_INCREF(__pyx_builtin_Exception)( ((PyObject*)(__pyx_builtin_Exception))->ob_refcnt++);
51634 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_builtin_Exception)(((PyTupleObject *)(__pyx_t_2))->ob_item[0] = __pyx_builtin_Exception
)
;
51635 __Pyx_GIVEREF(__pyx_builtin_Exception);
51636 __pyx_t_3 = __Pyx_CalculateMetaclass(NULL((void*)0), __pyx_t_2); if (unlikely(!__pyx_t_3)__builtin_expect(!!(!__pyx_t_3), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2275; __pyx_clineno = __LINE__51636; goto __pyx_L1_error;}
51637 __Pyx_GOTREF(__pyx_t_3);
51638 __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_XmmsDisconnectException, __pyx_n_s_XmmsDisconnectException, (PyObject *) NULL((void*)0), __pyx_n_s_xmmsapi, (PyObject *) NULL((void*)0)); if (unlikely(!__pyx_t_4)__builtin_expect(!!(!__pyx_t_4), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2275; __pyx_clineno = __LINE__51638; goto __pyx_L1_error;}
51639 __Pyx_GOTREF(__pyx_t_4);
51640 __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_XmmsDisconnectException, __pyx_t_2, __pyx_t_4, NULL((void*)0), 0, 1); if (unlikely(!__pyx_t_5)__builtin_expect(!!(!__pyx_t_5), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2275; __pyx_clineno = __LINE__51640; goto __pyx_L1_error;}
51641 __Pyx_GOTREF(__pyx_t_5);
51642 if (PyDict_SetItem(__pyx_d, __pyx_n_s_XmmsDisconnectException, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2275; __pyx_clineno = __LINE__51642; goto __pyx_L1_error;}
51643 __Pyx_DECREF(__pyx_t_5)do { if ( --((PyObject*)(__pyx_t_5))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_5)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_5)))); } while (
0)
; __pyx_t_5 = 0;
51644 __Pyx_DECREF(__pyx_t_4)do { if ( --((PyObject*)(__pyx_t_4))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_4)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_4)))); } while (
0)
; __pyx_t_4 = 0;
51645 __Pyx_DECREF(__pyx_t_3)do { if ( --((PyObject*)(__pyx_t_3))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_3)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_3)))); } while (
0)
; __pyx_t_3 = 0;
51646 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
51647
51648 /* "xmmsapi.pyx":2378
51649 * self._loop_set_wakeup(None)
51650 *
51651 * Xmms = XmmsApi # <<<<<<<<<<<<<<
51652 */
51653 if (PyDict_SetItem(__pyx_d, __pyx_n_s_Xmms, ((PyObject *)((PyObject*)__pyx_ptype_7xmmsapi_XmmsApi))) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2378; __pyx_clineno = __LINE__51653; goto __pyx_L1_error;}
51654
51655 /* "xmmsapi.pyx":1
51656 * """ # <<<<<<<<<<<<<<
51657 * Python bindings for XMMS2.
51658 * """
51659 */
51660 __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)__builtin_expect(!!(!__pyx_t_2), 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__51660; goto __pyx_L1_error;}
51661 __Pyx_GOTREF(__pyx_t_2);
51662 if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__51662; goto __pyx_L1_error;}
51663 __Pyx_DECREF(__pyx_t_2)do { if ( --((PyObject*)(__pyx_t_2))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_t_2)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(__pyx_t_2)))); } while (
0)
; __pyx_t_2 = 0;
51664
51665 /* "xmmsutils.pxd":7
51666 * return PyUnicode_DecodeUTF8(s, strlen(s), "replace")
51667 *
51668 * cdef inline from_unicode(object o): # <<<<<<<<<<<<<<
51669 * if isinstance(o, unicode):
51670 * return PyUnicode_AsUTF8String(o)
51671 */
51672 goto __pyx_L0;
51673 __pyx_L1_error:;
51674 __Pyx_XDECREF(__pyx_t_1)do { if ((__pyx_t_1) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_1))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_1)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_1)))); } while (0); } while (0)
;
51675 __Pyx_XDECREF(__pyx_t_2)do { if ((__pyx_t_2) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_2))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_2)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_2)))); } while (0); } while (0)
;
51676 __Pyx_XDECREF(__pyx_t_3)do { if ((__pyx_t_3) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_3))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_3)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_3)))); } while (0); } while (0)
;
51677 __Pyx_XDECREF(__pyx_t_4)do { if ((__pyx_t_4) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_4))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_4)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_4)))); } while (0); } while (0)
;
51678 __Pyx_XDECREF(__pyx_t_5)do { if ((__pyx_t_5) == ((void*)0)) ; else do { if ( --((PyObject
*)(__pyx_t_5))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(__pyx_t_5)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(__pyx_t_5)))); } while (0); } while (0)
;
51679 if (__pyx_m) {
51680 __Pyx_AddTraceback("init xmmsapi", __pyx_clineno, __pyx_lineno, __pyx_filename);
51681 Py_DECREF(__pyx_m)do { if ( --((PyObject*)(__pyx_m))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(__pyx_m)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(__pyx_m)))); } while (0)
; __pyx_m = 0;
51682 } else if (!PyErr_Occurred()) {
51683 PyErr_SetString(PyExc_ImportError, "init xmmsapi");
51684 }
51685 __pyx_L0:;
51686 __Pyx_RefNannyFinishContext();
51687 #if PY_MAJOR_VERSION2 < 3
51688 return;
51689 #else
51690 return __pyx_m;
51691 #endif
51692}
51693
51694/* Runtime support code */
51695#if CYTHON_REFNANNY0
51696static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
51697 PyObject *m = NULL((void*)0), *p = NULL((void*)0);
51698 void *r = NULL((void*)0);
51699 m = PyImport_ImportModule((char *)modname);
51700 if (!m) goto end;
51701 p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
51702 if (!p) goto end;
51703 r = PyLong_AsVoidPtr(p);
51704end:
51705 Py_XDECREF(p)do { if ((p) == ((void*)0)) ; else do { if ( --((PyObject*)(p
))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(
p)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(p
)))); } while (0); } while (0)
;
51706 Py_XDECREF(m)do { if ((m) == ((void*)0)) ; else do { if ( --((PyObject*)(m
))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(
m)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(m
)))); } while (0); } while (0)
;
51707 return (__Pyx_RefNannyAPIStruct *)r;
51708}
51709#endif /* CYTHON_REFNANNY */
51710
51711static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
51712 PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name);
51713 if (unlikely(!result)__builtin_expect(!!(!result), 0)) {
51714 PyErr_Format(PyExc_NameError,
51715#if PY_MAJOR_VERSION2 >= 3
51716 "name '%U' is not defined", name);
51717#else
51718 "name '%.200s' is not defined", PyString_AS_STRING(name)(((PyStringObject *)(name))->ob_sval));
51719#endif
51720 }
51721 return result;
51722}
51723
51724static CYTHON_INLINE__inline__ int __Pyx_CheckKeywordStrings(
51725 PyObject *kwdict,
51726 const char* function_name,
51727 int kw_allowed)
51728{
51729 PyObject* key = 0;
51730 Py_ssize_t pos = 0;
51731#if CPYTHON_COMPILING_IN_PYPY
51732 if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0))
51733 goto invalid_keyword;
51734 return 1;
51735#else
51736 while (PyDict_Next(kwdict, &pos, &key, 0)) {
51737 #if PY_MAJOR_VERSION2 < 3
51738 if (unlikely(!PyString_CheckExact(key))__builtin_expect(!!(!((((PyObject*)(key))->ob_type) == &
PyString_Type)), 0)
&& unlikely(!PyString_Check(key))__builtin_expect(!!(!((((((PyObject*)(key))->ob_type))->
tp_flags & ((1L<<27))) != 0)), 0)
)
51739 #endif
51740 if (unlikely(!PyUnicode_Check(key))__builtin_expect(!!(!((((((PyObject*)(key))->ob_type))->
tp_flags & ((1L<<28))) != 0)), 0)
)
51741 goto invalid_keyword_type;
51742 }
51743 if ((!kw_allowed) && unlikely(key)__builtin_expect(!!(key), 0))
51744 goto invalid_keyword;
51745 return 1;
51746invalid_keyword_type:
51747 PyErr_Format(PyExc_TypeError,
51748 "%.200s() keywords must be strings", function_name);
51749 return 0;
51750#endif
51751invalid_keyword:
51752 PyErr_Format(PyExc_TypeError,
51753 #if PY_MAJOR_VERSION2 < 3
51754 "%.200s() got an unexpected keyword argument '%.200s'",
51755 function_name, PyString_AsString(key));
51756 #else
51757 "%s() got an unexpected keyword argument '%U'",
51758 function_name, key);
51759 #endif
51760 return 0;
51761}
51762
51763static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
51764 PyObject* value = __Pyx_PyObject_GetAttrStr(module, name);
51765 if (unlikely(!value)__builtin_expect(!!(!value), 0) && PyErr_ExceptionMatches(PyExc_AttributeError)) {
51766 PyErr_Format(PyExc_ImportError,
51767 #if PY_MAJOR_VERSION2 < 3
51768 "cannot import name %.230s", PyString_AS_STRING(name)(((PyStringObject *)(name))->ob_sval));
51769 #else
51770 "cannot import name %S", name);
51771 #endif
51772 }
51773 return value;
51774}
51775
51776#if CYTHON_COMPILING_IN_CPYTHON1
51777static CYTHON_INLINE__inline__ PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
51778 PyObject *result;
51779 ternaryfunc call = func->ob_type->tp_call;
51780 if (unlikely(!call)__builtin_expect(!!(!call), 0))
51781 return PyObject_Call(func, arg, kw);
51782#if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x02060000
51783 if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))__builtin_expect(!!(((++((_PyThreadState_Current)->recursion_depth
) > _Py_CheckRecursionLimit) && _Py_CheckRecursiveCall
((char*)" while calling a Python object"))), 0)
)
51784 return NULL((void*)0);
51785#endif
51786 result = (*call)(func, arg, kw);
51787#if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x02060000
51788 Py_LeaveRecursiveCall()(--(_PyThreadState_Current)->recursion_depth);
51789#endif
51790 if (unlikely(!result)__builtin_expect(!!(!result), 0) && unlikely(!PyErr_Occurred())__builtin_expect(!!(!PyErr_Occurred()), 0)) {
51791 PyErr_SetString(
51792 PyExc_SystemError,
51793 "NULL result without error in PyObject_Call");
51794 }
51795 return result;
51796}
51797#endif
51798
51799static CYTHON_INLINE__inline__ void __Pyx_RaiseClosureNameError(const char *varname) {
51800 PyErr_Format(PyExc_NameError, "free variable '%s' referenced before assignment in enclosing scope", varname);
51801}
51802
51803static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) {
51804 PyObject* fake_module;
51805 PyTypeObject* cached_type = NULL((void*)0);
51806 fake_module = PyImport_AddModule((char*) "_cython_" CYTHON_ABI"0_20_1post0");
51807 if (!fake_module) return NULL((void*)0);
51808 Py_INCREF(fake_module)( ((PyObject*)(fake_module))->ob_refcnt++);
51809 cached_type = (PyTypeObject*) PyObject_GetAttrString(fake_module, type->tp_name);
51810 if (cached_type) {
51811 if (!PyType_Check((PyObject*)cached_type)((((((PyObject*)((PyObject*)cached_type))->ob_type))->tp_flags
& ((1L<<31))) != 0)
) {
51812 PyErr_Format(PyExc_TypeError,
51813 "Shared Cython type %.200s is not a type object",
51814 type->tp_name);
51815 goto bad;
51816 }
51817 if (cached_type->tp_basicsize != type->tp_basicsize) {
51818 PyErr_Format(PyExc_TypeError,
51819 "Shared Cython type %.200s has the wrong size, try recompiling",
51820 type->tp_name);
51821 goto bad;
51822 }
51823 } else {
51824 if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad;
51825 PyErr_Clear();
51826 if (PyType_Ready(type) < 0) goto bad;
51827 if (PyObject_SetAttrString(fake_module, type->tp_name, (PyObject*) type) < 0)
51828 goto bad;
51829 Py_INCREF(type)( ((PyObject*)(type))->ob_refcnt++);
51830 cached_type = type;
51831 }
51832done:
51833 Py_DECREF(fake_module)do { if ( --((PyObject*)(fake_module))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(fake_module)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(fake_module)))); } while
(0)
;
51834 return cached_type;
51835bad:
51836 Py_XDECREF(cached_type)do { if ((cached_type) == ((void*)0)) ; else do { if ( --((PyObject
*)(cached_type))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(cached_type)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(cached_type)))); } while (0); } while (0)
;
51837 cached_type = NULL((void*)0);
51838 goto done;
51839}
51840
51841static PyObject *
51842__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, CYTHON_UNUSED__attribute__ ((__unused__)) void *closure)
51843{
51844 if (unlikely(op->func_doc == NULL)__builtin_expect(!!(op->func_doc == ((void*)0)), 0)) {
51845 if (op->func.m_ml->ml_doc) {
51846#if PY_MAJOR_VERSION2 >= 3
51847 op->func_doc = PyUnicode_FromStringPyUnicodeUCS4_FromString(op->func.m_ml->ml_doc);
51848#else
51849 op->func_doc = PyString_FromString(op->func.m_ml->ml_doc);
51850#endif
51851 if (unlikely(op->func_doc == NULL)__builtin_expect(!!(op->func_doc == ((void*)0)), 0))
51852 return NULL((void*)0);
51853 } else {
51854 Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
51855 return Py_None(&_Py_NoneStruct);
51856 }
51857 }
51858 Py_INCREF(op->func_doc)( ((PyObject*)(op->func_doc))->ob_refcnt++);
51859 return op->func_doc;
51860}
51861static int
51862__Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value)
51863{
51864 PyObject *tmp = op->func_doc;
51865 if (value == NULL((void*)0))
51866 value = Py_None(&_Py_NoneStruct); /* Mark as deleted */
51867 Py_INCREF(value)( ((PyObject*)(value))->ob_refcnt++);
51868 op->func_doc = value;
51869 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
51870 return 0;
51871}
51872static PyObject *
51873__Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op)
51874{
51875 if (unlikely(op->func_name == NULL)__builtin_expect(!!(op->func_name == ((void*)0)), 0)) {
51876#if PY_MAJOR_VERSION2 >= 3
51877 op->func_name = PyUnicode_InternFromString(op->func.m_ml->ml_name);
51878#else
51879 op->func_name = PyString_InternFromString(op->func.m_ml->ml_name);
51880#endif
51881 if (unlikely(op->func_name == NULL)__builtin_expect(!!(op->func_name == ((void*)0)), 0))
51882 return NULL((void*)0);
51883 }
51884 Py_INCREF(op->func_name)( ((PyObject*)(op->func_name))->ob_refcnt++);
51885 return op->func_name;
51886}
51887static int
51888__Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value)
51889{
51890 PyObject *tmp;
51891#if PY_MAJOR_VERSION2 >= 3
51892 if (unlikely(value == NULL || !PyUnicode_Check(value))__builtin_expect(!!(value == ((void*)0) || !((((((PyObject*)(
value))->ob_type))->tp_flags & ((1L<<28))) !=
0)), 0)
) {
51893#else
51894 if (unlikely(value == NULL || !PyString_Check(value))__builtin_expect(!!(value == ((void*)0) || !((((((PyObject*)(
value))->ob_type))->tp_flags & ((1L<<27))) !=
0)), 0)
) {
51895#endif
51896 PyErr_SetString(PyExc_TypeError,
51897 "__name__ must be set to a string object");
51898 return -1;
51899 }
51900 tmp = op->func_name;
51901 Py_INCREF(value)( ((PyObject*)(value))->ob_refcnt++);
51902 op->func_name = value;
51903 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
51904 return 0;
51905}
51906static PyObject *
51907__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op)
51908{
51909 Py_INCREF(op->func_qualname)( ((PyObject*)(op->func_qualname))->ob_refcnt++);
51910 return op->func_qualname;
51911}
51912static int
51913__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value)
51914{
51915 PyObject *tmp;
51916#if PY_MAJOR_VERSION2 >= 3
51917 if (unlikely(value == NULL || !PyUnicode_Check(value))__builtin_expect(!!(value == ((void*)0) || !((((((PyObject*)(
value))->ob_type))->tp_flags & ((1L<<28))) !=
0)), 0)
) {
51918#else
51919 if (unlikely(value == NULL || !PyString_Check(value))__builtin_expect(!!(value == ((void*)0) || !((((((PyObject*)(
value))->ob_type))->tp_flags & ((1L<<27))) !=
0)), 0)
) {
51920#endif
51921 PyErr_SetString(PyExc_TypeError,
51922 "__qualname__ must be set to a string object");
51923 return -1;
51924 }
51925 tmp = op->func_qualname;
51926 Py_INCREF(value)( ((PyObject*)(value))->ob_refcnt++);
51927 op->func_qualname = value;
51928 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
51929 return 0;
51930}
51931static PyObject *
51932__Pyx_CyFunction_get_self(__pyx_CyFunctionObject *m, CYTHON_UNUSED__attribute__ ((__unused__)) void *closure)
51933{
51934 PyObject *self;
51935 self = m->func_closure;
51936 if (self == NULL((void*)0))
51937 self = Py_None(&_Py_NoneStruct);
51938 Py_INCREF(self)( ((PyObject*)(self))->ob_refcnt++);
51939 return self;
51940}
51941static PyObject *
51942__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op)
51943{
51944 if (unlikely(op->func_dict == NULL)__builtin_expect(!!(op->func_dict == ((void*)0)), 0)) {
51945 op->func_dict = PyDict_New();
51946 if (unlikely(op->func_dict == NULL)__builtin_expect(!!(op->func_dict == ((void*)0)), 0))
51947 return NULL((void*)0);
51948 }
51949 Py_INCREF(op->func_dict)( ((PyObject*)(op->func_dict))->ob_refcnt++);
51950 return op->func_dict;
51951}
51952static int
51953__Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value)
51954{
51955 PyObject *tmp;
51956 if (unlikely(value == NULL)__builtin_expect(!!(value == ((void*)0)), 0)) {
51957 PyErr_SetString(PyExc_TypeError,
51958 "function's dictionary may not be deleted");
51959 return -1;
51960 }
51961 if (unlikely(!PyDict_Check(value))__builtin_expect(!!(!((((((PyObject*)(value))->ob_type))->
tp_flags & ((1L<<29))) != 0)), 0)
) {
51962 PyErr_SetString(PyExc_TypeError,
51963 "setting function's dictionary to a non-dict");
51964 return -1;
51965 }
51966 tmp = op->func_dict;
51967 Py_INCREF(value)( ((PyObject*)(value))->ob_refcnt++);
51968 op->func_dict = value;
51969 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
51970 return 0;
51971}
51972static PyObject *
51973__Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op)
51974{
51975 Py_INCREF(op->func_globals)( ((PyObject*)(op->func_globals))->ob_refcnt++);
51976 return op->func_globals;
51977}
51978static PyObject *
51979__Pyx_CyFunction_get_closure(CYTHON_UNUSED__attribute__ ((__unused__)) __pyx_CyFunctionObject *op)
51980{
51981 Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
51982 return Py_None(&_Py_NoneStruct);
51983}
51984static PyObject *
51985__Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op)
51986{
51987 PyObject* result = (op->func_code) ? op->func_code : Py_None(&_Py_NoneStruct);
51988 Py_INCREF(result)( ((PyObject*)(result))->ob_refcnt++);
51989 return result;
51990}
51991static int
51992__Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) {
51993 PyObject *res = op->defaults_getter((PyObject *) op);
51994 if (unlikely(!res)__builtin_expect(!!(!res), 0))
51995 return -1;
51996 op->defaults_tuple = PyTuple_GET_ITEM(res, 0)(((PyTupleObject *)(res))->ob_item[0]);
51997 Py_INCREF(op->defaults_tuple)( ((PyObject*)(op->defaults_tuple))->ob_refcnt++);
51998 op->defaults_kwdict = PyTuple_GET_ITEM(res, 1)(((PyTupleObject *)(res))->ob_item[1]);
51999 Py_INCREF(op->defaults_kwdict)( ((PyObject*)(op->defaults_kwdict))->ob_refcnt++);
52000 Py_DECREF(res)do { if ( --((PyObject*)(res))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(res)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(res)))); } while (0)
;
52001 return 0;
52002}
52003static int
52004__Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value) {
52005 PyObject* tmp;
52006 if (!value) {
52007 value = Py_None(&_Py_NoneStruct);
52008 } else if (value != Py_None(&_Py_NoneStruct) && !PyTuple_Check(value)((((((PyObject*)(value))->ob_type))->tp_flags & ((1L
<<26))) != 0)
) {
52009 PyErr_SetString(PyExc_TypeError,
52010 "__defaults__ must be set to a tuple object");
52011 return -1;
52012 }
52013 Py_INCREF(value)( ((PyObject*)(value))->ob_refcnt++);
52014 tmp = op->defaults_tuple;
52015 op->defaults_tuple = value;
52016 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
52017 return 0;
52018}
52019static PyObject *
52020__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op) {
52021 PyObject* result = op->defaults_tuple;
52022 if (unlikely(!result)__builtin_expect(!!(!result), 0)) {
52023 if (op->defaults_getter) {
52024 if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL((void*)0);
52025 result = op->defaults_tuple;
52026 } else {
52027 result = Py_None(&_Py_NoneStruct);
52028 }
52029 }
52030 Py_INCREF(result)( ((PyObject*)(result))->ob_refcnt++);
52031 return result;
52032}
52033static int
52034__Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value) {
52035 PyObject* tmp;
52036 if (!value) {
52037 value = Py_None(&_Py_NoneStruct);
52038 } else if (value != Py_None(&_Py_NoneStruct) && !PyDict_Check(value)((((((PyObject*)(value))->ob_type))->tp_flags & ((1L
<<29))) != 0)
) {
52039 PyErr_SetString(PyExc_TypeError,
52040 "__kwdefaults__ must be set to a dict object");
52041 return -1;
52042 }
52043 Py_INCREF(value)( ((PyObject*)(value))->ob_refcnt++);
52044 tmp = op->defaults_kwdict;
52045 op->defaults_kwdict = value;
52046 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
52047 return 0;
52048}
52049static PyObject *
52050__Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op) {
52051 PyObject* result = op->defaults_kwdict;
52052 if (unlikely(!result)__builtin_expect(!!(!result), 0)) {
52053 if (op->defaults_getter) {
52054 if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL((void*)0);
52055 result = op->defaults_kwdict;
52056 } else {
52057 result = Py_None(&_Py_NoneStruct);
52058 }
52059 }
52060 Py_INCREF(result)( ((PyObject*)(result))->ob_refcnt++);
52061 return result;
52062}
52063static int
52064__Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value) {
52065 PyObject* tmp;
52066 if (!value || value == Py_None(&_Py_NoneStruct)) {
52067 value = NULL((void*)0);
52068 } else if (!PyDict_Check(value)((((((PyObject*)(value))->ob_type))->tp_flags & ((1L
<<29))) != 0)
) {
52069 PyErr_SetString(PyExc_TypeError,
52070 "__annotations__ must be set to a dict object");
52071 return -1;
52072 }
52073 Py_XINCREF(value)do { if ((value) == ((void*)0)) ; else ( ((PyObject*)(value))
->ob_refcnt++); } while (0)
;
52074 tmp = op->func_annotations;
52075 op->func_annotations = value;
52076 Py_XDECREF(tmp)do { if ((tmp) == ((void*)0)) ; else do { if ( --((PyObject*)
(tmp))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp)))); } while (0); } while (0)
;
52077 return 0;
52078}
52079static PyObject *
52080__Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op) {
52081 PyObject* result = op->func_annotations;
52082 if (unlikely(!result)__builtin_expect(!!(!result), 0)) {
52083 result = PyDict_New();
52084 if (unlikely(!result)__builtin_expect(!!(!result), 0)) return NULL((void*)0);
52085 op->func_annotations = result;
52086 }
52087 Py_INCREF(result)( ((PyObject*)(result))->ob_refcnt++);
52088 return result;
52089}
52090static PyGetSetDef __pyx_CyFunction_getsets[] = {
52091 {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
52092 {(char *) "__doc__", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
52093 {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
52094 {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
52095 {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0},
52096 {(char *) "__self__", (getter)__Pyx_CyFunction_get_self, 0, 0, 0},
52097 {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
52098 {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
52099 {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
52100 {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
52101 {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
52102 {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
52103 {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
52104 {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
52105 {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
52106 {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
52107 {(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0},
52108 {(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0},
52109 {0, 0, 0, 0, 0}
52110};
52111#ifndef PY_WRITE_RESTRICTED4 /* < Py2.5 */
52112#define PY_WRITE_RESTRICTED4 WRITE_RESTRICTED
52113#endif
52114static PyMemberDef __pyx_CyFunction_members[] = {
52115 {(char *) "__module__", T_OBJECT6, offsetof(__pyx_CyFunctionObject, func.m_module)__builtin_offsetof(__pyx_CyFunctionObject, func.m_module), PY_WRITE_RESTRICTED4, 0},
52116 {0, 0, 0, 0, 0}
52117};
52118static PyObject *
52119__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *args)
52120{
52121#if PY_MAJOR_VERSION2 >= 3
52122 return PyUnicode_FromStringPyUnicodeUCS4_FromString(m->func.m_ml->ml_name);
52123#else
52124 return PyString_FromString(m->func.m_ml->ml_name);
52125#endif
52126}
52127static PyMethodDef __pyx_CyFunction_methods[] = {
52128 {__Pyx_NAMESTR("__reduce__")("__reduce__"), (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS0x0001, 0},
52129 {0, 0, 0, 0}
52130};
52131static PyObject *__Pyx_CyFunction_New(PyTypeObject *type, PyMethodDef *ml, int flags, PyObject* qualname,
52132 PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
52133 __pyx_CyFunctionObject *op = PyObject_GC_New(__pyx_CyFunctionObject, type)( (__pyx_CyFunctionObject *) _PyObject_GC_New(type) );
52134 if (op == NULL((void*)0))
52135 return NULL((void*)0);
52136 op->flags = flags;
52137 op->func_weakreflist = NULL((void*)0);
52138 op->func.m_ml = ml;
52139 op->func.m_self = (PyObject *) op;
52140 Py_XINCREF(closure)do { if ((closure) == ((void*)0)) ; else ( ((PyObject*)(closure
))->ob_refcnt++); } while (0)
;
52141 op->func_closure = closure;
52142 Py_XINCREF(module)do { if ((module) == ((void*)0)) ; else ( ((PyObject*)(module
))->ob_refcnt++); } while (0)
;
52143 op->func.m_module = module;
52144 op->func_dict = NULL((void*)0);
52145 op->func_name = NULL((void*)0);
52146 Py_INCREF(qualname)( ((PyObject*)(qualname))->ob_refcnt++);
52147 op->func_qualname = qualname;
52148 op->func_doc = NULL((void*)0);
52149 op->func_classobj = NULL((void*)0);
52150 op->func_globals = globals;
52151 Py_INCREF(op->func_globals)( ((PyObject*)(op->func_globals))->ob_refcnt++);
52152 Py_XINCREF(code)do { if ((code) == ((void*)0)) ; else ( ((PyObject*)(code))->
ob_refcnt++); } while (0)
;
52153 op->func_code = code;
52154 op->defaults_pyobjects = 0;
52155 op->defaults = NULL((void*)0);
52156 op->defaults_tuple = NULL((void*)0);
52157 op->defaults_kwdict = NULL((void*)0);
52158 op->defaults_getter = NULL((void*)0);
52159 op->func_annotations = NULL((void*)0);
52160 PyObject_GC_Track(op);
52161 return (PyObject *) op;
52162}
52163static int
52164__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
52165{
52166 Py_CLEAR(m->func_closure)do { if (m->func_closure) { PyObject *_py_tmp = (PyObject *
)(m->func_closure); (m->func_closure) = ((void*)0); do {
if ( --((PyObject*)(_py_tmp))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(_py_tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(_py_tmp)))); } while (0); } } while
(0)
;
52167 Py_CLEAR(m->func.m_module)do { if (m->func.m_module) { PyObject *_py_tmp = (PyObject
*)(m->func.m_module); (m->func.m_module) = ((void*)0);
do { if ( --((PyObject*)(_py_tmp))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(_py_tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(_py_tmp)))); } while (0); } } while
(0)
;
52168 Py_CLEAR(m->func_dict)do { if (m->func_dict) { PyObject *_py_tmp = (PyObject *)(
m->func_dict); (m->func_dict) = ((void*)0); do { if ( --
((PyObject*)(_py_tmp))->ob_refcnt != 0) ; else ( (*(((PyObject
*)((PyObject *)(_py_tmp)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(_py_tmp)))); } while (0); } } while (0)
;
52169 Py_CLEAR(m->func_name)do { if (m->func_name) { PyObject *_py_tmp = (PyObject *)(
m->func_name); (m->func_name) = ((void*)0); do { if ( --
((PyObject*)(_py_tmp))->ob_refcnt != 0) ; else ( (*(((PyObject
*)((PyObject *)(_py_tmp)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(_py_tmp)))); } while (0); } } while (0)
;
52170 Py_CLEAR(m->func_qualname)do { if (m->func_qualname) { PyObject *_py_tmp = (PyObject
*)(m->func_qualname); (m->func_qualname) = ((void*)0);
do { if ( --((PyObject*)(_py_tmp))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(_py_tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(_py_tmp)))); } while (0); } } while
(0)
;
52171 Py_CLEAR(m->func_doc)do { if (m->func_doc) { PyObject *_py_tmp = (PyObject *)(m
->func_doc); (m->func_doc) = ((void*)0); do { if ( --((
PyObject*)(_py_tmp))->ob_refcnt != 0) ; else ( (*(((PyObject
*)((PyObject *)(_py_tmp)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(_py_tmp)))); } while (0); } } while (0)
;
52172 Py_CLEAR(m->func_globals)do { if (m->func_globals) { PyObject *_py_tmp = (PyObject *
)(m->func_globals); (m->func_globals) = ((void*)0); do {
if ( --((PyObject*)(_py_tmp))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(_py_tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(_py_tmp)))); } while (0); } } while
(0)
;
52173 Py_CLEAR(m->func_code)do { if (m->func_code) { PyObject *_py_tmp = (PyObject *)(
m->func_code); (m->func_code) = ((void*)0); do { if ( --
((PyObject*)(_py_tmp))->ob_refcnt != 0) ; else ( (*(((PyObject
*)((PyObject *)(_py_tmp)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(_py_tmp)))); } while (0); } } while (0)
;
52174 Py_CLEAR(m->func_classobj)do { if (m->func_classobj) { PyObject *_py_tmp = (PyObject
*)(m->func_classobj); (m->func_classobj) = ((void*)0);
do { if ( --((PyObject*)(_py_tmp))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(_py_tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(_py_tmp)))); } while (0); } } while
(0)
;
52175 Py_CLEAR(m->defaults_tuple)do { if (m->defaults_tuple) { PyObject *_py_tmp = (PyObject
*)(m->defaults_tuple); (m->defaults_tuple) = ((void*)0
); do { if ( --((PyObject*)(_py_tmp))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(_py_tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(_py_tmp)))); } while (0); } } while
(0)
;
52176 Py_CLEAR(m->defaults_kwdict)do { if (m->defaults_kwdict) { PyObject *_py_tmp = (PyObject
*)(m->defaults_kwdict); (m->defaults_kwdict) = ((void*
)0); do { if ( --((PyObject*)(_py_tmp))->ob_refcnt != 0) ;
else ( (*(((PyObject*)((PyObject *)(_py_tmp)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(_py_tmp)))); } while (0
); } } while (0)
;
52177 Py_CLEAR(m->func_annotations)do { if (m->func_annotations) { PyObject *_py_tmp = (PyObject
*)(m->func_annotations); (m->func_annotations) = ((void
*)0); do { if ( --((PyObject*)(_py_tmp))->ob_refcnt != 0) ;
else ( (*(((PyObject*)((PyObject *)(_py_tmp)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(_py_tmp)))); } while (0
); } } while (0)
;
52178 if (m->defaults) {
52179 PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m)((PyObject * *)(((__pyx_CyFunctionObject *) (m))->defaults
))
;
52180 int i;
52181 for (i = 0; i < m->defaults_pyobjects; i++)
52182 Py_XDECREF(pydefaults[i])do { if ((pydefaults[i]) == ((void*)0)) ; else do { if ( --((
PyObject*)(pydefaults[i]))->ob_refcnt != 0) ; else ( (*(((
PyObject*)((PyObject *)(pydefaults[i])))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(pydefaults[i])))); } while (0); }
while (0)
;
52183 PyMem_Free(m->defaults);
52184 m->defaults = NULL((void*)0);
52185 }
52186 return 0;
52187}
52188static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m)
52189{
52190 PyObject_GC_UnTrack(m);
52191 if (m->func_weakreflist != NULL((void*)0))
52192 PyObject_ClearWeakRefs((PyObject *) m);
52193 __Pyx_CyFunction_clear(m);
52194 PyObject_GC_Del(m);
52195}
52196static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg)
52197{
52198 Py_VISIT(m->func_closure)do { if (m->func_closure) { int vret = visit((PyObject *)(
m->func_closure), arg); if (vret) return vret; } } while (
0)
;
52199 Py_VISIT(m->func.m_module)do { if (m->func.m_module) { int vret = visit((PyObject *)
(m->func.m_module), arg); if (vret) return vret; } } while
(0)
;
52200 Py_VISIT(m->func_dict)do { if (m->func_dict) { int vret = visit((PyObject *)(m->
func_dict), arg); if (vret) return vret; } } while (0)
;
52201 Py_VISIT(m->func_name)do { if (m->func_name) { int vret = visit((PyObject *)(m->
func_name), arg); if (vret) return vret; } } while (0)
;
52202 Py_VISIT(m->func_qualname)do { if (m->func_qualname) { int vret = visit((PyObject *)
(m->func_qualname), arg); if (vret) return vret; } } while
(0)
;
52203 Py_VISIT(m->func_doc)do { if (m->func_doc) { int vret = visit((PyObject *)(m->
func_doc), arg); if (vret) return vret; } } while (0)
;
52204 Py_VISIT(m->func_globals)do { if (m->func_globals) { int vret = visit((PyObject *)(
m->func_globals), arg); if (vret) return vret; } } while (
0)
;
52205 Py_VISIT(m->func_code)do { if (m->func_code) { int vret = visit((PyObject *)(m->
func_code), arg); if (vret) return vret; } } while (0)
;
52206 Py_VISIT(m->func_classobj)do { if (m->func_classobj) { int vret = visit((PyObject *)
(m->func_classobj), arg); if (vret) return vret; } } while
(0)
;
52207 Py_VISIT(m->defaults_tuple)do { if (m->defaults_tuple) { int vret = visit((PyObject *
)(m->defaults_tuple), arg); if (vret) return vret; } } while
(0)
;
52208 Py_VISIT(m->defaults_kwdict)do { if (m->defaults_kwdict) { int vret = visit((PyObject *
)(m->defaults_kwdict), arg); if (vret) return vret; } } while
(0)
;
52209 if (m->defaults) {
52210 PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m)((PyObject * *)(((__pyx_CyFunctionObject *) (m))->defaults
))
;
52211 int i;
52212 for (i = 0; i < m->defaults_pyobjects; i++)
52213 Py_VISIT(pydefaults[i])do { if (pydefaults[i]) { int vret = visit((PyObject *)(pydefaults
[i]), arg); if (vret) return vret; } } while (0)
;
52214 }
52215 return 0;
52216}
52217static PyObject *__Pyx_CyFunction_descr_get(PyObject *func, PyObject *obj, PyObject *type)
52218{
52219 __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
52220 if (m->flags & __Pyx_CYFUNCTION_STATICMETHOD0x01) {
52221 Py_INCREF(func)( ((PyObject*)(func))->ob_refcnt++);
52222 return func;
52223 }
52224 if (m->flags & __Pyx_CYFUNCTION_CLASSMETHOD0x02) {
52225 if (type == NULL((void*)0))
52226 type = (PyObject *)(Py_TYPE(obj)(((PyObject*)(obj))->ob_type));
52227 return PyMethod_New(func,
52228 type, (PyObject *)(Py_TYPE(type)(((PyObject*)(type))->ob_type)));
52229 }
52230 if (obj == Py_None(&_Py_NoneStruct))
52231 obj = NULL((void*)0);
52232 return PyMethod_New(func, obj, type);
52233}
52234static PyObject*
52235__Pyx_CyFunction_repr(__pyx_CyFunctionObject *op)
52236{
52237#if PY_MAJOR_VERSION2 >= 3
52238 return PyUnicode_FromFormatPyUnicodeUCS4_FromFormat("<cyfunction %U at %p>",
52239 op->func_qualname, (void *)op);
52240#else
52241 return PyString_FromFormat("<cyfunction %s at %p>",
52242 PyString_AsString(op->func_qualname), (void *)op);
52243#endif
52244}
52245#if CYTHON_COMPILING_IN_PYPY0
52246static PyObject * __Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) {
52247 PyCFunctionObject* f = (PyCFunctionObject*)func;
52248 PyCFunction meth = PyCFunction_GET_FUNCTION(func)(((PyCFunctionObject *)func) -> m_ml -> ml_meth);
52249 PyObject *self = PyCFunction_GET_SELF(func)(((PyCFunctionObject *)func) -> m_self);
52250 Py_ssize_t size;
52251 switch (PyCFunction_GET_FLAGS(func)(((PyCFunctionObject *)func) -> m_ml -> ml_flags) & ~(METH_CLASS0x0010 | METH_STATIC0x0020 | METH_COEXIST0x0040)) {
52252 case METH_VARARGS0x0001:
52253 if (likely(kw == NULL)__builtin_expect(!!(kw == ((void*)0)), 1) || PyDict_Size(kw) == 0)
52254 return (*meth)(self, arg);
52255 break;
52256 case METH_VARARGS0x0001 | METH_KEYWORDS0x0002:
52257 return (*(PyCFunctionWithKeywords)meth)(self, arg, kw);
52258 case METH_NOARGS0x0004:
52259 if (likely(kw == NULL)__builtin_expect(!!(kw == ((void*)0)), 1) || PyDict_Size(kw) == 0) {
52260 size = PyTuple_GET_SIZE(arg)(((PyVarObject*)(arg))->ob_size);
52261 if (size == 0)
52262 return (*meth)(self, NULL((void*)0));
52263 PyErr_Format(PyExc_TypeError,
52264 "%.200s() takes no arguments (%zd given)",
52265 f->m_ml->ml_name, size);
52266 return NULL((void*)0);
52267 }
52268 break;
52269 case METH_O0x0008:
52270 if (likely(kw == NULL)__builtin_expect(!!(kw == ((void*)0)), 1) || PyDict_Size(kw) == 0) {
52271 size = PyTuple_GET_SIZE(arg)(((PyVarObject*)(arg))->ob_size);
52272 if (size == 1)
52273 return (*meth)(self, PyTuple_GET_ITEM(arg, 0)(((PyTupleObject *)(arg))->ob_item[0]));
52274 PyErr_Format(PyExc_TypeError,
52275 "%.200s() takes exactly one argument (%zd given)",
52276 f->m_ml->ml_name, size);
52277 return NULL((void*)0);
52278 }
52279 break;
52280 default:
52281 PyErr_SetString(PyExc_SystemError, "Bad call flags in "
52282 "__Pyx_CyFunction_Call. METH_OLDARGS is no "
52283 "longer supported!");
52284 return NULL((void*)0);
52285 }
52286 PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments",
52287 f->m_ml->ml_name);
52288 return NULL((void*)0);
52289}
52290#else
52291static PyObject * __Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) {
52292 return PyCFunction_Call(func, arg, kw);
52293}
52294#endif
52295static PyTypeObject __pyx_CyFunctionType_type = {
52296 PyVarObject_HEAD_INIT(0, 0)1, 0, 0,
52297 __Pyx_NAMESTR("cython_function_or_method")("cython_function_or_method"), /*tp_name*/
52298 sizeof(__pyx_CyFunctionObject), /*tp_basicsize*/
52299 0, /*tp_itemsize*/
52300 (destructor) __Pyx_CyFunction_dealloc, /*tp_dealloc*/
52301 0, /*tp_print*/
52302 0, /*tp_getattr*/
52303 0, /*tp_setattr*/
52304#if PY_MAJOR_VERSION2 < 3
52305 0, /*tp_compare*/
52306#else
52307 0, /*reserved*/
52308#endif
52309 (reprfunc) __Pyx_CyFunction_repr, /*tp_repr*/
52310 0, /*tp_as_number*/
52311 0, /*tp_as_sequence*/
52312 0, /*tp_as_mapping*/
52313 0, /*tp_hash*/
52314 __Pyx_CyFunction_Call, /*tp_call*/
52315 0, /*tp_str*/
52316 0, /*tp_getattro*/
52317 0, /*tp_setattro*/
52318 0, /*tp_as_buffer*/
52319 Py_TPFLAGS_DEFAULT( (1L<<0) | (1L<<1) | (1L<<3) | (1L<<
5) | (1L<<6) | (1L<<7) | (1L<<8) | 0 | (1L<<
17) | 0)
| Py_TPFLAGS_HAVE_GC(1L<<14), /* tp_flags*/
52320 0, /*tp_doc*/
52321 (traverseproc) __Pyx_CyFunction_traverse, /*tp_traverse*/
52322 (inquiry) __Pyx_CyFunction_clear, /*tp_clear*/
52323 0, /*tp_richcompare*/
52324 offsetof(__pyx_CyFunctionObject, func_weakreflist)__builtin_offsetof(__pyx_CyFunctionObject, func_weakreflist), /* tp_weaklistoffse */
52325 0, /*tp_iter*/
52326 0, /*tp_iternext*/
52327 __pyx_CyFunction_methods, /*tp_methods*/
52328 __pyx_CyFunction_members, /*tp_members*/
52329 __pyx_CyFunction_getsets, /*tp_getset*/
52330 0, /*tp_base*/
52331 0, /*tp_dict*/
52332 __Pyx_CyFunction_descr_get, /*tp_descr_get*/
52333 0, /*tp_descr_set*/
52334 offsetof(__pyx_CyFunctionObject, func_dict)__builtin_offsetof(__pyx_CyFunctionObject, func_dict),/*tp_dictoffset*/
52335 0, /*tp_init*/
52336 0, /*tp_alloc*/
52337 0, /*tp_new*/
52338 0, /*tp_free*/
52339 0, /*tp_is_gc*/
52340 0, /*tp_bases*/
52341 0, /*tp_mro*/
52342 0, /*tp_cache*/
52343 0, /*tp_subclasses*/
52344 0, /*tp_weaklist*/
52345 0, /*tp_del*/
52346#if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x02060000
52347 0, /*tp_version_tag*/
52348#endif
52349#if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x030400a1
52350 0, /*tp_finalize*/
52351#endif
52352};
52353static int __Pyx_CyFunction_init(void) {
52354#if !CYTHON_COMPILING_IN_PYPY0
52355 __pyx_CyFunctionType_type.tp_call = PyCFunction_Call;
52356#endif
52357 __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type);
52358 if (__pyx_CyFunctionType == NULL((void*)0)) {
52359 return -1;
52360 }
52361 return 0;
52362}
52363static CYTHON_INLINE__inline__ void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) {
52364 __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
52365 m->defaults = PyMem_Malloc(size);
52366 if (!m->defaults)
52367 return PyErr_NoMemory();
52368 memset(m->defaults, 0, size);
52369 m->defaults_pyobjects = pyobjects;
52370 return m->defaults;
52371}
52372static CYTHON_INLINE__inline__ void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) {
52373 __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
52374 m->defaults_tuple = tuple;
52375 Py_INCREF(tuple)( ((PyObject*)(tuple))->ob_refcnt++);
52376}
52377static CYTHON_INLINE__inline__ void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) {
52378 __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
52379 m->defaults_kwdict = dict;
52380 Py_INCREF(dict)( ((PyObject*)(dict))->ob_refcnt++);
52381}
52382static CYTHON_INLINE__inline__ void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) {
52383 __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
52384 m->func_annotations = dict;
52385 Py_INCREF(dict)( ((PyObject*)(dict))->ob_refcnt++);
52386}
52387
52388static CYTHON_INLINE__inline__ PyObject *__Pyx_GetModuleGlobalName(PyObject *name) {
52389 PyObject *result;
52390#if CYTHON_COMPILING_IN_CPYTHON1
52391 result = PyDict_GetItem(__pyx_d, name);
52392 if (result) {
52393 Py_INCREF(result)( ((PyObject*)(result))->ob_refcnt++);
52394 } else {
52395#else
52396 result = PyObject_GetItem(__pyx_d, name);
52397 if (!result) {
52398 PyErr_Clear();
52399#endif
52400 result = __Pyx_GetBuiltinName(name);
52401 }
52402 return result;
52403}
52404
52405static CYTHON_INLINE__inline__ void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
52406#if CYTHON_COMPILING_IN_CPYTHON1
52407 PyObject *tmp_type, *tmp_value, *tmp_tb;
52408 PyThreadState *tstate = PyThreadState_GET()(_PyThreadState_Current);
52409 tmp_type = tstate->curexc_type;
52410 tmp_value = tstate->curexc_value;
52411 tmp_tb = tstate->curexc_traceback;
52412 tstate->curexc_type = type;
52413 tstate->curexc_value = value;
52414 tstate->curexc_traceback = tb;
52415 Py_XDECREF(tmp_type)do { if ((tmp_type) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp_type))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp_type)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp_type)))); } while (0); } while (0)
;
52416 Py_XDECREF(tmp_value)do { if ((tmp_value) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp_value))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(tmp_value)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(tmp_value)))); } while (0); } while (0)
;
52417 Py_XDECREF(tmp_tb)do { if ((tmp_tb) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp_tb))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp_tb)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp_tb)))); } while (0); } while (0)
;
52418#else
52419 PyErr_Restore(type, value, tb);
52420#endif
52421}
52422static CYTHON_INLINE__inline__ void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
52423#if CYTHON_COMPILING_IN_CPYTHON1
52424 PyThreadState *tstate = PyThreadState_GET()(_PyThreadState_Current);
52425 *type = tstate->curexc_type;
52426 *value = tstate->curexc_value;
52427 *tb = tstate->curexc_traceback;
52428 tstate->curexc_type = 0;
52429 tstate->curexc_value = 0;
52430 tstate->curexc_traceback = 0;
52431#else
52432 PyErr_Fetch(type, value, tb);
52433#endif
52434}
52435
52436#if PY_MAJOR_VERSION2 < 3
52437static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
52438 CYTHON_UNUSED__attribute__ ((__unused__)) PyObject *cause) {
52439 Py_XINCREF(type)do { if ((type) == ((void*)0)) ; else ( ((PyObject*)(type))->
ob_refcnt++); } while (0)
;
52440 if (!value || value == Py_None(&_Py_NoneStruct))
52441 value = NULL((void*)0);
52442 else
52443 Py_INCREF(value)( ((PyObject*)(value))->ob_refcnt++);
52444 if (!tb || tb == Py_None(&_Py_NoneStruct))
52445 tb = NULL((void*)0);
52446 else {
52447 Py_INCREF(tb)( ((PyObject*)(tb))->ob_refcnt++);
52448 if (!PyTraceBack_Check(tb)((((PyObject*)(tb))->ob_type) == &PyTraceBack_Type)) {
52449 PyErr_SetString(PyExc_TypeError,
52450 "raise: arg 3 must be a traceback or None");
52451 goto raise_error;
52452 }
52453 }
52454 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
< 0x02050000
52455 if (PyClass_Check(type)((type)->ob_type == &PyClass_Type)) {
52456 #else
52457 if (PyType_Check(type)((((((PyObject*)(type))->ob_type))->tp_flags & ((1L
<<31))) != 0)
) {
52458 #endif
52459#if CYTHON_COMPILING_IN_PYPY0
52460 if (!value) {
52461 Py_INCREF(Py_None)( ((PyObject*)((&_Py_NoneStruct)))->ob_refcnt++);
52462 value = Py_None(&_Py_NoneStruct);
52463 }
52464#endif
52465 PyErr_NormalizeException(&type, &value, &tb);
52466 } else {
52467 if (value) {
52468 PyErr_SetString(PyExc_TypeError,
52469 "instance exception may not have a separate value");
52470 goto raise_error;
52471 }
52472 value = type;
52473 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
< 0x02050000
52474 if (PyInstance_Check(type)((type)->ob_type == &PyInstance_Type)) {
52475 type = (PyObject*) ((PyInstanceObject*)type)->in_class;
52476 Py_INCREF(type)( ((PyObject*)(type))->ob_refcnt++);
52477 } else {
52478 type = 0;
52479 PyErr_SetString(PyExc_TypeError,
52480 "raise: exception must be an old-style class or instance");
52481 goto raise_error;
52482 }
52483 #else
52484 type = (PyObject*) Py_TYPE(type)(((PyObject*)(type))->ob_type);
52485 Py_INCREF(type)( ((PyObject*)(type))->ob_refcnt++);
52486 if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
52487 PyErr_SetString(PyExc_TypeError,
52488 "raise: exception class must be a subclass of BaseException");
52489 goto raise_error;
52490 }
52491 #endif
52492 }
52493 __Pyx_ErrRestore(type, value, tb);
52494 return;
52495raise_error:
52496 Py_XDECREF(value)do { if ((value) == ((void*)0)) ; else do { if ( --((PyObject
*)(value))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(value)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(value)))); } while (0); } while (0)
;
52497 Py_XDECREF(type)do { if ((type) == ((void*)0)) ; else do { if ( --((PyObject*
)(type))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(type)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(type)))); } while (0); } while (0)
;
52498 Py_XDECREF(tb)do { if ((tb) == ((void*)0)) ; else do { if ( --((PyObject*)(
tb))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *
)(tb)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *
)(tb)))); } while (0); } while (0)
;
52499 return;
52500}
52501#else /* Python 3+ */
52502static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
52503 PyObject* owned_instance = NULL((void*)0);
52504 if (tb == Py_None(&_Py_NoneStruct)) {
52505 tb = 0;
52506 } else if (tb && !PyTraceBack_Check(tb)((((PyObject*)(tb))->ob_type) == &PyTraceBack_Type)) {
52507 PyErr_SetString(PyExc_TypeError,
52508 "raise: arg 3 must be a traceback or None");
52509 goto bad;
52510 }
52511 if (value == Py_None(&_Py_NoneStruct))
52512 value = 0;
52513 if (PyExceptionInstance_Check(type)((((type))->ob_type == &PyInstance_Type) || ((((type)->
ob_type)->tp_flags & ((1L<<30))) != 0))
) {
52514 if (value) {
52515 PyErr_SetString(PyExc_TypeError,
52516 "instance exception may not have a separate value");
52517 goto bad;
52518 }
52519 value = type;
52520 type = (PyObject*) Py_TYPE(value)(((PyObject*)(value))->ob_type);
52521 } else if (PyExceptionClass_Check(type)((((type))->ob_type == &PyClass_Type) || (((((((PyObject
*)((type)))->ob_type))->tp_flags & ((1L<<31))
) != 0) && ((((PyTypeObject*)(type))->tp_flags &
((1L<<30))) != 0)))
) {
52522 PyObject *instance_class = NULL((void*)0);
52523 if (value && PyExceptionInstance_Check(value)((((value))->ob_type == &PyInstance_Type) || ((((value
)->ob_type)->tp_flags & ((1L<<30))) != 0))
) {
52524 instance_class = (PyObject*) Py_TYPE(value)(((PyObject*)(value))->ob_type);
52525 if (instance_class != type) {
52526 if (PyObject_IsSubclass(instance_class, type)) {
52527 type = instance_class;
52528 } else {
52529 instance_class = NULL((void*)0);
52530 }
52531 }
52532 }
52533 if (!instance_class) {
52534 PyObject *args;
52535 if (!value)
52536 args = PyTuple_New(0);
52537 else if (PyTuple_Check(value)((((((PyObject*)(value))->ob_type))->tp_flags & ((1L
<<26))) != 0)
) {
52538 Py_INCREF(value)( ((PyObject*)(value))->ob_refcnt++);
52539 args = value;
52540 } else
52541 args = PyTuple_Pack(1, value);
52542 if (!args)
52543 goto bad;
52544 owned_instance = PyObject_Call(type, args, NULL((void*)0));
52545 Py_DECREF(args)do { if ( --((PyObject*)(args))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(args)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(args)))); } while (0)
;
52546 if (!owned_instance)
52547 goto bad;
52548 value = owned_instance;
52549 if (!PyExceptionInstance_Check(value)((((value))->ob_type == &PyInstance_Type) || ((((value
)->ob_type)->tp_flags & ((1L<<30))) != 0))
) {
52550 PyErr_Format(PyExc_TypeError,
52551 "calling %R should have returned an instance of "
52552 "BaseException, not %R",
52553 type, Py_TYPE(value)(((PyObject*)(value))->ob_type));
52554 goto bad;
52555 }
52556 }
52557 } else {
52558 PyErr_SetString(PyExc_TypeError,
52559 "raise: exception class must be a subclass of BaseException");
52560 goto bad;
52561 }
52562#if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x03030000
52563 if (cause) {
52564#else
52565 if (cause && cause != Py_None(&_Py_NoneStruct)) {
52566#endif
52567 PyObject *fixed_cause;
52568 if (cause == Py_None(&_Py_NoneStruct)) {
52569 fixed_cause = NULL((void*)0);
52570 } else if (PyExceptionClass_Check(cause)((((cause))->ob_type == &PyClass_Type) || (((((((PyObject
*)((cause)))->ob_type))->tp_flags & ((1L<<31)
)) != 0) && ((((PyTypeObject*)(cause))->tp_flags &
((1L<<30))) != 0)))
) {
52571 fixed_cause = PyObject_CallObject(cause, NULL((void*)0));
52572 if (fixed_cause == NULL((void*)0))
52573 goto bad;
52574 } else if (PyExceptionInstance_Check(cause)((((cause))->ob_type == &PyInstance_Type) || ((((cause
)->ob_type)->tp_flags & ((1L<<30))) != 0))
) {
52575 fixed_cause = cause;
52576 Py_INCREF(fixed_cause)( ((PyObject*)(fixed_cause))->ob_refcnt++);
52577 } else {
52578 PyErr_SetString(PyExc_TypeError,
52579 "exception causes must derive from "
52580 "BaseException");
52581 goto bad;
52582 }
52583 PyException_SetCause(value, fixed_cause);
52584 }
52585 PyErr_SetObject(type, value);
52586 if (tb) {
52587 PyThreadState *tstate = PyThreadState_GET()(_PyThreadState_Current);
52588 PyObject* tmp_tb = tstate->curexc_traceback;
52589 if (tb != tmp_tb) {
52590 Py_INCREF(tb)( ((PyObject*)(tb))->ob_refcnt++);
52591 tstate->curexc_traceback = tb;
52592 Py_XDECREF(tmp_tb)do { if ((tmp_tb) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp_tb))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp_tb)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp_tb)))); } while (0); } while (0)
;
52593 }
52594 }
52595bad:
52596 Py_XDECREF(owned_instance)do { if ((owned_instance) == ((void*)0)) ; else do { if ( --(
(PyObject*)(owned_instance))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(owned_instance)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(owned_instance)))); } while
(0); } while (0)
;
52597 return;
52598}
52599#endif
52600
52601static CYTHON_INLINE__inline__ void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) {
52602#if CYTHON_COMPILING_IN_CPYTHON1
52603 PyThreadState *tstate = PyThreadState_GET()(_PyThreadState_Current);
52604 *type = tstate->exc_type;
52605 *value = tstate->exc_value;
52606 *tb = tstate->exc_traceback;
52607 Py_XINCREF(*type)do { if ((*type) == ((void*)0)) ; else ( ((PyObject*)(*type))
->ob_refcnt++); } while (0)
;
52608 Py_XINCREF(*value)do { if ((*value) == ((void*)0)) ; else ( ((PyObject*)(*value
))->ob_refcnt++); } while (0)
;
52609 Py_XINCREF(*tb)do { if ((*tb) == ((void*)0)) ; else ( ((PyObject*)(*tb))->
ob_refcnt++); } while (0)
;
52610#else
52611 PyErr_GetExcInfo(type, value, tb);
52612#endif
52613}
52614static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) {
52615#if CYTHON_COMPILING_IN_CPYTHON1
52616 PyObject *tmp_type, *tmp_value, *tmp_tb;
52617 PyThreadState *tstate = PyThreadState_GET()(_PyThreadState_Current);
52618 tmp_type = tstate->exc_type;
52619 tmp_value = tstate->exc_value;
52620 tmp_tb = tstate->exc_traceback;
52621 tstate->exc_type = type;
52622 tstate->exc_value = value;
52623 tstate->exc_traceback = tb;
52624 Py_XDECREF(tmp_type)do { if ((tmp_type) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp_type))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp_type)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp_type)))); } while (0); } while (0)
;
52625 Py_XDECREF(tmp_value)do { if ((tmp_value) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp_value))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(tmp_value)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(tmp_value)))); } while (0); } while (0)
;
52626 Py_XDECREF(tmp_tb)do { if ((tmp_tb) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp_tb))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp_tb)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp_tb)))); } while (0); } while (0)
;
52627#else
52628 PyErr_SetExcInfo(type, value, tb);
52629#endif
52630}
52631
52632static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) {
52633 PyObject *local_type, *local_value, *local_tb;
52634#if CYTHON_COMPILING_IN_CPYTHON1
52635 PyObject *tmp_type, *tmp_value, *tmp_tb;
52636 PyThreadState *tstate = PyThreadState_GET()(_PyThreadState_Current);
52637 local_type = tstate->curexc_type;
52638 local_value = tstate->curexc_value;
52639 local_tb = tstate->curexc_traceback;
52640 tstate->curexc_type = 0;
52641 tstate->curexc_value = 0;
52642 tstate->curexc_traceback = 0;
52643#else
52644 PyErr_Fetch(&local_type, &local_value, &local_tb);
52645#endif
52646 PyErr_NormalizeException(&local_type, &local_value, &local_tb);
52647#if CYTHON_COMPILING_IN_CPYTHON1
52648 if (unlikely(tstate->curexc_type)__builtin_expect(!!(tstate->curexc_type), 0))
52649#else
52650 if (unlikely(PyErr_Occurred())__builtin_expect(!!(PyErr_Occurred()), 0))
52651#endif
52652 goto bad;
52653 #if PY_MAJOR_VERSION2 >= 3
52654 if (local_tb) {
52655 if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)__builtin_expect(!!(PyException_SetTraceback(local_value, local_tb
) < 0), 0)
)
52656 goto bad;
52657 }
52658 #endif
52659 Py_XINCREF(local_tb)do { if ((local_tb) == ((void*)0)) ; else ( ((PyObject*)(local_tb
))->ob_refcnt++); } while (0)
;
52660 Py_XINCREF(local_type)do { if ((local_type) == ((void*)0)) ; else ( ((PyObject*)(local_type
))->ob_refcnt++); } while (0)
;
52661 Py_XINCREF(local_value)do { if ((local_value) == ((void*)0)) ; else ( ((PyObject*)(local_value
))->ob_refcnt++); } while (0)
;
52662 *type = local_type;
52663 *value = local_value;
52664 *tb = local_tb;
52665#if CYTHON_COMPILING_IN_CPYTHON1
52666 tmp_type = tstate->exc_type;
52667 tmp_value = tstate->exc_value;
52668 tmp_tb = tstate->exc_traceback;
52669 tstate->exc_type = local_type;
52670 tstate->exc_value = local_value;
52671 tstate->exc_traceback = local_tb;
52672 Py_XDECREF(tmp_type)do { if ((tmp_type) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp_type))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp_type)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp_type)))); } while (0); } while (0)
;
52673 Py_XDECREF(tmp_value)do { if ((tmp_value) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp_value))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(tmp_value)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(tmp_value)))); } while (0); } while (0)
;
52674 Py_XDECREF(tmp_tb)do { if ((tmp_tb) == ((void*)0)) ; else do { if ( --((PyObject
*)(tmp_tb))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(tmp_tb)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(tmp_tb)))); } while (0); } while (0)
;
52675#else
52676 PyErr_SetExcInfo(local_type, local_value, local_tb);
52677#endif
52678 return 0;
52679bad:
52680 *type = 0;
52681 *value = 0;
52682 *tb = 0;
52683 Py_XDECREF(local_type)do { if ((local_type) == ((void*)0)) ; else do { if ( --((PyObject
*)(local_type))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(local_type)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(local_type)))); } while (0); } while (0)
;
52684 Py_XDECREF(local_value)do { if ((local_value) == ((void*)0)) ; else do { if ( --((PyObject
*)(local_value))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(local_value)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(local_value)))); } while (0); } while (0)
;
52685 Py_XDECREF(local_tb)do { if ((local_tb) == ((void*)0)) ; else do { if ( --((PyObject
*)(local_tb))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(local_tb)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(local_tb)))); } while (0); } while (0)
;
52686 return -1;
52687}
52688
52689static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED__attribute__ ((__unused__)) int clineno,
52690 CYTHON_UNUSED__attribute__ ((__unused__)) int lineno, CYTHON_UNUSED__attribute__ ((__unused__)) const char *filename,
52691 int full_traceback) {
52692 PyObject *old_exc, *old_val, *old_tb;
52693 PyObject *ctx;
52694 __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
52695 if (full_traceback) {
52696 Py_XINCREF(old_exc)do { if ((old_exc) == ((void*)0)) ; else ( ((PyObject*)(old_exc
))->ob_refcnt++); } while (0)
;
52697 Py_XINCREF(old_val)do { if ((old_val) == ((void*)0)) ; else ( ((PyObject*)(old_val
))->ob_refcnt++); } while (0)
;
52698 Py_XINCREF(old_tb)do { if ((old_tb) == ((void*)0)) ; else ( ((PyObject*)(old_tb
))->ob_refcnt++); } while (0)
;
52699 __Pyx_ErrRestore(old_exc, old_val, old_tb);
52700 PyErr_PrintEx(1);
52701 }
52702 #if PY_MAJOR_VERSION2 < 3
52703 ctx = PyString_FromString(name);
52704 #else
52705 ctx = PyUnicode_FromStringPyUnicodeUCS4_FromString(name);
52706 #endif
52707 __Pyx_ErrRestore(old_exc, old_val, old_tb);
52708 if (!ctx) {
52709 PyErr_WriteUnraisable(Py_None(&_Py_NoneStruct));
52710 } else {
52711 PyErr_WriteUnraisable(ctx);
52712 Py_DECREF(ctx)do { if ( --((PyObject*)(ctx))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(ctx)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(ctx)))); } while (0)
;
52713 }
52714}
52715
52716static void __Pyx_RaiseDoubleKeywordsError(
52717 const char* func_name,
52718 PyObject* kw_name)
52719{
52720 PyErr_Format(PyExc_TypeError,
52721 #if PY_MAJOR_VERSION2 >= 3
52722 "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
52723 #else
52724 "%s() got multiple values for keyword argument '%s'", func_name,
52725 PyString_AsString(kw_name));
52726 #endif
52727}
52728
52729static int __Pyx_ParseOptionalKeywords(
52730 PyObject *kwds,
52731 PyObject **argnames[],
52732 PyObject *kwds2,
52733 PyObject *values[],
52734 Py_ssize_t num_pos_args,
52735 const char* function_name)
52736{
52737 PyObject *key = 0, *value = 0;
52738 Py_ssize_t pos = 0;
52739 PyObject*** name;
52740 PyObject*** first_kw_arg = argnames + num_pos_args;
52741 while (PyDict_Next(kwds, &pos, &key, &value)) {
52742 name = first_kw_arg;
52743 while (*name && (**name != key)) name++;
52744 if (*name) {
52745 values[name-argnames] = value;
52746 continue;
52747 }
52748 name = first_kw_arg;
52749 #if PY_MAJOR_VERSION2 < 3
52750 if (likely(PyString_CheckExact(key))__builtin_expect(!!(((((PyObject*)(key))->ob_type) == &
PyString_Type)), 1)
|| likely(PyString_Check(key))__builtin_expect(!!(((((((PyObject*)(key))->ob_type))->
tp_flags & ((1L<<27))) != 0)), 1)
) {
52751 while (*name) {
52752 if ((CYTHON_COMPILING_IN_PYPY0 || PyString_GET_SIZE(**name)(((PyVarObject*)(**name))->ob_size) == PyString_GET_SIZE(key)(((PyVarObject*)(key))->ob_size))
52753 && _PyString_Eq(**name, key)) {
52754 values[name-argnames] = value;
52755 break;
52756 }
52757 name++;
52758 }
52759 if (*name) continue;
52760 else {
52761 PyObject*** argname = argnames;
52762 while (argname != first_kw_arg) {
52763 if ((**argname == key) || (
52764 (CYTHON_COMPILING_IN_PYPY0 || PyString_GET_SIZE(**argname)(((PyVarObject*)(**argname))->ob_size) == PyString_GET_SIZE(key)(((PyVarObject*)(key))->ob_size))
52765 && _PyString_Eq(**argname, key))) {
52766 goto arg_passed_twice;
52767 }
52768 argname++;
52769 }
52770 }
52771 } else
52772 #endif
52773 if (likely(PyUnicode_Check(key))__builtin_expect(!!(((((((PyObject*)(key))->ob_type))->
tp_flags & ((1L<<28))) != 0)), 1)
) {
52774 while (*name) {
52775 int cmp = (**name == key) ? 0 :
52776 #if !CYTHON_COMPILING_IN_PYPY0 && PY_MAJOR_VERSION2 >= 3
52777 (PyUnicode_GET_SIZE(**name)(((PyUnicodeObject *)(**name))->length) != PyUnicode_GET_SIZE(key)(((PyUnicodeObject *)(key))->length)) ? 1 :
52778 #endif
52779 PyUnicode_ComparePyUnicodeUCS4_Compare(**name, key);
52780 if (cmp < 0 && unlikely(PyErr_Occurred())__builtin_expect(!!(PyErr_Occurred()), 0)) goto bad;
52781 if (cmp == 0) {
52782 values[name-argnames] = value;
52783 break;
52784 }
52785 name++;
52786 }
52787 if (*name) continue;
52788 else {
52789 PyObject*** argname = argnames;
52790 while (argname != first_kw_arg) {
52791 int cmp = (**argname == key) ? 0 :
52792 #if !CYTHON_COMPILING_IN_PYPY0 && PY_MAJOR_VERSION2 >= 3
52793 (PyUnicode_GET_SIZE(**argname)(((PyUnicodeObject *)(**argname))->length) != PyUnicode_GET_SIZE(key)(((PyUnicodeObject *)(key))->length)) ? 1 :
52794 #endif
52795 PyUnicode_ComparePyUnicodeUCS4_Compare(**argname, key);
52796 if (cmp < 0 && unlikely(PyErr_Occurred())__builtin_expect(!!(PyErr_Occurred()), 0)) goto bad;
52797 if (cmp == 0) goto arg_passed_twice;
52798 argname++;
52799 }
52800 }
52801 } else
52802 goto invalid_keyword_type;
52803 if (kwds2) {
52804 if (unlikely(PyDict_SetItem(kwds2, key, value))__builtin_expect(!!(PyDict_SetItem(kwds2, key, value)), 0)) goto bad;
52805 } else {
52806 goto invalid_keyword;
52807 }
52808 }
52809 return 0;
52810arg_passed_twice:
52811 __Pyx_RaiseDoubleKeywordsError(function_name, key);
52812 goto bad;
52813invalid_keyword_type:
52814 PyErr_Format(PyExc_TypeError,
52815 "%.200s() keywords must be strings", function_name);
52816 goto bad;
52817invalid_keyword:
52818 PyErr_Format(PyExc_TypeError,
52819 #if PY_MAJOR_VERSION2 < 3
52820 "%.200s() got an unexpected keyword argument '%.200s'",
52821 function_name, PyString_AsString(key));
52822 #else
52823 "%s() got an unexpected keyword argument '%U'",
52824 function_name, key);
52825 #endif
52826bad:
52827 return -1;
52828}
52829
52830static void __Pyx_RaiseArgtupleInvalid(
52831 const char* func_name,
52832 int exact,
52833 Py_ssize_t num_min,
52834 Py_ssize_t num_max,
52835 Py_ssize_t num_found)
52836{
52837 Py_ssize_t num_expected;
52838 const char *more_or_less;
52839 if (num_found < num_min) {
52840 num_expected = num_min;
52841 more_or_less = "at least";
52842 } else {
52843 num_expected = num_max;
52844 more_or_less = "at most";
52845 }
52846 if (exact) {
52847 more_or_less = "exactly";
52848 }
52849 PyErr_Format(PyExc_TypeError,
52850 "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T"z" "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T"z" "d given)",
52851 func_name, more_or_less, num_expected,
52852 (num_expected == 1) ? "" : "s", num_found);
52853}
52854
52855static CYTHON_INLINE__inline__ int __Pyx_PyObject_Append(PyObject* L, PyObject* x) {
52856 if (likely(PyList_CheckExact(L))__builtin_expect(!!(((((PyObject*)(L))->ob_type) == &PyList_Type
)), 1)
) {
52857 if (unlikely(__Pyx_PyList_Append(L, x) < 0)__builtin_expect(!!(__Pyx_PyList_Append(L, x) < 0), 0)) return -1;
52858 } else {
52859 PyObject* retval = __Pyx_PyObject_CallMethod1(L, __pyx_n_s_append, x)__Pyx_PyObject_CallMethodTuple(L, __pyx_n_s_append, PyTuple_Pack
(1, x))
;
52860 if (unlikely(!retval)__builtin_expect(!!(!retval), 0))
52861 return -1;
52862 Py_DECREF(retval)do { if ( --((PyObject*)(retval))->ob_refcnt != 0) ; else (
(*(((PyObject*)((PyObject *)(retval)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(retval)))); } while (0)
;
52863 }
52864 return 0;
52865}
52866
52867static CYTHON_INLINE__inline__ PyObject* __Pyx_PyObject_GetSlice(
52868 PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop,
52869 PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice,
52870 int has_cstart, int has_cstop, CYTHON_UNUSED__attribute__ ((__unused__)) int wraparound) {
52871#if CYTHON_COMPILING_IN_CPYTHON1
52872 PyMappingMethods* mp;
52873#if PY_MAJOR_VERSION2 < 3
52874 PySequenceMethods* ms = Py_TYPE(obj)(((PyObject*)(obj))->ob_type)->tp_as_sequence;
52875 if (likely(ms && ms->sq_slice)__builtin_expect(!!(ms && ms->sq_slice), 1)) {
52876 if (!has_cstart) {
52877 if (_py_start && (*_py_start != Py_None(&_Py_NoneStruct))) {
52878 cstart = __Pyx_PyIndex_AsSsize_t(*_py_start);
52879 if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
52880 } else
52881 cstart = 0;
52882 }
52883 if (!has_cstop) {
52884 if (_py_stop && (*_py_stop != Py_None(&_Py_NoneStruct))) {
52885 cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop);
52886 if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
52887 } else
52888 cstop = PY_SSIZE_T_MAX((Py_ssize_t)(((size_t)-1)>>1));
52889 }
52890 if (wraparound && unlikely((cstart < 0) | (cstop < 0))__builtin_expect(!!((cstart < 0) | (cstop < 0)), 0) && likely(ms->sq_length)__builtin_expect(!!(ms->sq_length), 1)) {
52891 Py_ssize_t l = ms->sq_length(obj);
52892 if (likely(l >= 0)__builtin_expect(!!(l >= 0), 1)) {
52893 if (cstop < 0) {
52894 cstop += l;
52895 if (cstop < 0) cstop = 0;
52896 }
52897 if (cstart < 0) {
52898 cstart += l;
52899 if (cstart < 0) cstart = 0;
52900 }
52901 } else {
52902 if (PyErr_ExceptionMatches(PyExc_OverflowError))
52903 PyErr_Clear();
52904 else
52905 goto bad;
52906 }
52907 }
52908 return ms->sq_slice(obj, cstart, cstop);
52909 }
52910#endif
52911 mp = Py_TYPE(obj)(((PyObject*)(obj))->ob_type)->tp_as_mapping;
52912 if (likely(mp && mp->mp_subscript)__builtin_expect(!!(mp && mp->mp_subscript), 1))
52913#endif
52914 {
52915 PyObject* result;
52916 PyObject *py_slice, *py_start, *py_stop;
52917 if (_py_slice) {
52918 py_slice = *_py_slice;
52919 } else {
52920 PyObject* owned_start = NULL((void*)0);
52921 PyObject* owned_stop = NULL((void*)0);
52922 if (_py_start) {
52923 py_start = *_py_start;
52924 } else {
52925 if (has_cstart) {
52926 owned_start = py_start = PyInt_FromSsize_t(cstart);
52927 if (unlikely(!py_start)__builtin_expect(!!(!py_start), 0)) goto bad;
52928 } else
52929 py_start = Py_None(&_Py_NoneStruct);
52930 }
52931 if (_py_stop) {
52932 py_stop = *_py_stop;
52933 } else {
52934 if (has_cstop) {
52935 owned_stop = py_stop = PyInt_FromSsize_t(cstop);
52936 if (unlikely(!py_stop)__builtin_expect(!!(!py_stop), 0)) {
52937 Py_XDECREF(owned_start)do { if ((owned_start) == ((void*)0)) ; else do { if ( --((PyObject
*)(owned_start))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(owned_start)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(owned_start)))); } while (0); } while (0)
;
52938 goto bad;
52939 }
52940 } else
52941 py_stop = Py_None(&_Py_NoneStruct);
52942 }
52943 py_slice = PySlice_New(py_start, py_stop, Py_None(&_Py_NoneStruct));
52944 Py_XDECREF(owned_start)do { if ((owned_start) == ((void*)0)) ; else do { if ( --((PyObject
*)(owned_start))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(owned_start)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(owned_start)))); } while (0); } while (0)
;
52945 Py_XDECREF(owned_stop)do { if ((owned_stop) == ((void*)0)) ; else do { if ( --((PyObject
*)(owned_stop))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(owned_stop)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(owned_stop)))); } while (0); } while (0)
;
52946 if (unlikely(!py_slice)__builtin_expect(!!(!py_slice), 0)) goto bad;
52947 }
52948#if CYTHON_COMPILING_IN_CPYTHON1
52949 result = mp->mp_subscript(obj, py_slice);
52950#else
52951 result = PyObject_GetItem(obj, py_slice);
52952#endif
52953 if (!_py_slice) {
52954 Py_DECREF(py_slice)do { if ( --((PyObject*)(py_slice))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(py_slice)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(py_slice)))); } while (
0)
;
52955 }
52956 return result;
52957 }
52958 PyErr_Format(PyExc_TypeError,
52959 "'%.200s' object is unsliceable", Py_TYPE(obj)(((PyObject*)(obj))->ob_type)->tp_name);
52960bad:
52961 return NULL((void*)0);
52962}
52963
52964static CYTHON_INLINE__inline__ int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
52965 if (unlikely(!type)__builtin_expect(!!(!type), 0)) {
52966 PyErr_SetString(PyExc_SystemError, "Missing type object");
52967 return 0;
52968 }
52969 if (likely(PyObject_TypeCheck(obj, type))__builtin_expect(!!(((((PyObject*)(obj))->ob_type) == (type
) || PyType_IsSubtype((((PyObject*)(obj))->ob_type), (type
)))), 1)
)
52970 return 1;
52971 PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s",
52972 Py_TYPE(obj)(((PyObject*)(obj))->ob_type)->tp_name, type->tp_name);
52973 return 0;
52974}
52975
52976static CYTHON_INLINE__inline__ PyObject* __Pyx_PyDict_Items(PyObject* d) {
52977 if (PY_MAJOR_VERSION2 >= 3)
52978 return __Pyx_PyObject_CallMethod1((PyObject*)&PyDict_Type, __pyx_n_s_items, d)__Pyx_PyObject_CallMethodTuple((PyObject*)&PyDict_Type, __pyx_n_s_items
, PyTuple_Pack(1, d))
;
52979 else
52980 return PyDict_Items(d);
52981}
52982
52983static CYTHON_INLINE__inline__ void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) {
52984 PyErr_Format(PyExc_ValueError,
52985 "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T"z" "d)", expected);
52986}
52987
52988static CYTHON_INLINE__inline__ void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {
52989 PyErr_Format(PyExc_ValueError,
52990 "need more than %" CYTHON_FORMAT_SSIZE_T"z" "d value%.1s to unpack",
52991 index, (index == 1) ? "" : "s");
52992}
52993
52994static CYTHON_INLINE__inline__ int __Pyx_IterFinish(void) {
52995#if CYTHON_COMPILING_IN_CPYTHON1
52996 PyThreadState *tstate = PyThreadState_GET()(_PyThreadState_Current);
52997 PyObject* exc_type = tstate->curexc_type;
52998 if (unlikely(exc_type)__builtin_expect(!!(exc_type), 0)) {
52999 if (likely(exc_type == PyExc_StopIteration)__builtin_expect(!!(exc_type == PyExc_StopIteration), 1) || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)) {
53000 PyObject *exc_value, *exc_tb;
53001 exc_value = tstate->curexc_value;
53002 exc_tb = tstate->curexc_traceback;
53003 tstate->curexc_type = 0;
53004 tstate->curexc_value = 0;
53005 tstate->curexc_traceback = 0;
53006 Py_DECREF(exc_type)do { if ( --((PyObject*)(exc_type))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(exc_type)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(exc_type)))); } while (
0)
;
53007 Py_XDECREF(exc_value)do { if ((exc_value) == ((void*)0)) ; else do { if ( --((PyObject
*)(exc_value))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(exc_value)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(exc_value)))); } while (0); } while (0)
;
53008 Py_XDECREF(exc_tb)do { if ((exc_tb) == ((void*)0)) ; else do { if ( --((PyObject
*)(exc_tb))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(exc_tb)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(exc_tb)))); } while (0); } while (0)
;
53009 return 0;
53010 } else {
53011 return -1;
53012 }
53013 }
53014 return 0;
53015#else
53016 if (unlikely(PyErr_Occurred())__builtin_expect(!!(PyErr_Occurred()), 0)) {
53017 if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))__builtin_expect(!!(PyErr_ExceptionMatches(PyExc_StopIteration
)), 1)
) {
53018 PyErr_Clear();
53019 return 0;
53020 } else {
53021 return -1;
53022 }
53023 }
53024 return 0;
53025#endif
53026}
53027
53028static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
53029 if (unlikely(retval)__builtin_expect(!!(retval), 0)) {
53030 Py_DECREF(retval)do { if ( --((PyObject*)(retval))->ob_refcnt != 0) ; else (
(*(((PyObject*)((PyObject *)(retval)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(retval)))); } while (0)
;
53031 __Pyx_RaiseTooManyValuesError(expected);
53032 return -1;
53033 } else {
53034 return __Pyx_IterFinish();
53035 }
53036 return 0;
53037}
53038
53039static void __Pyx_RaiseArgumentTypeInvalid(const char* name, PyObject *obj, PyTypeObject *type) {
53040 PyErr_Format(PyExc_TypeError,
53041 "Argument '%.200s' has incorrect type (expected %.200s, got %.200s)",
53042 name, type->tp_name, Py_TYPE(obj)(((PyObject*)(obj))->ob_type)->tp_name);
53043}
53044static CYTHON_INLINE__inline__ int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
53045 const char *name, int exact)
53046{
53047 if (unlikely(!type)__builtin_expect(!!(!type), 0)) {
53048 PyErr_SetString(PyExc_SystemError, "Missing type object");
53049 return 0;
53050 }
53051 if (none_allowed && obj == Py_None(&_Py_NoneStruct)) return 1;
53052 else if (exact) {
53053 if (likely(Py_TYPE(obj) == type)__builtin_expect(!!((((PyObject*)(obj))->ob_type) == type)
, 1)
) return 1;
53054 #if PY_MAJOR_VERSION2 == 2
53055 else if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))__builtin_expect(!!((((((PyObject*)(obj))->ob_type) == &
PyString_Type) || ((((PyObject*)(obj))->ob_type) == &PyUnicode_Type
))), 1)
) return 1;
53056 #endif
53057 }
53058 else {
53059 if (likely(PyObject_TypeCheck(obj, type))__builtin_expect(!!(((((PyObject*)(obj))->ob_type) == (type
) || PyType_IsSubtype((((PyObject*)(obj))->ob_type), (type
)))), 1)
) return 1;
53060 }
53061 __Pyx_RaiseArgumentTypeInvalid(name, obj, type);
53062 return 0;
53063}
53064
53065static PyObject* __Pyx_PyDict_GetItemDefault(PyObject* d, PyObject* key, PyObject* default_value) {
53066 PyObject* value;
53067#if PY_MAJOR_VERSION2 >= 3
53068 value = PyDict_GetItemWithError(d, key);
53069 if (unlikely(!value)__builtin_expect(!!(!value), 0)) {
53070 if (unlikely(PyErr_Occurred())__builtin_expect(!!(PyErr_Occurred()), 0))
53071 return NULL((void*)0);
53072 value = default_value;
53073 }
53074 Py_INCREF(value)( ((PyObject*)(value))->ob_refcnt++);
53075#else
53076 if (PyString_CheckExact(key)((((PyObject*)(key))->ob_type) == &PyString_Type) || PyUnicode_CheckExact(key)((((PyObject*)(key))->ob_type) == &PyUnicode_Type) || PyInt_CheckExact(key)((key)->ob_type == &PyInt_Type)) {
53077 value = PyDict_GetItem(d, key);
53078 if (unlikely(!value)__builtin_expect(!!(!value), 0)) {
53079 value = default_value;
53080 }
53081 Py_INCREF(value)( ((PyObject*)(value))->ob_refcnt++);
53082 } else {
53083 if (default_value == Py_None(&_Py_NoneStruct))
53084 default_value = NULL((void*)0);
53085 value = PyObject_CallMethodObjArgs(
53086 d, __pyx_n_s_get, key, default_value, NULL((void*)0));
53087 }
53088#endif
53089 return value;
53090}
53091
53092static CYTHON_INLINE__inline__ PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
53093 PyObject *r;
53094 if (!j) return NULL((void*)0);
53095 r = PyObject_GetItem(o, j);
53096 Py_DECREF(j)do { if ( --((PyObject*)(j))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(j)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(j)))); } while (0)
;
53097 return r;
53098}
53099static CYTHON_INLINE__inline__ PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
53100 int wraparound, int boundscheck) {
53101#if CYTHON_COMPILING_IN_CPYTHON1
53102 if (wraparound & unlikely(i < 0)__builtin_expect(!!(i < 0), 0)) i += PyList_GET_SIZE(o)(((PyVarObject*)(o))->ob_size);
53103 if ((!boundscheck) || likely((0 <= i) & (i < PyList_GET_SIZE(o)))__builtin_expect(!!((0 <= i) & (i < (((PyVarObject*
)(o))->ob_size))), 1)
) {
53104 PyObject *r = PyList_GET_ITEM(o, i)(((PyListObject *)(o))->ob_item[i]);
53105 Py_INCREF(r)( ((PyObject*)(r))->ob_refcnt++);
53106 return r;
53107 }
53108 return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
53109#else
53110 return PySequence_GetItem(o, i);
53111#endif
53112}
53113static CYTHON_INLINE__inline__ PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
53114 int wraparound, int boundscheck) {
53115#if CYTHON_COMPILING_IN_CPYTHON1
53116 if (wraparound & unlikely(i < 0)__builtin_expect(!!(i < 0), 0)) i += PyTuple_GET_SIZE(o)(((PyVarObject*)(o))->ob_size);
53117 if ((!boundscheck) || likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))__builtin_expect(!!((0 <= i) & (i < (((PyVarObject*
)(o))->ob_size))), 1)
) {
53118 PyObject *r = PyTuple_GET_ITEM(o, i)(((PyTupleObject *)(o))->ob_item[i]);
53119 Py_INCREF(r)( ((PyObject*)(r))->ob_refcnt++);
53120 return r;
53121 }
53122 return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
53123#else
53124 return PySequence_GetItem(o, i);
53125#endif
53126}
53127static CYTHON_INLINE__inline__ PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
53128 int is_list, int wraparound, int boundscheck) {
53129#if CYTHON_COMPILING_IN_CPYTHON1
53130 if (is_list || PyList_CheckExact(o)((((PyObject*)(o))->ob_type) == &PyList_Type)) {
53131 Py_ssize_t n = ((!wraparound) | likely(i >= 0)__builtin_expect(!!(i >= 0), 1)) ? i : i + PyList_GET_SIZE(o)(((PyVarObject*)(o))->ob_size);
53132 if ((!boundscheck) || (likely((n >= 0) & (n < PyList_GET_SIZE(o)))__builtin_expect(!!((n >= 0) & (n < (((PyVarObject*
)(o))->ob_size))), 1)
)) {
53133 PyObject *r = PyList_GET_ITEM(o, n)(((PyListObject *)(o))->ob_item[n]);
53134 Py_INCREF(r)( ((PyObject*)(r))->ob_refcnt++);
53135 return r;
53136 }
53137 }
53138 else if (PyTuple_CheckExact(o)((((PyObject*)(o))->ob_type) == &PyTuple_Type)) {
53139 Py_ssize_t n = ((!wraparound) | likely(i >= 0)__builtin_expect(!!(i >= 0), 1)) ? i : i + PyTuple_GET_SIZE(o)(((PyVarObject*)(o))->ob_size);
53140 if ((!boundscheck) || likely((n >= 0) & (n < PyTuple_GET_SIZE(o)))__builtin_expect(!!((n >= 0) & (n < (((PyVarObject*
)(o))->ob_size))), 1)
) {
53141 PyObject *r = PyTuple_GET_ITEM(o, n)(((PyTupleObject *)(o))->ob_item[n]);
53142 Py_INCREF(r)( ((PyObject*)(r))->ob_refcnt++);
53143 return r;
53144 }
53145 } else {
53146 PySequenceMethods *m = Py_TYPE(o)(((PyObject*)(o))->ob_type)->tp_as_sequence;
53147 if (likely(m && m->sq_item)__builtin_expect(!!(m && m->sq_item), 1)) {
53148 if (wraparound && unlikely(i < 0)__builtin_expect(!!(i < 0), 0) && likely(m->sq_length)__builtin_expect(!!(m->sq_length), 1)) {
53149 Py_ssize_t l = m->sq_length(o);
53150 if (likely(l >= 0)__builtin_expect(!!(l >= 0), 1)) {
53151 i += l;
53152 } else {
53153 if (PyErr_ExceptionMatches(PyExc_OverflowError))
53154 PyErr_Clear();
53155 else
53156 return NULL((void*)0);
53157 }
53158 }
53159 return m->sq_item(o, i);
53160 }
53161 }
53162#else
53163 if (is_list || PySequence_Check(o)) {
53164 return PySequence_GetItem(o, i);
53165 }
53166#endif
53167 return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
53168}
53169
53170static CYTHON_INLINE__inline__ int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) {
53171#if CYTHON_COMPILING_IN_PYPY0
53172 return PyObject_RichCompareBool(s1, s2, equals);
53173#else
53174 if (s1 == s2) {
53175 return (equals == Py_EQ2);
53176 } else if (PyBytes_CheckExact(s1)((((PyObject*)(s1))->ob_type) == &PyString_Type) & PyBytes_CheckExact(s2)((((PyObject*)(s2))->ob_type) == &PyString_Type)) {
53177 const char *ps1, *ps2;
53178 Py_ssize_t length = PyBytes_GET_SIZE(s1)(((PyVarObject*)(s1))->ob_size);
53179 if (length != PyBytes_GET_SIZE(s2)(((PyVarObject*)(s2))->ob_size))
53180 return (equals == Py_NE3);
53181 ps1 = PyBytes_AS_STRING(s1)(((PyStringObject *)(s1))->ob_sval);
53182 ps2 = PyBytes_AS_STRING(s2)(((PyStringObject *)(s2))->ob_sval);
53183 if (ps1[0] != ps2[0]) {
53184 return (equals == Py_NE3);
53185 } else if (length == 1) {
53186 return (equals == Py_EQ2);
53187 } else {
53188 int result = memcmp(ps1, ps2, (size_t)length);
53189 return (equals == Py_EQ2) ? (result == 0) : (result != 0);
53190 }
53191 } else if ((s1 == Py_None(&_Py_NoneStruct)) & PyBytes_CheckExact(s2)((((PyObject*)(s2))->ob_type) == &PyString_Type)) {
53192 return (equals == Py_NE3);
53193 } else if ((s2 == Py_None(&_Py_NoneStruct)) & PyBytes_CheckExact(s1)((((PyObject*)(s1))->ob_type) == &PyString_Type)) {
53194 return (equals == Py_NE3);
53195 } else {
53196 int result;
53197 PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
53198 if (!py_result)
53199 return -1;
53200 result = __Pyx_PyObject_IsTrue(py_result);
53201 Py_DECREF(py_result)do { if ( --((PyObject*)(py_result))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(py_result)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(py_result)))); } while (
0)
;
53202 return result;
53203 }
53204#endif
53205}
53206
53207static CYTHON_INLINE__inline__ int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) {
53208#if CYTHON_COMPILING_IN_PYPY0
53209 return PyObject_RichCompareBool(s1, s2, equals);
53210#else
53211#if PY_MAJOR_VERSION2 < 3
53212 PyObject* owned_ref = NULL((void*)0);
53213#endif
53214 int s1_is_unicode, s2_is_unicode;
53215 if (s1 == s2) {
53216 goto return_eq;
53217 }
53218 s1_is_unicode = PyUnicode_CheckExact(s1)((((PyObject*)(s1))->ob_type) == &PyUnicode_Type);
53219 s2_is_unicode = PyUnicode_CheckExact(s2)((((PyObject*)(s2))->ob_type) == &PyUnicode_Type);
53220#if PY_MAJOR_VERSION2 < 3
53221 if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)((((PyObject*)(s2))->ob_type) == &PyString_Type)) {
53222 owned_ref = PyUnicode_FromObjectPyUnicodeUCS4_FromObject(s2);
53223 if (unlikely(!owned_ref)__builtin_expect(!!(!owned_ref), 0))
53224 return -1;
53225 s2 = owned_ref;
53226 s2_is_unicode = 1;
53227 } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)((((PyObject*)(s1))->ob_type) == &PyString_Type)) {
53228 owned_ref = PyUnicode_FromObjectPyUnicodeUCS4_FromObject(s1);
53229 if (unlikely(!owned_ref)__builtin_expect(!!(!owned_ref), 0))
53230 return -1;
53231 s1 = owned_ref;
53232 s1_is_unicode = 1;
53233 } else if (((!s2_is_unicode) & (!s1_is_unicode))) {
53234 return __Pyx_PyBytes_Equals(s1, s2, equals);
53235 }
53236#endif
53237 if (s1_is_unicode & s2_is_unicode) {
53238 Py_ssize_t length;
53239 int kind;
53240 void *data1, *data2;
53241 #if CYTHON_PEP393_ENABLED0
53242 if (unlikely(PyUnicode_READY(s1) < 0)__builtin_expect(!!(PyUnicode_READY(s1) < 0), 0) || unlikely(PyUnicode_READY(s2) < 0)__builtin_expect(!!(PyUnicode_READY(s2) < 0), 0))
53243 return -1;
53244 #endif
53245 length = __Pyx_PyUnicode_GET_LENGTH(s1)(((PyUnicodeObject *)(s1))->length);
53246 if (length != __Pyx_PyUnicode_GET_LENGTH(s2)(((PyUnicodeObject *)(s2))->length)) {
53247 goto return_ne;
53248 }
53249 kind = __Pyx_PyUnicode_KIND(s1)(sizeof(Py_UNICODE));
53250 if (kind != __Pyx_PyUnicode_KIND(s2)(sizeof(Py_UNICODE))) {
53251 goto return_ne;
53252 }
53253 data1 = __Pyx_PyUnicode_DATA(s1)((void*)(((PyUnicodeObject *)(s1))->str));
53254 data2 = __Pyx_PyUnicode_DATA(s2)((void*)(((PyUnicodeObject *)(s2))->str));
53255 if (__Pyx_PyUnicode_READ(kind, data1, 0)((void)(kind), (Py_UCS4)(((Py_UNICODE*)data1)[0])) != __Pyx_PyUnicode_READ(kind, data2, 0)((void)(kind), (Py_UCS4)(((Py_UNICODE*)data2)[0]))) {
53256 goto return_ne;
53257 } else if (length == 1) {
53258 goto return_eq;
53259 } else {
53260 int result = memcmp(data1, data2, length * kind);
53261 #if PY_MAJOR_VERSION2 < 3
53262 Py_XDECREF(owned_ref)do { if ((owned_ref) == ((void*)0)) ; else do { if ( --((PyObject
*)(owned_ref))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(owned_ref)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(owned_ref)))); } while (0); } while (0)
;
53263 #endif
53264 return (equals == Py_EQ2) ? (result == 0) : (result != 0);
53265 }
53266 } else if ((s1 == Py_None(&_Py_NoneStruct)) & s2_is_unicode) {
53267 goto return_ne;
53268 } else if ((s2 == Py_None(&_Py_NoneStruct)) & s1_is_unicode) {
53269 goto return_ne;
53270 } else {
53271 int result;
53272 PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
53273 if (!py_result)
53274 return -1;
53275 result = __Pyx_PyObject_IsTrue(py_result);
53276 Py_DECREF(py_result)do { if ( --((PyObject*)(py_result))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(py_result)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(py_result)))); } while (
0)
;
53277 return result;
53278 }
53279return_eq:
53280 #if PY_MAJOR_VERSION2 < 3
53281 Py_XDECREF(owned_ref)do { if ((owned_ref) == ((void*)0)) ; else do { if ( --((PyObject
*)(owned_ref))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(owned_ref)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(owned_ref)))); } while (0); } while (0)
;
53282 #endif
53283 return (equals == Py_EQ2);
53284return_ne:
53285 #if PY_MAJOR_VERSION2 < 3
53286 Py_XDECREF(owned_ref)do { if ((owned_ref) == ((void*)0)) ; else do { if ( --((PyObject
*)(owned_ref))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(owned_ref)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(owned_ref)))); } while (0); } while (0)
;
53287 #endif
53288 return (equals == Py_NE3);
53289#endif
53290}
53291
53292static CYTHON_INLINE__inline__ PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) {
53293#if CYTHON_COMPILING_IN_CPYTHON1
53294#if PY_MAJOR_VERSION2 >= 3
53295 if (likely(PyUnicode_Check(n))__builtin_expect(!!(((((((PyObject*)(n))->ob_type))->tp_flags
& ((1L<<28))) != 0)), 1)
)
53296#else
53297 if (likely(PyString_Check(n))__builtin_expect(!!(((((((PyObject*)(n))->ob_type))->tp_flags
& ((1L<<27))) != 0)), 1)
)
53298#endif
53299 return __Pyx_PyObject_GetAttrStr(o, n);
53300#endif
53301 return PyObject_GetAttr(o, n);
53302}
53303
53304static CYTHON_INLINE__inline__ PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject *d) {
53305 PyObject *r = __Pyx_GetAttr(o, n);
53306 if (unlikely(!r)__builtin_expect(!!(!r), 0)) {
53307 if (!PyErr_ExceptionMatches(PyExc_AttributeError))
53308 goto bad;
53309 PyErr_Clear();
53310 r = d;
53311 Py_INCREF(d)( ((PyObject*)(d))->ob_refcnt++);
53312 }
53313 return r;
53314bad:
53315 return NULL((void*)0);
53316}
53317
53318#if !CYTHON_COMPILING_IN_CPYTHON1
53319static CYTHON_INLINE__inline__ PyObject* __Pyx_PyBytes_Join_PyString_Join(PyObject* sep, PyObject* values) {
53320 return PyObject_CallMethodObjArgs(sep, __pyx_n_s_join, values, NULL((void*)0));
53321}
53322#endif
53323
53324static int __Pyx_SetVtable(PyObject *dict, void *vtable) {
53325#if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x02070000 && !(PY_MAJOR_VERSION2==3&&PY_MINOR_VERSION7==0)
53326 PyObject *ob = PyCapsule_New(vtable, 0, 0);
53327#else
53328 PyObject *ob = PyCObject_FromVoidPtr(vtable, 0);
53329#endif
53330 if (!ob)
53331 goto bad;
53332 if (PyDict_SetItem(dict, __pyx_n_s_pyx_vtable, ob) < 0)
53333 goto bad;
53334 Py_DECREF(ob)do { if ( --((PyObject*)(ob))->ob_refcnt != 0) ; else ( (*
(((PyObject*)((PyObject *)(ob)))->ob_type)->tp_dealloc)
((PyObject *)((PyObject *)(ob)))); } while (0)
;
53335 return 0;
53336bad:
53337 Py_XDECREF(ob)do { if ((ob) == ((void*)0)) ; else do { if ( --((PyObject*)(
ob))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *
)(ob)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *
)(ob)))); } while (0); } while (0)
;
53338 return -1;
53339}
53340
53341static void* __Pyx_GetVtable(PyObject *dict) {
53342 void* ptr;
53343 PyObject *ob = PyObject_GetItem(dict, __pyx_n_s_pyx_vtable);
53344 if (!ob)
53345 goto bad;
53346#if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x02070000 && !(PY_MAJOR_VERSION2==3&&PY_MINOR_VERSION7==0)
53347 ptr = PyCapsule_GetPointer(ob, 0);
53348#else
53349 ptr = PyCObject_AsVoidPtr(ob);
53350#endif
53351 if (!ptr && !PyErr_Occurred())
53352 PyErr_SetString(PyExc_RuntimeError, "invalid vtable found for imported type");
53353 Py_DECREF(ob)do { if ( --((PyObject*)(ob))->ob_refcnt != 0) ; else ( (*
(((PyObject*)((PyObject *)(ob)))->ob_type)->tp_dealloc)
((PyObject *)((PyObject *)(ob)))); } while (0)
;
53354 return ptr;
53355bad:
53356 Py_XDECREF(ob)do { if ((ob) == ((void*)0)) ; else do { if ( --((PyObject*)(
ob))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *
)(ob)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *
)(ob)))); } while (0); } while (0)
;
53357 return NULL((void*)0);
53358}
53359
53360static PyObject *__Pyx_GetNameInClass(PyObject *nmspace, PyObject *name) {
53361 PyObject *result;
53362 result = __Pyx_PyObject_GetAttrStr(nmspace, name);
53363 if (!result)
53364 result = __Pyx_GetModuleGlobalName(name);
53365 return result;
53366}
53367
53368static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) {
53369 Py_ssize_t i, nbases = PyTuple_GET_SIZE(bases)(((PyVarObject*)(bases))->ob_size);
53370 for (i=0; i < nbases; i++) {
53371 PyTypeObject *tmptype;
53372 PyObject *tmp = PyTuple_GET_ITEM(bases, i)(((PyTupleObject *)(bases))->ob_item[i]);
53373 tmptype = Py_TYPE(tmp)(((PyObject*)(tmp))->ob_type);
53374#if PY_MAJOR_VERSION2 < 3
53375 if (tmptype == &PyClass_Type)
53376 continue;
53377#endif
53378 if (!metaclass) {
53379 metaclass = tmptype;
53380 continue;
53381 }
53382 if (PyType_IsSubtype(metaclass, tmptype))
53383 continue;
53384 if (PyType_IsSubtype(tmptype, metaclass)) {
53385 metaclass = tmptype;
53386 continue;
53387 }
53388 PyErr_SetString(PyExc_TypeError,
53389 "metaclass conflict: "
53390 "the metaclass of a derived class "
53391 "must be a (non-strict) subclass "
53392 "of the metaclasses of all its bases");
53393 return NULL((void*)0);
53394 }
53395 if (!metaclass) {
53396#if PY_MAJOR_VERSION2 < 3
53397 metaclass = &PyClass_Type;
53398#else
53399 metaclass = &PyType_Type;
53400#endif
53401 }
53402 Py_INCREF((PyObject*) metaclass)( ((PyObject*)((PyObject*) metaclass))->ob_refcnt++);
53403 return (PyObject*) metaclass;
53404}
53405
53406static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name,
53407 PyObject *qualname, PyObject *mkw, PyObject *modname, PyObject *doc) {
53408 PyObject *ns;
53409 if (metaclass) {
53410 PyObject *prep = __Pyx_PyObject_GetAttrStr(metaclass, __pyx_n_s_prepare);
53411 if (prep) {
53412 PyObject *pargs = PyTuple_Pack(2, name, bases);
53413 if (unlikely(!pargs)__builtin_expect(!!(!pargs), 0)) {
53414 Py_DECREF(prep)do { if ( --((PyObject*)(prep))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(prep)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(prep)))); } while (0)
;
53415 return NULL((void*)0);
53416 }
53417 ns = PyObject_Call(prep, pargs, mkw);
53418 Py_DECREF(prep)do { if ( --((PyObject*)(prep))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(prep)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(prep)))); } while (0)
;
53419 Py_DECREF(pargs)do { if ( --((PyObject*)(pargs))->ob_refcnt != 0) ; else (
(*(((PyObject*)((PyObject *)(pargs)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(pargs)))); } while (0)
;
53420 } else {
53421 if (unlikely(!PyErr_ExceptionMatches(PyExc_AttributeError))__builtin_expect(!!(!PyErr_ExceptionMatches(PyExc_AttributeError
)), 0)
)
53422 return NULL((void*)0);
53423 PyErr_Clear();
53424 ns = PyDict_New();
53425 }
53426 } else {
53427 ns = PyDict_New();
53428 }
53429 if (unlikely(!ns)__builtin_expect(!!(!ns), 0))
53430 return NULL((void*)0);
53431 if (unlikely(PyObject_SetItem(ns, __pyx_n_s_module, modname) < 0)__builtin_expect(!!(PyObject_SetItem(ns, __pyx_n_s_module, modname
) < 0), 0)
) goto bad;
53432 if (unlikely(PyObject_SetItem(ns, __pyx_n_s_qualname, qualname) < 0)__builtin_expect(!!(PyObject_SetItem(ns, __pyx_n_s_qualname, qualname
) < 0), 0)
) goto bad;
53433 if (unlikely(doc && PyObject_SetItem(ns, __pyx_n_s_doc, doc) < 0)__builtin_expect(!!(doc && PyObject_SetItem(ns, __pyx_n_s_doc
, doc) < 0), 0)
) goto bad;
53434 return ns;
53435bad:
53436 Py_DECREF(ns)do { if ( --((PyObject*)(ns))->ob_refcnt != 0) ; else ( (*
(((PyObject*)((PyObject *)(ns)))->ob_type)->tp_dealloc)
((PyObject *)((PyObject *)(ns)))); } while (0)
;
53437 return NULL((void*)0);
53438}
53439static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases,
53440 PyObject *dict, PyObject *mkw,
53441 int calculate_metaclass, int allow_py2_metaclass) {
53442 PyObject *result, *margs;
53443 PyObject *owned_metaclass = NULL((void*)0);
53444 if (allow_py2_metaclass) {
53445 owned_metaclass = PyObject_GetItem(dict, __pyx_n_s_metaclass);
53446 if (owned_metaclass) {
53447 metaclass = owned_metaclass;
53448 } else if (likely(PyErr_ExceptionMatches(PyExc_KeyError))__builtin_expect(!!(PyErr_ExceptionMatches(PyExc_KeyError)), 1
)
) {
53449 PyErr_Clear();
53450 } else {
53451 return NULL((void*)0);
53452 }
53453 }
53454 if (calculate_metaclass && (!metaclass || PyType_Check(metaclass)((((((PyObject*)(metaclass))->ob_type))->tp_flags &
((1L<<31))) != 0)
)) {
53455 metaclass = __Pyx_CalculateMetaclass((PyTypeObject*) metaclass, bases);
53456 Py_XDECREF(owned_metaclass)do { if ((owned_metaclass) == ((void*)0)) ; else do { if ( --
((PyObject*)(owned_metaclass))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(owned_metaclass)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(owned_metaclass)))); } while
(0); } while (0)
;
53457 if (unlikely(!metaclass)__builtin_expect(!!(!metaclass), 0))
53458 return NULL((void*)0);
53459 owned_metaclass = metaclass;
53460 }
53461 margs = PyTuple_Pack(3, name, bases, dict);
53462 if (unlikely(!margs)__builtin_expect(!!(!margs), 0)) {
53463 result = NULL((void*)0);
53464 } else {
53465 result = PyObject_Call(metaclass, margs, mkw);
53466 Py_DECREF(margs)do { if ( --((PyObject*)(margs))->ob_refcnt != 0) ; else (
(*(((PyObject*)((PyObject *)(margs)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(margs)))); } while (0)
;
53467 }
53468 Py_XDECREF(owned_metaclass)do { if ((owned_metaclass) == ((void*)0)) ; else do { if ( --
((PyObject*)(owned_metaclass))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(owned_metaclass)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(owned_metaclass)))); } while
(0); } while (0)
;
53469 return result;
53470}
53471
53472static CYTHON_INLINE__inline__ PyObject* __Pyx_PyInt_From_int(int value) {
53473 const int neg_one = (int) -1, const_zero = 0;
53474 const int is_unsigned = neg_one > const_zero;
53475 if (is_unsigned) {
53476 if (sizeof(int) < sizeof(long)) {
53477 return PyInt_FromLong((long) value);
53478 } else if (sizeof(int) <= sizeof(unsigned long)) {
53479 return PyLong_FromUnsignedLong((unsigned long) value);
53480 } else if (sizeof(int) <= sizeof(unsigned long long)) {
53481 return PyLong_FromUnsignedLongLong((unsigned long long) value);
53482 }
53483 } else {
53484 if (sizeof(int) <= sizeof(long)) {
53485 return PyInt_FromLong((long) value);
53486 } else if (sizeof(int) <= sizeof(long long)) {
53487 return PyLong_FromLongLong((long long) value);
53488 }
53489 }
53490 {
53491 int one = 1; int little = (int)*(unsigned char *)&one;
53492 unsigned char *bytes = (unsigned char *)&value;
53493 return _PyLong_FromByteArray(bytes, sizeof(int),
53494 little, !is_unsigned);
53495 }
53496}
53497
53498#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func){ func_type value = func(x); if (sizeof(target_type) < sizeof
(func_type)) { if (__builtin_expect(!!(value != (func_type) (
target_type) value), 0)) { func_type zero = 0; PyErr_SetString
(PyExc_OverflowError, (is_unsigned && __builtin_expect
(!!(value < zero), 0)) ? "can't convert negative value to "
"target_type" : "value too large to convert to " "target_type"
); return (target_type) -1; } } return (target_type) value; }
\
53499 { \
53500 func_type value = func(x); \
53501 if (sizeof(target_type) < sizeof(func_type)) { \
53502 if (unlikely(value != (func_type) (target_type) value)__builtin_expect(!!(value != (func_type) (target_type) value)
, 0)
) { \
53503 func_type zero = 0; \
53504 PyErr_SetString(PyExc_OverflowError, \
53505 (is_unsigned && unlikely(value < zero)__builtin_expect(!!(value < zero), 0)) ? \
53506 "can't convert negative value to " #target_type : \
53507 "value too large to convert to " #target_type); \
53508 return (target_type) -1; \
53509 } \
53510 } \
53511 return (target_type) value; \
53512 }
53513
53514#if CYTHON_COMPILING_IN_CPYTHON1 && PY_MAJOR_VERSION2 >= 3
53515 #if CYTHON_USE_PYLONG_INTERNALS0
53516 #include "longintrepr.h"
53517 #endif
53518#endif
53519static CYTHON_INLINE__inline__ int __Pyx_PyInt_As_int(PyObject *x) {
53520 const int neg_one = (int) -1, const_zero = 0;
53521 const int is_unsigned = neg_one > const_zero;
53522#if PY_MAJOR_VERSION2 < 3
53523 if (likely(PyInt_Check(x))__builtin_expect(!!(((((x)->ob_type)->tp_flags & ((
1L<<23))) != 0)), 1)
) {
53524 if (sizeof(int) < sizeof(long)) {
53525 __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG){ long value = (((PyIntObject *)(x))->ob_ival); if (sizeof
(int) < sizeof(long)) { if (__builtin_expect(!!(value != (
long) (int) value), 0)) { long zero = 0; PyErr_SetString(PyExc_OverflowError
, (is_unsigned && __builtin_expect(!!(value < zero
), 0)) ? "can't convert negative value to " "int" : "value too large to convert to "
"int"); return (int) -1; } } return (int) value; }
53526 } else {
53527 long val = PyInt_AS_LONG(x)(((PyIntObject *)(x))->ob_ival);
53528 if (is_unsigned && unlikely(val < 0)__builtin_expect(!!(val < 0), 0)) {
53529 PyErr_SetString(PyExc_OverflowError,
53530 "can't convert negative value to int");
53531 return (int) -1;
53532 }
53533 return (int) val;
53534 }
53535 } else
53536#endif
53537 if (likely(PyLong_Check(x))__builtin_expect(!!(((((((PyObject*)(x))->ob_type))->tp_flags
& ((1L<<24))) != 0)), 1)
) {
53538 if (is_unsigned) {
53539#if CYTHON_COMPILING_IN_CPYTHON1 && PY_MAJOR_VERSION2 >= 3
53540 #if CYTHON_USE_PYLONG_INTERNALS0
53541 if (sizeof(digit) <= sizeof(int)) {
53542 switch (Py_SIZE(x)(((PyVarObject*)(x))->ob_size)) {
53543 case 0: return 0;
53544 case 1: return (int) ((PyLongObject*)x)->ob_digit[0];
53545 }
53546 }
53547 #endif
53548#endif
53549 if (unlikely(Py_SIZE(x) < 0)__builtin_expect(!!((((PyVarObject*)(x))->ob_size) < 0)
, 0)
) {
53550 PyErr_SetString(PyExc_OverflowError,
53551 "can't convert negative value to int");
53552 return (int) -1;
53553 }
53554 if (sizeof(int) <= sizeof(unsigned long)) {
53555 __PYX_VERIFY_RETURN_INT(int, unsigned long, PyLong_AsUnsignedLong){ unsigned long value = PyLong_AsUnsignedLong(x); if (sizeof(
int) < sizeof(unsigned long)) { if (__builtin_expect(!!(value
!= (unsigned long) (int) value), 0)) { unsigned long zero = 0
; PyErr_SetString(PyExc_OverflowError, (is_unsigned &&
__builtin_expect(!!(value < zero), 0)) ? "can't convert negative value to "
"int" : "value too large to convert to " "int"); return (int
) -1; } } return (int) value; }
53556 } else if (sizeof(int) <= sizeof(unsigned long long)) {
53557 __PYX_VERIFY_RETURN_INT(int, unsigned long long, PyLong_AsUnsignedLongLong){ unsigned long long value = PyLong_AsUnsignedLongLong(x); if
(sizeof(int) < sizeof(unsigned long long)) { if (__builtin_expect
(!!(value != (unsigned long long) (int) value), 0)) { unsigned
long long zero = 0; PyErr_SetString(PyExc_OverflowError, (is_unsigned
&& __builtin_expect(!!(value < zero), 0)) ? "can't convert negative value to "
"int" : "value too large to convert to " "int"); return (int
) -1; } } return (int) value; }
53558 }
53559 } else {
53560#if CYTHON_COMPILING_IN_CPYTHON1 && PY_MAJOR_VERSION2 >= 3
53561 #if CYTHON_USE_PYLONG_INTERNALS0
53562 if (sizeof(digit) <= sizeof(int)) {
53563 switch (Py_SIZE(x)(((PyVarObject*)(x))->ob_size)) {
53564 case 0: return 0;
53565 case 1: return +(int) ((PyLongObject*)x)->ob_digit[0];
53566 case -1: return -(int) ((PyLongObject*)x)->ob_digit[0];
53567 }
53568 }
53569 #endif
53570#endif
53571 if (sizeof(int) <= sizeof(long)) {
53572 __PYX_VERIFY_RETURN_INT(int, long, PyLong_AsLong){ long value = PyLong_AsLong(x); if (sizeof(int) < sizeof(
long)) { if (__builtin_expect(!!(value != (long) (int) value)
, 0)) { long zero = 0; PyErr_SetString(PyExc_OverflowError, (
is_unsigned && __builtin_expect(!!(value < zero), 0
)) ? "can't convert negative value to " "int" : "value too large to convert to "
"int"); return (int) -1; } } return (int) value; }
53573 } else if (sizeof(int) <= sizeof(long long)) {
53574 __PYX_VERIFY_RETURN_INT(int, long long, PyLong_AsLongLong){ long long value = PyLong_AsLongLong(x); if (sizeof(int) <
sizeof(long long)) { if (__builtin_expect(!!(value != (long long
) (int) value), 0)) { long long zero = 0; PyErr_SetString(PyExc_OverflowError
, (is_unsigned && __builtin_expect(!!(value < zero
), 0)) ? "can't convert negative value to " "int" : "value too large to convert to "
"int"); return (int) -1; } } return (int) value; }
53575 }
53576 }
53577 {
53578#if CYTHON_COMPILING_IN_PYPY0 && !defined(_PyLong_AsByteArray)
53579 PyErr_SetString(PyExc_RuntimeError,
53580 "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
53581#else
53582 int val;
53583 PyObject *v = __Pyx_PyNumber_Int(x);
53584 #if PY_MAJOR_VERSION2 < 3
53585 if (likely(v)__builtin_expect(!!(v), 1) && !PyLong_Check(v)((((((PyObject*)(v))->ob_type))->tp_flags & ((1L<<
24))) != 0)
) {
53586 PyObject *tmp = v;
53587 v = PyNumber_Long(tmp);
53588 Py_DECREF(tmp)do { if ( --((PyObject*)(tmp))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(tmp)))); } while (0)
;
53589 }
53590 #endif
53591 if (likely(v)__builtin_expect(!!(v), 1)) {
53592 int one = 1; int is_little = (int)*(unsigned char *)&one;
53593 unsigned char *bytes = (unsigned char *)&val;
53594 int ret = _PyLong_AsByteArray((PyLongObject *)v,
53595 bytes, sizeof(val),
53596 is_little, !is_unsigned);
53597 Py_DECREF(v)do { if ( --((PyObject*)(v))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(v)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(v)))); } while (0)
;
53598 if (likely(!ret)__builtin_expect(!!(!ret), 1))
53599 return val;
53600 }
53601#endif
53602 return (int) -1;
53603 }
53604 } else {
53605 int val;
53606 PyObject *tmp = __Pyx_PyNumber_Int(x);
53607 if (!tmp) return (int) -1;
53608 val = __Pyx_PyInt_As_int(tmp);
53609 Py_DECREF(tmp)do { if ( --((PyObject*)(tmp))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(tmp)))); } while (0)
;
53610 return val;
53611 }
53612}
53613
53614static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
53615 PyObject *empty_list = 0;
53616 PyObject *module = 0;
53617 PyObject *global_dict = 0;
53618 PyObject *empty_dict = 0;
53619 PyObject *list;
53620 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
< 0x03030000
53621 PyObject *py_import;
53622 py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import);
53623 if (!py_import)
53624 goto bad;
53625 #endif
53626 if (from_list)
53627 list = from_list;
53628 else {
53629 empty_list = PyList_New(0);
53630 if (!empty_list)
53631 goto bad;
53632 list = empty_list;
53633 }
53634 global_dict = PyModule_GetDict(__pyx_m);
53635 if (!global_dict)
53636 goto bad;
53637 empty_dict = PyDict_New();
53638 if (!empty_dict)
53639 goto bad;
53640 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x02050000
53641 {
53642 #if PY_MAJOR_VERSION2 >= 3
53643 if (level == -1) {
53644 if (strchr(__Pyx_MODULE_NAME"xmmsapi", '.')) {
53645 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
< 0x03030000
53646 PyObject *py_level = PyInt_FromLong(1);
53647 if (!py_level)
53648 goto bad;
53649 module = PyObject_CallFunctionObjArgs(py_import,
53650 name, global_dict, empty_dict, list, py_level, NULL((void*)0));
53651 Py_DECREF(py_level)do { if ( --((PyObject*)(py_level))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(py_level)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(py_level)))); } while (
0)
;
53652 #else
53653 module = PyImport_ImportModuleLevelObject(
53654 name, global_dict, empty_dict, list, 1);
53655 #endif
53656 if (!module) {
53657 if (!PyErr_ExceptionMatches(PyExc_ImportError))
53658 goto bad;
53659 PyErr_Clear();
53660 }
53661 }
53662 level = 0; /* try absolute import on failure */
53663 }
53664 #endif
53665 if (!module) {
53666 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
< 0x03030000
53667 PyObject *py_level = PyInt_FromLong(level);
53668 if (!py_level)
53669 goto bad;
53670 module = PyObject_CallFunctionObjArgs(py_import,
53671 name, global_dict, empty_dict, list, py_level, NULL((void*)0));
53672 Py_DECREF(py_level)do { if ( --((PyObject*)(py_level))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(py_level)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(py_level)))); } while (
0)
;
53673 #else
53674 module = PyImport_ImportModuleLevelObject(
53675 name, global_dict, empty_dict, list, level);
53676 #endif
53677 }
53678 }
53679 #else
53680 if (level>0) {
53681 PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4.");
53682 goto bad;
53683 }
53684 module = PyObject_CallFunctionObjArgs(py_import,
53685 name, global_dict, empty_dict, list, NULL((void*)0));
53686 #endif
53687bad:
53688 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
< 0x03030000
53689 Py_XDECREF(py_import)do { if ((py_import) == ((void*)0)) ; else do { if ( --((PyObject
*)(py_import))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(py_import)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(py_import)))); } while (0); } while (0)
;
53690 #endif
53691 Py_XDECREF(empty_list)do { if ((empty_list) == ((void*)0)) ; else do { if ( --((PyObject
*)(empty_list))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(empty_list)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(empty_list)))); } while (0); } while (0)
;
53692 Py_XDECREF(empty_dict)do { if ((empty_dict) == ((void*)0)) ; else do { if ( --((PyObject
*)(empty_dict))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(empty_dict)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(empty_dict)))); } while (0); } while (0)
;
53693 return module;
53694}
53695
53696#if !CYTHON_COMPILING_IN_PYPY0 && PY_MAJOR_VERSION2 < 3
53697static PyObject *__Pyx_GetStdout(void) {
53698 PyObject *f = PySys_GetObject((char *)"stdout");
53699 if (!f) {
53700 PyErr_SetString(PyExc_RuntimeError, "lost sys.stdout");
53701 }
53702 return f;
53703}
53704static int __Pyx_Print(PyObject* f, PyObject *arg_tuple, int newline) {
53705 int i;
53706 if (!f) {
53707 if (!(f = __Pyx_GetStdout()))
53708 return -1;
53709 }
53710 Py_INCREF(f)( ((PyObject*)(f))->ob_refcnt++);
53711 for (i=0; i < PyTuple_GET_SIZE(arg_tuple)(((PyVarObject*)(arg_tuple))->ob_size); i++) {
53712 PyObject* v;
53713 if (PyFile_SoftSpace(f, 1)) {
53714 if (PyFile_WriteString(" ", f) < 0)
53715 goto error;
53716 }
53717 v = PyTuple_GET_ITEM(arg_tuple, i)(((PyTupleObject *)(arg_tuple))->ob_item[i]);
53718 if (PyFile_WriteObject(v, f, Py_PRINT_RAW1) < 0)
53719 goto error;
53720 if (PyString_Check(v)((((((PyObject*)(v))->ob_type))->tp_flags & ((1L<<
27))) != 0)
) {
53721 char *s = PyString_AsString(v);
53722 Py_ssize_t len = PyString_Size(v);
53723 if (len > 0) {
53724 switch (s[len-1]) {
53725 case ' ': break;
53726 case '\f': case '\r': case '\n': case '\t': case '\v':
53727 PyFile_SoftSpace(f, 0);
53728 break;
53729 default: break;
53730 }
53731 }
53732 }
53733 }
53734 if (newline) {
53735 if (PyFile_WriteString("\n", f) < 0)
53736 goto error;
53737 PyFile_SoftSpace(f, 0);
53738 }
53739 Py_DECREF(f)do { if ( --((PyObject*)(f))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(f)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(f)))); } while (0)
;
53740 return 0;
53741error:
53742 Py_DECREF(f)do { if ( --((PyObject*)(f))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(f)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(f)))); } while (0)
;
53743 return -1;
53744}
53745#else /* Python 3 has a print function */
53746static int __Pyx_Print(PyObject* stream, PyObject *arg_tuple, int newline) {
53747 PyObject* kwargs = 0;
53748 PyObject* result = 0;
53749 PyObject* end_string;
53750 if (unlikely(!__pyx_print)__builtin_expect(!!(!__pyx_print), 0)) {
53751 __pyx_print = PyObject_GetAttr(__pyx_b, __pyx_n_s_print);
53752 if (!__pyx_print)
53753 return -1;
53754 }
53755 if (stream) {
53756 kwargs = PyDict_New();
53757 if (unlikely(!kwargs)__builtin_expect(!!(!kwargs), 0))
53758 return -1;
53759 if (unlikely(PyDict_SetItem(kwargs, __pyx_n_s_file, stream) < 0)__builtin_expect(!!(PyDict_SetItem(kwargs, __pyx_n_s_file, stream
) < 0), 0)
)
53760 goto bad;
53761 if (!newline) {
53762 end_string = PyUnicode_FromStringAndSizePyUnicodeUCS4_FromStringAndSize(" ", 1);
53763 if (unlikely(!end_string)__builtin_expect(!!(!end_string), 0))
53764 goto bad;
53765 if (PyDict_SetItem(kwargs, __pyx_n_s_end, end_string) < 0) {
53766 Py_DECREF(end_string)do { if ( --((PyObject*)(end_string))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(end_string)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(end_string)))); } while
(0)
;
53767 goto bad;
53768 }
53769 Py_DECREF(end_string)do { if ( --((PyObject*)(end_string))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(end_string)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(end_string)))); } while
(0)
;
53770 }
53771 } else if (!newline) {
53772 if (unlikely(!__pyx_print_kwargs)__builtin_expect(!!(!__pyx_print_kwargs), 0)) {
53773 __pyx_print_kwargs = PyDict_New();
53774 if (unlikely(!__pyx_print_kwargs)__builtin_expect(!!(!__pyx_print_kwargs), 0))
53775 return -1;
53776 end_string = PyUnicode_FromStringAndSizePyUnicodeUCS4_FromStringAndSize(" ", 1);
53777 if (unlikely(!end_string)__builtin_expect(!!(!end_string), 0))
53778 return -1;
53779 if (PyDict_SetItem(__pyx_print_kwargs, __pyx_n_s_end, end_string) < 0) {
53780 Py_DECREF(end_string)do { if ( --((PyObject*)(end_string))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(end_string)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(end_string)))); } while
(0)
;
53781 return -1;
53782 }
53783 Py_DECREF(end_string)do { if ( --((PyObject*)(end_string))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(end_string)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(end_string)))); } while
(0)
;
53784 }
53785 kwargs = __pyx_print_kwargs;
53786 }
53787 result = PyObject_Call(__pyx_print, arg_tuple, kwargs);
53788 if (unlikely(kwargs)__builtin_expect(!!(kwargs), 0) && (kwargs != __pyx_print_kwargs))
53789 Py_DECREF(kwargs)do { if ( --((PyObject*)(kwargs))->ob_refcnt != 0) ; else (
(*(((PyObject*)((PyObject *)(kwargs)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(kwargs)))); } while (0)
;
53790 if (!result)
53791 return -1;
53792 Py_DECREF(result)do { if ( --((PyObject*)(result))->ob_refcnt != 0) ; else (
(*(((PyObject*)((PyObject *)(result)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(result)))); } while (0)
;
53793 return 0;
53794bad:
53795 if (kwargs != __pyx_print_kwargs)
53796 Py_XDECREF(kwargs)do { if ((kwargs) == ((void*)0)) ; else do { if ( --((PyObject
*)(kwargs))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(kwargs)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(kwargs)))); } while (0); } while (0)
;
53797 return -1;
53798}
53799#endif
53800
53801#if !CYTHON_COMPILING_IN_PYPY0 && PY_MAJOR_VERSION2 < 3
53802static int __Pyx_PrintOne(PyObject* f, PyObject *o) {
53803 if (!f) {
53804 if (!(f = __Pyx_GetStdout()))
53805 return -1;
53806 }
53807 Py_INCREF(f)( ((PyObject*)(f))->ob_refcnt++);
53808 if (PyFile_SoftSpace(f, 0)) {
53809 if (PyFile_WriteString(" ", f) < 0)
53810 goto error;
53811 }
53812 if (PyFile_WriteObject(o, f, Py_PRINT_RAW1) < 0)
53813 goto error;
53814 if (PyFile_WriteString("\n", f) < 0)
53815 goto error;
53816 Py_DECREF(f)do { if ( --((PyObject*)(f))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(f)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(f)))); } while (0)
;
53817 return 0;
53818error:
53819 Py_DECREF(f)do { if ( --((PyObject*)(f))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(f)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(f)))); } while (0)
;
53820 return -1;
53821 /* the line below is just to avoid C compiler
53822 * warnings about unused functions */
53823 return __Pyx_Print(f, NULL((void*)0), 0);
53824}
53825#else /* Python 3 has a print function */
53826static int __Pyx_PrintOne(PyObject* stream, PyObject *o) {
53827 int res;
53828 PyObject* arg_tuple = PyTuple_Pack(1, o);
53829 if (unlikely(!arg_tuple)__builtin_expect(!!(!arg_tuple), 0))
53830 return -1;
53831 res = __Pyx_Print(stream, arg_tuple, 1);
53832 Py_DECREF(arg_tuple)do { if ( --((PyObject*)(arg_tuple))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(arg_tuple)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(arg_tuple)))); } while (
0)
;
53833 return res;
53834}
53835#endif
53836
53837static CYTHON_INLINE__inline__ PyObject* __Pyx_PyInt_From_long(long value) {
53838 const long neg_one = (long) -1, const_zero = 0;
53839 const int is_unsigned = neg_one > const_zero;
53840 if (is_unsigned) {
53841 if (sizeof(long) < sizeof(long)) {
53842 return PyInt_FromLong((long) value);
53843 } else if (sizeof(long) <= sizeof(unsigned long)) {
53844 return PyLong_FromUnsignedLong((unsigned long) value);
53845 } else if (sizeof(long) <= sizeof(unsigned long long)) {
53846 return PyLong_FromUnsignedLongLong((unsigned long long) value);
53847 }
53848 } else {
53849 if (sizeof(long) <= sizeof(long)) {
53850 return PyInt_FromLong((long) value);
53851 } else if (sizeof(long) <= sizeof(long long)) {
53852 return PyLong_FromLongLong((long long) value);
53853 }
53854 }
53855 {
53856 int one = 1; int little = (int)*(unsigned char *)&one;
53857 unsigned char *bytes = (unsigned char *)&value;
53858 return _PyLong_FromByteArray(bytes, sizeof(long),
53859 little, !is_unsigned);
53860 }
53861}
53862
53863#if CYTHON_COMPILING_IN_CPYTHON1 && PY_MAJOR_VERSION2 >= 3
53864 #if CYTHON_USE_PYLONG_INTERNALS0
53865 #include "longintrepr.h"
53866 #endif
53867#endif
53868static CYTHON_INLINE__inline__ unsigned int __Pyx_PyInt_As_unsigned_int(PyObject *x) {
53869 const unsigned int neg_one = (unsigned int) -1, const_zero = 0;
53870 const int is_unsigned = neg_one > const_zero;
53871#if PY_MAJOR_VERSION2 < 3
53872 if (likely(PyInt_Check(x))__builtin_expect(!!(((((x)->ob_type)->tp_flags & ((
1L<<23))) != 0)), 1)
) {
53873 if (sizeof(unsigned int) < sizeof(long)) {
53874 __PYX_VERIFY_RETURN_INT(unsigned int, long, PyInt_AS_LONG){ long value = (((PyIntObject *)(x))->ob_ival); if (sizeof
(unsigned int) < sizeof(long)) { if (__builtin_expect(!!(value
!= (long) (unsigned int) value), 0)) { long zero = 0; PyErr_SetString
(PyExc_OverflowError, (is_unsigned && __builtin_expect
(!!(value < zero), 0)) ? "can't convert negative value to "
"unsigned int" : "value too large to convert to " "unsigned int"
); return (unsigned int) -1; } } return (unsigned int) value;
}
53875 } else {
53876 long val = PyInt_AS_LONG(x)(((PyIntObject *)(x))->ob_ival);
53877 if (is_unsigned && unlikely(val < 0)__builtin_expect(!!(val < 0), 0)) {
53878 PyErr_SetString(PyExc_OverflowError,
53879 "can't convert negative value to unsigned int");
53880 return (unsigned int) -1;
53881 }
53882 return (unsigned int) val;
53883 }
53884 } else
53885#endif
53886 if (likely(PyLong_Check(x))__builtin_expect(!!(((((((PyObject*)(x))->ob_type))->tp_flags
& ((1L<<24))) != 0)), 1)
) {
53887 if (is_unsigned) {
53888#if CYTHON_COMPILING_IN_CPYTHON1 && PY_MAJOR_VERSION2 >= 3
53889 #if CYTHON_USE_PYLONG_INTERNALS0
53890 if (sizeof(digit) <= sizeof(unsigned int)) {
53891 switch (Py_SIZE(x)(((PyVarObject*)(x))->ob_size)) {
53892 case 0: return 0;
53893 case 1: return (unsigned int) ((PyLongObject*)x)->ob_digit[0];
53894 }
53895 }
53896 #endif
53897#endif
53898 if (unlikely(Py_SIZE(x) < 0)__builtin_expect(!!((((PyVarObject*)(x))->ob_size) < 0)
, 0)
) {
53899 PyErr_SetString(PyExc_OverflowError,
53900 "can't convert negative value to unsigned int");
53901 return (unsigned int) -1;
53902 }
53903 if (sizeof(unsigned int) <= sizeof(unsigned long)) {
53904 __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, PyLong_AsUnsignedLong){ unsigned long value = PyLong_AsUnsignedLong(x); if (sizeof(
unsigned int) < sizeof(unsigned long)) { if (__builtin_expect
(!!(value != (unsigned long) (unsigned int) value), 0)) { unsigned
long zero = 0; PyErr_SetString(PyExc_OverflowError, (is_unsigned
&& __builtin_expect(!!(value < zero), 0)) ? "can't convert negative value to "
"unsigned int" : "value too large to convert to " "unsigned int"
); return (unsigned int) -1; } } return (unsigned int) value;
}
53905 } else if (sizeof(unsigned int) <= sizeof(unsigned long long)) {
53906 __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long long, PyLong_AsUnsignedLongLong){ unsigned long long value = PyLong_AsUnsignedLongLong(x); if
(sizeof(unsigned int) < sizeof(unsigned long long)) { if (
__builtin_expect(!!(value != (unsigned long long) (unsigned int
) value), 0)) { unsigned long long zero = 0; PyErr_SetString(
PyExc_OverflowError, (is_unsigned && __builtin_expect
(!!(value < zero), 0)) ? "can't convert negative value to "
"unsigned int" : "value too large to convert to " "unsigned int"
); return (unsigned int) -1; } } return (unsigned int) value;
}
53907 }
53908 } else {
53909#if CYTHON_COMPILING_IN_CPYTHON1 && PY_MAJOR_VERSION2 >= 3
53910 #if CYTHON_USE_PYLONG_INTERNALS0
53911 if (sizeof(digit) <= sizeof(unsigned int)) {
53912 switch (Py_SIZE(x)(((PyVarObject*)(x))->ob_size)) {
53913 case 0: return 0;
53914 case 1: return +(unsigned int) ((PyLongObject*)x)->ob_digit[0];
53915 case -1: return -(unsigned int) ((PyLongObject*)x)->ob_digit[0];
53916 }
53917 }
53918 #endif
53919#endif
53920 if (sizeof(unsigned int) <= sizeof(long)) {
53921 __PYX_VERIFY_RETURN_INT(unsigned int, long, PyLong_AsLong){ long value = PyLong_AsLong(x); if (sizeof(unsigned int) <
sizeof(long)) { if (__builtin_expect(!!(value != (long) (unsigned
int) value), 0)) { long zero = 0; PyErr_SetString(PyExc_OverflowError
, (is_unsigned && __builtin_expect(!!(value < zero
), 0)) ? "can't convert negative value to " "unsigned int" : "value too large to convert to "
"unsigned int"); return (unsigned int) -1; } } return (unsigned
int) value; }
53922 } else if (sizeof(unsigned int) <= sizeof(long long)) {
53923 __PYX_VERIFY_RETURN_INT(unsigned int, long long, PyLong_AsLongLong){ long long value = PyLong_AsLongLong(x); if (sizeof(unsigned
int) < sizeof(long long)) { if (__builtin_expect(!!(value
!= (long long) (unsigned int) value), 0)) { long long zero =
0; PyErr_SetString(PyExc_OverflowError, (is_unsigned &&
__builtin_expect(!!(value < zero), 0)) ? "can't convert negative value to "
"unsigned int" : "value too large to convert to " "unsigned int"
); return (unsigned int) -1; } } return (unsigned int) value;
}
53924 }
53925 }
53926 {
53927#if CYTHON_COMPILING_IN_PYPY0 && !defined(_PyLong_AsByteArray)
53928 PyErr_SetString(PyExc_RuntimeError,
53929 "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
53930#else
53931 unsigned int val;
53932 PyObject *v = __Pyx_PyNumber_Int(x);
53933 #if PY_MAJOR_VERSION2 < 3
53934 if (likely(v)__builtin_expect(!!(v), 1) && !PyLong_Check(v)((((((PyObject*)(v))->ob_type))->tp_flags & ((1L<<
24))) != 0)
) {
53935 PyObject *tmp = v;
53936 v = PyNumber_Long(tmp);
53937 Py_DECREF(tmp)do { if ( --((PyObject*)(tmp))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(tmp)))); } while (0)
;
53938 }
53939 #endif
53940 if (likely(v)__builtin_expect(!!(v), 1)) {
53941 int one = 1; int is_little = (int)*(unsigned char *)&one;
53942 unsigned char *bytes = (unsigned char *)&val;
53943 int ret = _PyLong_AsByteArray((PyLongObject *)v,
53944 bytes, sizeof(val),
53945 is_little, !is_unsigned);
53946 Py_DECREF(v)do { if ( --((PyObject*)(v))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(v)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(v)))); } while (0)
;
53947 if (likely(!ret)__builtin_expect(!!(!ret), 1))
53948 return val;
53949 }
53950#endif
53951 return (unsigned int) -1;
53952 }
53953 } else {
53954 unsigned int val;
53955 PyObject *tmp = __Pyx_PyNumber_Int(x);
53956 if (!tmp) return (unsigned int) -1;
53957 val = __Pyx_PyInt_As_unsigned_int(tmp);
53958 Py_DECREF(tmp)do { if ( --((PyObject*)(tmp))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(tmp)))); } while (0)
;
53959 return val;
53960 }
53961}
53962
53963#if CYTHON_COMPILING_IN_CPYTHON1 && PY_MAJOR_VERSION2 >= 3
53964 #if CYTHON_USE_PYLONG_INTERNALS0
53965 #include "longintrepr.h"
53966 #endif
53967#endif
53968static CYTHON_INLINE__inline__ long __Pyx_PyInt_As_long(PyObject *x) {
53969 const long neg_one = (long) -1, const_zero = 0;
53970 const int is_unsigned = neg_one > const_zero;
53971#if PY_MAJOR_VERSION2 < 3
53972 if (likely(PyInt_Check(x))__builtin_expect(!!(((((x)->ob_type)->tp_flags & ((
1L<<23))) != 0)), 1)
) {
53973 if (sizeof(long) < sizeof(long)) {
53974 __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG){ long value = (((PyIntObject *)(x))->ob_ival); if (sizeof
(long) < sizeof(long)) { if (__builtin_expect(!!(value != (
long) (long) value), 0)) { long zero = 0; PyErr_SetString(PyExc_OverflowError
, (is_unsigned && __builtin_expect(!!(value < zero
), 0)) ? "can't convert negative value to " "long" : "value too large to convert to "
"long"); return (long) -1; } } return (long) value; }
53975 } else {
53976 long val = PyInt_AS_LONG(x)(((PyIntObject *)(x))->ob_ival);
53977 if (is_unsigned && unlikely(val < 0)__builtin_expect(!!(val < 0), 0)) {
53978 PyErr_SetString(PyExc_OverflowError,
53979 "can't convert negative value to long");
53980 return (long) -1;
53981 }
53982 return (long) val;
53983 }
53984 } else
53985#endif
53986 if (likely(PyLong_Check(x))__builtin_expect(!!(((((((PyObject*)(x))->ob_type))->tp_flags
& ((1L<<24))) != 0)), 1)
) {
53987 if (is_unsigned) {
53988#if CYTHON_COMPILING_IN_CPYTHON1 && PY_MAJOR_VERSION2 >= 3
53989 #if CYTHON_USE_PYLONG_INTERNALS0
53990 if (sizeof(digit) <= sizeof(long)) {
53991 switch (Py_SIZE(x)(((PyVarObject*)(x))->ob_size)) {
53992 case 0: return 0;
53993 case 1: return (long) ((PyLongObject*)x)->ob_digit[0];
53994 }
53995 }
53996 #endif
53997#endif
53998 if (unlikely(Py_SIZE(x) < 0)__builtin_expect(!!((((PyVarObject*)(x))->ob_size) < 0)
, 0)
) {
53999 PyErr_SetString(PyExc_OverflowError,
54000 "can't convert negative value to long");
54001 return (long) -1;
54002 }
54003 if (sizeof(long) <= sizeof(unsigned long)) {
54004 __PYX_VERIFY_RETURN_INT(long, unsigned long, PyLong_AsUnsignedLong){ unsigned long value = PyLong_AsUnsignedLong(x); if (sizeof(
long) < sizeof(unsigned long)) { if (__builtin_expect(!!(value
!= (unsigned long) (long) value), 0)) { unsigned long zero =
0; PyErr_SetString(PyExc_OverflowError, (is_unsigned &&
__builtin_expect(!!(value < zero), 0)) ? "can't convert negative value to "
"long" : "value too large to convert to " "long"); return (long
) -1; } } return (long) value; }
54005 } else if (sizeof(long) <= sizeof(unsigned long long)) {
54006 __PYX_VERIFY_RETURN_INT(long, unsigned long long, PyLong_AsUnsignedLongLong){ unsigned long long value = PyLong_AsUnsignedLongLong(x); if
(sizeof(long) < sizeof(unsigned long long)) { if (__builtin_expect
(!!(value != (unsigned long long) (long) value), 0)) { unsigned
long long zero = 0; PyErr_SetString(PyExc_OverflowError, (is_unsigned
&& __builtin_expect(!!(value < zero), 0)) ? "can't convert negative value to "
"long" : "value too large to convert to " "long"); return (long
) -1; } } return (long) value; }
54007 }
54008 } else {
54009#if CYTHON_COMPILING_IN_CPYTHON1 && PY_MAJOR_VERSION2 >= 3
54010 #if CYTHON_USE_PYLONG_INTERNALS0
54011 if (sizeof(digit) <= sizeof(long)) {
54012 switch (Py_SIZE(x)(((PyVarObject*)(x))->ob_size)) {
54013 case 0: return 0;
54014 case 1: return +(long) ((PyLongObject*)x)->ob_digit[0];
54015 case -1: return -(long) ((PyLongObject*)x)->ob_digit[0];
54016 }
54017 }
54018 #endif
54019#endif
54020 if (sizeof(long) <= sizeof(long)) {
54021 __PYX_VERIFY_RETURN_INT(long, long, PyLong_AsLong){ long value = PyLong_AsLong(x); if (sizeof(long) < sizeof
(long)) { if (__builtin_expect(!!(value != (long) (long) value
), 0)) { long zero = 0; PyErr_SetString(PyExc_OverflowError, (
is_unsigned && __builtin_expect(!!(value < zero), 0
)) ? "can't convert negative value to " "long" : "value too large to convert to "
"long"); return (long) -1; } } return (long) value; }
54022 } else if (sizeof(long) <= sizeof(long long)) {
54023 __PYX_VERIFY_RETURN_INT(long, long long, PyLong_AsLongLong){ long long value = PyLong_AsLongLong(x); if (sizeof(long) <
sizeof(long long)) { if (__builtin_expect(!!(value != (long long
) (long) value), 0)) { long long zero = 0; PyErr_SetString(PyExc_OverflowError
, (is_unsigned && __builtin_expect(!!(value < zero
), 0)) ? "can't convert negative value to " "long" : "value too large to convert to "
"long"); return (long) -1; } } return (long) value; }
54024 }
54025 }
54026 {
54027#if CYTHON_COMPILING_IN_PYPY0 && !defined(_PyLong_AsByteArray)
54028 PyErr_SetString(PyExc_RuntimeError,
54029 "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
54030#else
54031 long val;
54032 PyObject *v = __Pyx_PyNumber_Int(x);
54033 #if PY_MAJOR_VERSION2 < 3
54034 if (likely(v)__builtin_expect(!!(v), 1) && !PyLong_Check(v)((((((PyObject*)(v))->ob_type))->tp_flags & ((1L<<
24))) != 0)
) {
54035 PyObject *tmp = v;
54036 v = PyNumber_Long(tmp);
54037 Py_DECREF(tmp)do { if ( --((PyObject*)(tmp))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(tmp)))); } while (0)
;
54038 }
54039 #endif
54040 if (likely(v)__builtin_expect(!!(v), 1)) {
54041 int one = 1; int is_little = (int)*(unsigned char *)&one;
54042 unsigned char *bytes = (unsigned char *)&val;
54043 int ret = _PyLong_AsByteArray((PyLongObject *)v,
54044 bytes, sizeof(val),
54045 is_little, !is_unsigned);
54046 Py_DECREF(v)do { if ( --((PyObject*)(v))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(v)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(v)))); } while (0)
;
54047 if (likely(!ret)__builtin_expect(!!(!ret), 1))
54048 return val;
54049 }
54050#endif
54051 return (long) -1;
54052 }
54053 } else {
54054 long val;
54055 PyObject *tmp = __Pyx_PyNumber_Int(x);
54056 if (!tmp) return (long) -1;
54057 val = __Pyx_PyInt_As_long(tmp);
54058 Py_DECREF(tmp)do { if ( --((PyObject*)(tmp))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(tmp)))); } while (0)
;
54059 return val;
54060 }
54061}
54062
54063static int __Pyx_check_binary_version(void) {
54064 char ctversion[4], rtversion[4];
54065 PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION2, PY_MINOR_VERSION7);
54066 PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
54067 if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
54068 char message[200];
54069 PyOS_snprintf(message, sizeof(message),
54070 "compiletime version %s of module '%.100s' "
54071 "does not match runtime version %s",
54072 ctversion, __Pyx_MODULE_NAME"xmmsapi", rtversion);
54073 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
< 0x02050000
54074 return PyErr_Warn(NULL, message)PyErr_WarnEx(((void*)0), message, 1);
54075 #else
54076 return PyErr_WarnEx(NULL((void*)0), message, 1);
54077 #endif
54078 }
54079 return 0;
54080}
54081
54082static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig) {
54083 PyObject *d = 0;
54084 PyObject *cobj = 0;
54085 union {
54086 void (*fp)(void);
54087 void *p;
54088 } tmp;
54089 d = PyObject_GetAttrString(__pyx_m, (char *)"__pyx_capi__");
54090 if (!d) {
54091 PyErr_Clear();
54092 d = PyDict_New();
54093 if (!d)
54094 goto bad;
54095 Py_INCREF(d)( ((PyObject*)(d))->ob_refcnt++);
54096 if (PyModule_AddObject(__pyx_m, (char *)"__pyx_capi__", d) < 0)
54097 goto bad;
54098 }
54099 tmp.fp = f;
54100#if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x02070000 && !(PY_MAJOR_VERSION2==3&&PY_MINOR_VERSION7==0)
54101 cobj = PyCapsule_New(tmp.p, sig, 0);
54102#else
54103 cobj = PyCObject_FromVoidPtrAndDesc(tmp.p, (void *)sig, 0);
54104#endif
54105 if (!cobj)
54106 goto bad;
54107 if (PyDict_SetItemString(d, name, cobj) < 0)
54108 goto bad;
54109 Py_DECREF(cobj)do { if ( --((PyObject*)(cobj))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(cobj)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(cobj)))); } while (0)
;
54110 Py_DECREF(d)do { if ( --((PyObject*)(d))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(d)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(d)))); } while (0)
;
54111 return 0;
54112bad:
54113 Py_XDECREF(cobj)do { if ((cobj) == ((void*)0)) ; else do { if ( --((PyObject*
)(cobj))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(cobj)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(cobj)))); } while (0); } while (0)
;
54114 Py_XDECREF(d)do { if ((d) == ((void*)0)) ; else do { if ( --((PyObject*)(d
))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(
d)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(d
)))); } while (0); } while (0)
;
54115 return -1;
54116}
54117
54118#ifndef __PYX_HAVE_RT_ImportModule
54119#define __PYX_HAVE_RT_ImportModule
54120static PyObject *__Pyx_ImportModule(const char *name) {
54121 PyObject *py_name = 0;
54122 PyObject *py_module = 0;
54123 py_name = __Pyx_PyIdentifier_FromString(name)PyString_FromString(name);
54124 if (!py_name)
54125 goto bad;
54126 py_module = PyImport_Import(py_name);
54127 Py_DECREF(py_name)do { if ( --((PyObject*)(py_name))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(py_name)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(py_name)))); } while (0)
;
54128 return py_module;
54129bad:
54130 Py_XDECREF(py_name)do { if ((py_name) == ((void*)0)) ; else do { if ( --((PyObject
*)(py_name))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(py_name)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(py_name)))); } while (0); } while (0)
;
54131 return 0;
54132}
54133#endif
54134
54135#ifndef __PYX_HAVE_RT_ImportType
54136#define __PYX_HAVE_RT_ImportType
54137static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name,
54138 size_t size, int strict)
54139{
54140 PyObject *py_module = 0;
54141 PyObject *result = 0;
54142 PyObject *py_name = 0;
54143 char warning[200];
54144 Py_ssize_t basicsize;
54145#ifdef Py_LIMITED_API
54146 PyObject *py_basicsize;
54147#endif
54148 py_module = __Pyx_ImportModule(module_name);
54149 if (!py_module)
54150 goto bad;
54151 py_name = __Pyx_PyIdentifier_FromString(class_name)PyString_FromString(class_name);
54152 if (!py_name)
54153 goto bad;
54154 result = PyObject_GetAttr(py_module, py_name);
54155 Py_DECREF(py_name)do { if ( --((PyObject*)(py_name))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(py_name)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(py_name)))); } while (0)
;
54156 py_name = 0;
54157 Py_DECREF(py_module)do { if ( --((PyObject*)(py_module))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(py_module)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(py_module)))); } while (
0)
;
54158 py_module = 0;
54159 if (!result)
54160 goto bad;
54161 if (!PyType_Check(result)((((((PyObject*)(result))->ob_type))->tp_flags & ((
1L<<31))) != 0)
) {
54162 PyErr_Format(PyExc_TypeError,
54163 "%.200s.%.200s is not a type object",
54164 module_name, class_name);
54165 goto bad;
54166 }
54167#ifndef Py_LIMITED_API
54168 basicsize = ((PyTypeObject *)result)->tp_basicsize;
54169#else
54170 py_basicsize = PyObject_GetAttrString(result, "__basicsize__");
54171 if (!py_basicsize)
54172 goto bad;
54173 basicsize = PyLong_AsSsize_t(py_basicsize);
54174 Py_DECREF(py_basicsize)do { if ( --((PyObject*)(py_basicsize))->ob_refcnt != 0) ;
else ( (*(((PyObject*)((PyObject *)(py_basicsize)))->ob_type
)->tp_dealloc)((PyObject *)((PyObject *)(py_basicsize))));
} while (0)
;
54175 py_basicsize = 0;
54176 if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred())
54177 goto bad;
54178#endif
54179 if (!strict && (size_t)basicsize > size) {
54180 PyOS_snprintf(warning, sizeof(warning),
54181 "%s.%s size changed, may indicate binary incompatibility",
54182 module_name, class_name);
54183 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
< 0x02050000
54184 if (PyErr_Warn(NULL, warning)PyErr_WarnEx(((void*)0), warning, 1) < 0) goto bad;
54185 #else
54186 if (PyErr_WarnEx(NULL((void*)0), warning, 0) < 0) goto bad;
54187 #endif
54188 }
54189 else if ((size_t)basicsize != size) {
54190 PyErr_Format(PyExc_ValueError,
54191 "%.200s.%.200s has the wrong size, try recompiling",
54192 module_name, class_name);
54193 goto bad;
54194 }
54195 return (PyTypeObject *)result;
54196bad:
54197 Py_XDECREF(py_module)do { if ((py_module) == ((void*)0)) ; else do { if ( --((PyObject
*)(py_module))->ob_refcnt != 0) ; else ( (*(((PyObject*)((
PyObject *)(py_module)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(py_module)))); } while (0); } while (0)
;
54198 Py_XDECREF(result)do { if ((result) == ((void*)0)) ; else do { if ( --((PyObject
*)(result))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(result)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(result)))); } while (0); } while (0)
;
54199 return NULL((void*)0);
54200}
54201#endif
54202
54203#ifndef __PYX_HAVE_RT_ImportFunction
54204#define __PYX_HAVE_RT_ImportFunction
54205static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
54206 PyObject *d = 0;
54207 PyObject *cobj = 0;
54208 union {
54209 void (*fp)(void);
54210 void *p;
54211 } tmp;
54212 d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
54213 if (!d)
54214 goto bad;
54215 cobj = PyDict_GetItemString(d, funcname);
54216 if (!cobj) {
54217 PyErr_Format(PyExc_ImportError,
54218 "%.200s does not export expected C function %.200s",
54219 PyModule_GetName(module), funcname);
54220 goto bad;
54221 }
54222#if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x02070000 && !(PY_MAJOR_VERSION2==3 && PY_MINOR_VERSION7==0)
54223 if (!PyCapsule_IsValid(cobj, sig)) {
54224 PyErr_Format(PyExc_TypeError,
54225 "C function %.200s.%.200s has wrong signature (expected %.500s, got %.500s)",
54226 PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
54227 goto bad;
54228 }
54229 tmp.p = PyCapsule_GetPointer(cobj, sig);
54230#else
54231 {const char *desc, *s1, *s2;
54232 desc = (const char *)PyCObject_GetDesc(cobj);
54233 if (!desc)
54234 goto bad;
54235 s1 = desc; s2 = sig;
54236 while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
54237 if (*s1 != *s2) {
54238 PyErr_Format(PyExc_TypeError,
54239 "C function %.200s.%.200s has wrong signature (expected %.500s, got %.500s)",
54240 PyModule_GetName(module), funcname, sig, desc);
54241 goto bad;
54242 }
54243 tmp.p = PyCObject_AsVoidPtr(cobj);}
54244#endif
54245 *f = tmp.fp;
54246 if (!(*f))
54247 goto bad;
54248 Py_DECREF(d)do { if ( --((PyObject*)(d))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(d)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(d)))); } while (0)
;
54249 return 0;
54250bad:
54251 Py_XDECREF(d)do { if ((d) == ((void*)0)) ; else do { if ( --((PyObject*)(d
))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject *)(
d)))->ob_type)->tp_dealloc)((PyObject *)((PyObject *)(d
)))); } while (0); } while (0)
;
54252 return -1;
54253}
54254#endif
54255
54256static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
54257 int start = 0, mid = 0, end = count - 1;
54258 if (end >= 0 && code_line > entries[end].code_line) {
54259 return count;
54260 }
54261 while (start < end) {
54262 mid = (start + end) / 2;
54263 if (code_line < entries[mid].code_line) {
54264 end = mid;
54265 } else if (code_line > entries[mid].code_line) {
54266 start = mid + 1;
54267 } else {
54268 return mid;
54269 }
54270 }
54271 if (code_line <= entries[mid].code_line) {
54272 return mid;
54273 } else {
54274 return mid + 1;
54275 }
54276}
54277static PyCodeObject *__pyx_find_code_object(int code_line) {
54278 PyCodeObject* code_object;
54279 int pos;
54280 if (unlikely(!code_line)__builtin_expect(!!(!code_line), 0) || unlikely(!__pyx_code_cache.entries)__builtin_expect(!!(!__pyx_code_cache.entries), 0)) {
54281 return NULL((void*)0);
54282 }
54283 pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
54284 if (unlikely(pos >= __pyx_code_cache.count)__builtin_expect(!!(pos >= __pyx_code_cache.count), 0) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)__builtin_expect(!!(__pyx_code_cache.entries[pos].code_line !=
code_line), 0)
) {
54285 return NULL((void*)0);
54286 }
54287 code_object = __pyx_code_cache.entries[pos].code_object;
54288 Py_INCREF(code_object)( ((PyObject*)(code_object))->ob_refcnt++);
54289 return code_object;
54290}
54291static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
54292 int pos, i;
54293 __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
54294 if (unlikely(!code_line)__builtin_expect(!!(!code_line), 0)) {
54295 return;
54296 }
54297 if (unlikely(!entries)__builtin_expect(!!(!entries), 0)) {
54298 entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
54299 if (likely(entries)__builtin_expect(!!(entries), 1)) {
54300 __pyx_code_cache.entries = entries;
54301 __pyx_code_cache.max_count = 64;
54302 __pyx_code_cache.count = 1;
54303 entries[0].code_line = code_line;
54304 entries[0].code_object = code_object;
54305 Py_INCREF(code_object)( ((PyObject*)(code_object))->ob_refcnt++);
54306 }
54307 return;
54308 }
54309 pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
54310 if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)__builtin_expect(!!(__pyx_code_cache.entries[pos].code_line ==
code_line), 0)
) {
54311 PyCodeObject* tmp = entries[pos].code_object;
54312 entries[pos].code_object = code_object;
54313 Py_DECREF(tmp)do { if ( --((PyObject*)(tmp))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(tmp)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(tmp)))); } while (0)
;
54314 return;
54315 }
54316 if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
54317 int new_max = __pyx_code_cache.max_count + 64;
54318 entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
54319 __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry));
54320 if (unlikely(!entries)__builtin_expect(!!(!entries), 0)) {
54321 return;
54322 }
54323 __pyx_code_cache.entries = entries;
54324 __pyx_code_cache.max_count = new_max;
54325 }
54326 for (i=__pyx_code_cache.count; i>pos; i--) {
54327 entries[i] = entries[i-1];
54328 }
54329 entries[pos].code_line = code_line;
54330 entries[pos].code_object = code_object;
54331 __pyx_code_cache.count++;
54332 Py_INCREF(code_object)( ((PyObject*)(code_object))->ob_refcnt++);
54333}
54334
54335#include "compile.h"
54336#include "frameobject.h"
54337#include "traceback.h"
54338static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
54339 const char *funcname, int c_line,
54340 int py_line, const char *filename) {
54341 PyCodeObject *py_code = 0;
54342 PyObject *py_srcfile = 0;
54343 PyObject *py_funcname = 0;
54344 #if PY_MAJOR_VERSION2 < 3
54345 py_srcfile = PyString_FromString(filename);
54346 #else
54347 py_srcfile = PyUnicode_FromStringPyUnicodeUCS4_FromString(filename);
54348 #endif
54349 if (!py_srcfile) goto bad;
54350 if (c_line) {
54351 #if PY_MAJOR_VERSION2 < 3
54352 py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
54353 #else
54354 py_funcname = PyUnicode_FromFormatPyUnicodeUCS4_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
54355 #endif
54356 }
54357 else {
54358 #if PY_MAJOR_VERSION2 < 3
54359 py_funcname = PyString_FromString(funcname);
54360 #else
54361 py_funcname = PyUnicode_FromStringPyUnicodeUCS4_FromString(funcname);
54362 #endif
54363 }
54364 if (!py_funcname) goto bad;
54365 py_code = __Pyx_PyCode_New(PyCode_New(0 +0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple
, py_srcfile, py_funcname, py_line, __pyx_empty_bytes)
54366 0, /*int argcount,*/PyCode_New(0 +0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple
, py_srcfile, py_funcname, py_line, __pyx_empty_bytes)
54367 0, /*int kwonlyargcount,*/PyCode_New(0 +0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple
, py_srcfile, py_funcname, py_line, __pyx_empty_bytes)
54368 0, /*int nlocals,*/PyCode_New(0 +0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple
, py_srcfile, py_funcname, py_line, __pyx_empty_bytes)
54369 0, /*int stacksize,*/PyCode_New(0 +0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple
, py_srcfile, py_funcname, py_line, __pyx_empty_bytes)
54370 0, /*int flags,*/PyCode_New(0 +0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple
, py_srcfile, py_funcname, py_line, __pyx_empty_bytes)
54371 __pyx_empty_bytes, /*PyObject *code,*/PyCode_New(0 +0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple
, py_srcfile, py_funcname, py_line, __pyx_empty_bytes)
54372 __pyx_empty_tuple, /*PyObject *consts,*/PyCode_New(0 +0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple
, py_srcfile, py_funcname, py_line, __pyx_empty_bytes)
54373 __pyx_empty_tuple, /*PyObject *names,*/PyCode_New(0 +0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple
, py_srcfile, py_funcname, py_line, __pyx_empty_bytes)
54374 __pyx_empty_tuple, /*PyObject *varnames,*/PyCode_New(0 +0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple
, py_srcfile, py_funcname, py_line, __pyx_empty_bytes)
54375 __pyx_empty_tuple, /*PyObject *freevars,*/PyCode_New(0 +0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple
, py_srcfile, py_funcname, py_line, __pyx_empty_bytes)
54376 __pyx_empty_tuple, /*PyObject *cellvars,*/PyCode_New(0 +0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple
, py_srcfile, py_funcname, py_line, __pyx_empty_bytes)
54377 py_srcfile, /*PyObject *filename,*/PyCode_New(0 +0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple
, py_srcfile, py_funcname, py_line, __pyx_empty_bytes)
54378 py_funcname, /*PyObject *name,*/PyCode_New(0 +0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple
, py_srcfile, py_funcname, py_line, __pyx_empty_bytes)
54379 py_line, /*int firstlineno,*/PyCode_New(0 +0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple
, py_srcfile, py_funcname, py_line, __pyx_empty_bytes)
54380 __pyx_empty_bytes /*PyObject *lnotab*/PyCode_New(0 +0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple
, py_srcfile, py_funcname, py_line, __pyx_empty_bytes)
54381 )PyCode_New(0 +0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple
, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple
, py_srcfile, py_funcname, py_line, __pyx_empty_bytes)
;
54382 Py_DECREF(py_srcfile)do { if ( --((PyObject*)(py_srcfile))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(py_srcfile)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(py_srcfile)))); } while
(0)
;
54383 Py_DECREF(py_funcname)do { if ( --((PyObject*)(py_funcname))->ob_refcnt != 0) ; else
( (*(((PyObject*)((PyObject *)(py_funcname)))->ob_type)->
tp_dealloc)((PyObject *)((PyObject *)(py_funcname)))); } while
(0)
;
54384 return py_code;
54385bad:
54386 Py_XDECREF(py_srcfile)do { if ((py_srcfile) == ((void*)0)) ; else do { if ( --((PyObject
*)(py_srcfile))->ob_refcnt != 0) ; else ( (*(((PyObject*)(
(PyObject *)(py_srcfile)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(py_srcfile)))); } while (0); } while (0)
;
54387 Py_XDECREF(py_funcname)do { if ((py_funcname) == ((void*)0)) ; else do { if ( --((PyObject
*)(py_funcname))->ob_refcnt != 0) ; else ( (*(((PyObject*)
((PyObject *)(py_funcname)))->ob_type)->tp_dealloc)((PyObject
*)((PyObject *)(py_funcname)))); } while (0); } while (0)
;
54388 return NULL((void*)0);
54389}
54390static void __Pyx_AddTraceback(const char *funcname, int c_line,
54391 int py_line, const char *filename) {
54392 PyCodeObject *py_code = 0;
54393 PyObject *py_globals = 0;
54394 PyFrameObject *py_frame = 0;
54395 py_code = __pyx_find_code_object(c_line ? c_line : py_line);
54396 if (!py_code) {
54397 py_code = __Pyx_CreateCodeObjectForTraceback(
54398 funcname, c_line, py_line, filename);
54399 if (!py_code) goto bad;
54400 __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
54401 }
54402 py_globals = PyModule_GetDict(__pyx_m);
54403 if (!py_globals) goto bad;
54404 py_frame = PyFrame_New(
54405 PyThreadState_GET()(_PyThreadState_Current), /*PyThreadState *tstate,*/
54406 py_code, /*PyCodeObject *code,*/
54407 py_globals, /*PyObject *globals,*/
54408 0 /*PyObject *locals*/
54409 );
54410 if (!py_frame) goto bad;
54411 py_frame->f_lineno = py_line;
54412 PyTraceBack_Here(py_frame);
54413bad:
54414 Py_XDECREF(py_code)do { if ((py_code) == ((void*)0)) ; else do { if ( --((PyObject
*)(py_code))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(py_code)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(py_code)))); } while (0); } while (0)
;
54415 Py_XDECREF(py_frame)do { if ((py_frame) == ((void*)0)) ; else do { if ( --((PyObject
*)(py_frame))->ob_refcnt != 0) ; else ( (*(((PyObject*)((PyObject
*)(py_frame)))->ob_type)->tp_dealloc)((PyObject *)((PyObject
*)(py_frame)))); } while (0); } while (0)
;
54416}
54417
54418static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
54419 while (t->p) {
54420 #if PY_MAJOR_VERSION2 < 3
54421 if (t->is_unicode) {
54422 *t->p = PyUnicode_DecodeUTF8PyUnicodeUCS4_DecodeUTF8(t->s, t->n - 1, NULL((void*)0));
54423 } else if (t->intern) {
54424 *t->p = PyString_InternFromString(t->s);
54425 } else {
54426 *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
54427 }
54428 #else /* Python 3+ has unicode identifiers */
54429 if (t->is_unicode | t->is_str) {
54430 if (t->intern) {
54431 *t->p = PyUnicode_InternFromString(t->s);
54432 } else if (t->encoding) {
54433 *t->p = PyUnicode_DecodePyUnicodeUCS4_Decode(t->s, t->n - 1, t->encoding, NULL((void*)0));
54434 } else {
54435 *t->p = PyUnicode_FromStringAndSizePyUnicodeUCS4_FromStringAndSize(t->s, t->n - 1);
54436 }
54437 } else {
54438 *t->p = PyBytes_FromStringAndSizePyString_FromStringAndSize(t->s, t->n - 1);
54439 }
54440 #endif
54441 if (!*t->p)
54442 return -1;
54443 ++t;
54444 }
54445 return 0;
54446}
54447
54448static CYTHON_INLINE__inline__ PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
54449 return __Pyx_PyUnicode_FromStringAndSize(c_str, strlen(c_str))PyUnicodeUCS4_Decode(c_str, strlen(c_str), "", ((void*)0));
54450}
54451static CYTHON_INLINE__inline__ char* __Pyx_PyObject_AsString(PyObject* o) {
54452 Py_ssize_t ignore;
54453 return __Pyx_PyObject_AsStringAndSize(o, &ignore);
54454}
54455static CYTHON_INLINE__inline__ char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
54456#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII0 || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT0
54457 if (
54458#if PY_MAJOR_VERSION2 < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII0
54459 __Pyx_sys_getdefaultencoding_not_ascii &&
54460#endif
54461 PyUnicode_Check(o)((((((PyObject*)(o))->ob_type))->tp_flags & ((1L<<
28))) != 0)
) {
54462#if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
< 0x03030000
54463 char* defenc_c;
54464 PyObject* defenc = _PyUnicode_AsDefaultEncodedString_PyUnicodeUCS4_AsDefaultEncodedString(o, NULL((void*)0));
54465 if (!defenc) return NULL((void*)0);
54466 defenc_c = PyBytes_AS_STRING(defenc)(((PyStringObject *)(defenc))->ob_sval);
54467#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII0
54468 {
54469 char* end = defenc_c + PyBytes_GET_SIZE(defenc)(((PyVarObject*)(defenc))->ob_size);
54470 char* c;
54471 for (c = defenc_c; c < end; c++) {
54472 if ((unsigned char) (*c) >= 128) {
54473 PyUnicode_AsASCIIStringPyUnicodeUCS4_AsASCIIString(o);
54474 return NULL((void*)0);
54475 }
54476 }
54477 }
54478#endif /*__PYX_DEFAULT_STRING_ENCODING_IS_ASCII*/
54479 *length = PyBytes_GET_SIZE(defenc)(((PyVarObject*)(defenc))->ob_size);
54480 return defenc_c;
54481#else /* PY_VERSION_HEX < 0x03030000 */
54482 if (PyUnicode_READY(o) == -1) return NULL((void*)0);
54483#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII0
54484 if (PyUnicode_IS_ASCII(o)) {
54485 *length = PyUnicode_GET_LENGTH(o);
54486 return PyUnicode_AsUTF8(o);
54487 } else {
54488 PyUnicode_AsASCIIStringPyUnicodeUCS4_AsASCIIString(o);
54489 return NULL((void*)0);
54490 }
54491#else /* __PYX_DEFAULT_STRING_ENCODING_IS_ASCII */
54492 return PyUnicode_AsUTF8AndSize(o, length);
54493#endif /* __PYX_DEFAULT_STRING_ENCODING_IS_ASCII */
54494#endif /* PY_VERSION_HEX < 0x03030000 */
54495 } else
54496#endif /* __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT */
54497#if !CYTHON_COMPILING_IN_PYPY0
54498#if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
>= 0x02060000
54499 if (PyByteArray_Check(o)((((PyObject*)(o))->ob_type) == (&PyByteArray_Type) ||
PyType_IsSubtype((((PyObject*)(o))->ob_type), (&PyByteArray_Type
)))
) {
54500 *length = PyByteArray_GET_SIZE(o)(((void) (0)),(((PyVarObject*)(o))->ob_size));
54501 return PyByteArray_AS_STRING(o)(((void) (0)), (((PyVarObject*)(o))->ob_size) ? ((PyByteArrayObject
*)(o))->ob_bytes : _PyByteArray_empty_string)
;
54502 } else
54503#endif
54504#endif
54505 {
54506 char* result;
54507 int r = PyBytes_AsStringAndSizePyString_AsStringAndSize(o, &result, length);
54508 if (unlikely(r < 0)__builtin_expect(!!(r < 0), 0)) {
54509 return NULL((void*)0);
54510 } else {
54511 return result;
54512 }
54513 }
54514}
54515static CYTHON_INLINE__inline__ int __Pyx_PyObject_IsTrue(PyObject* x) {
54516 int is_true = x == Py_True((PyObject *) &_Py_TrueStruct);
54517 if (is_true | (x == Py_False((PyObject *) &_Py_ZeroStruct)) | (x == Py_None(&_Py_NoneStruct))) return is_true;
54518 else return PyObject_IsTrue(x);
54519}
54520static CYTHON_INLINE__inline__ PyObject* __Pyx_PyNumber_Int(PyObject* x) {
54521 PyNumberMethods *m;
54522 const char *name = NULL((void*)0);
54523 PyObject *res = NULL((void*)0);
54524#if PY_MAJOR_VERSION2 < 3
54525 if (PyInt_Check(x)((((x)->ob_type)->tp_flags & ((1L<<23))) != 0
)
|| PyLong_Check(x)((((((PyObject*)(x))->ob_type))->tp_flags & ((1L<<
24))) != 0)
)
54526#else
54527 if (PyLong_Check(x)((((((PyObject*)(x))->ob_type))->tp_flags & ((1L<<
24))) != 0)
)
54528#endif
54529 return Py_INCREF(x)( ((PyObject*)(x))->ob_refcnt++), x;
54530 m = Py_TYPE(x)(((PyObject*)(x))->ob_type)->tp_as_number;
54531#if PY_MAJOR_VERSION2 < 3
54532 if (m && m->nb_int) {
54533 name = "int";
54534 res = PyNumber_Int(x);
54535 }
54536 else if (m && m->nb_long) {
54537 name = "long";
54538 res = PyNumber_Long(x);
54539 }
54540#else
54541 if (m && m->nb_int) {
54542 name = "int";
54543 res = PyNumber_Long(x);
54544 }
54545#endif
54546 if (res) {
54547#if PY_MAJOR_VERSION2 < 3
54548 if (!PyInt_Check(res)((((res)->ob_type)->tp_flags & ((1L<<23))) !=
0)
&& !PyLong_Check(res)((((((PyObject*)(res))->ob_type))->tp_flags & ((1L<<
24))) != 0)
) {
54549#else
54550 if (!PyLong_Check(res)((((((PyObject*)(res))->ob_type))->tp_flags & ((1L<<
24))) != 0)
) {
54551#endif
54552 PyErr_Format(PyExc_TypeError,
54553 "__%.4s__ returned non-%.4s (type %.200s)",
54554 name, name, Py_TYPE(res)(((PyObject*)(res))->ob_type)->tp_name);
54555 Py_DECREF(res)do { if ( --((PyObject*)(res))->ob_refcnt != 0) ; else ( (
*(((PyObject*)((PyObject *)(res)))->ob_type)->tp_dealloc
)((PyObject *)((PyObject *)(res)))); } while (0)
;
54556 return NULL((void*)0);
54557 }
54558 }
54559 else if (!PyErr_Occurred()) {
54560 PyErr_SetString(PyExc_TypeError,
54561 "an integer is required");
54562 }
54563 return res;
54564}
54565#if CYTHON_COMPILING_IN_CPYTHON1 && PY_MAJOR_VERSION2 >= 3
54566 #if CYTHON_USE_PYLONG_INTERNALS0
54567 #include "longintrepr.h"
54568 #endif
54569#endif
54570static CYTHON_INLINE__inline__ Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
54571 Py_ssize_t ival;
54572 PyObject *x;
54573#if PY_MAJOR_VERSION2 < 3
54574 if (likely(PyInt_CheckExact(b))__builtin_expect(!!(((b)->ob_type == &PyInt_Type)), 1))
54575 return PyInt_AS_LONG(b)(((PyIntObject *)(b))->ob_ival);
54576#endif
54577 if (likely(PyLong_CheckExact(b))__builtin_expect(!!(((((PyObject*)(b))->ob_type) == &PyLong_Type
)), 1)
) {
54578 #if CYTHON_COMPILING_IN_CPYTHON1 && PY_MAJOR_VERSION2 >= 3
54579 #if CYTHON_USE_PYLONG_INTERNALS0
54580 switch (Py_SIZE(b)(((PyVarObject*)(b))->ob_size)) {
54581 case -1: return -(sdigit)((PyLongObject*)b)->ob_digit[0];
54582 case 0: return 0;
54583 case 1: return ((PyLongObject*)b)->ob_digit[0];
54584 }
54585 #endif
54586 #endif
54587 #if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
< 0x02060000
54588 return PyInt_AsSsize_t(b);
54589 #else
54590 return PyLong_AsSsize_t(b);
54591 #endif
54592 }
54593 x = PyNumber_Index(b);
54594 if (!x) return -1;
54595 ival = PyInt_AsSsize_t(x);
54596 Py_DECREF(x)do { if ( --((PyObject*)(x))->ob_refcnt != 0) ; else ( (*(
((PyObject*)((PyObject *)(x)))->ob_type)->tp_dealloc)((
PyObject *)((PyObject *)(x)))); } while (0)
;
54597 return ival;
54598}
54599static CYTHON_INLINE__inline__ PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
54600#if PY_VERSION_HEX((2 << 24) | (7 << 16) | (6 << 8) | (0xF <<
4) | (0 << 0))
< 0x02050000
54601 if (ival <= LONG_MAX9223372036854775807L)
54602 return PyInt_FromLong((long)ival);
54603 else {
54604 unsigned char *bytes = (unsigned char *) &ival;
54605 int one = 1; int little = (int)*(unsigned char*)&one;
54606 return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
54607 }
54608#else
54609 return PyInt_FromSize_t(ival);
54610#endif
54611}
54612
54613
54614#endif /* Py_PYTHON_H */